CSE 222 Syllabus

Winter 2010


CSE 222: Development of Software Components

Description

Templates for generalization and decoupling; container components; component-based software from implementer's perspective; data representation using layering and using pointers.

Level and Credits

Prerequisites

Quarters Offered

General Information, Exclusions, etc.

Intended Learning Outcomes

Texts

Sequence of Topics and Activities (Approximate)

Lecture/Activity Lab Assignment Due Closed Lab
Week of 1/4
Overview; review of using templates for generalization; Sequence; Set; Queue


Get_Words and Put_Words
Week of 1/11
Record; using templates for decoupling; utility classes; Sorting_Machine


Sort extension for Queue (using selection sort)
Week of 1/18 (Holiday on Monday)
Stack; how recursion works; Partial_Map

Lab #1: Resolve/C++ Pretty-Printer

Client of Partial_Map
Week of 1/25
Implementer's view; convention and correspondence; Representation


Representing a Sequence using two Stacks
Week of 2/1
Commutative diagrams; Static_Array; Array; review

Lab #2: Glossary generator

Midterm exam (during closed lab)
Week of 2/8
Hashing; mathematical binary trees; Binary_Tree


Implementing and testing a Hash operation
Week of 2/15
Binary search trees; introduction to pointers and dynamically allocated storage

Lab #3: Partial_Map using a hash table

Get_Tree and Put_Tree
Week of 2/22
Pointers and dynamically allocated storage; singly-linked list data structures


Representing a Stack using a singly-linked data structure
Week of 3/1
List; doubly-linked list data structures; ordinary C++ pointers

Lab #4: Partial_Map using a binary search tree

Adventures with C strings and C++ aliasing
Week of 3/8
Loop invariants

Lab #5 due on Thurs at 10:00 PM: List_Retreat using a doubly-linked list data structure

Review (during closed lab)

Lab Assignments

  1. Resolve/C++ pretty-printer
  2. Glossary generator
  3. Partial_Map with hash table representation using Array of Partial_Map
  4. Partial_Map with binary search tree representation using Binary_Tree of Record
  5. List_Retreat with doubly-linked list representation (using pointers)

Grading Plan

Midterm Exam 20%
Final Exam 30%
Homework Assignments 5% (total of many)
Closed Lab Assignments 8% (8 @ 1% each)
Lab Assignments 35% (5 @ 7% each)
Class Participation 2%