CSE 222 Syllabus

Autumn 2009


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 9/21 (classes start Wed)
Overview; review of using templates for generalization; Sequence; Set


Get_Words and Put_Words
Week of 9/28
Queue; Record; using templates for decoupling; utility classes


Sort extension for Queue (using selection sort)
Week of 10/5
Sorting_Machine; Stack; how recursion works; Partial_Map

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

Client of Partial_Map
Week of 10/12
Implementer's view; convention and correspondence; Representation


Representing a Sequence using two Stacks
Week of 10/19
Commutative diagrams; Static_Array; Array

Lab #2: Glossary generator

Review
Week of 10/26
Midterm exam; hashing


Implementing and testing a Hash operation
Week of 11/2
Mathematical binary trees; Binary_Tree; binary search trees

Lab #3: Partial_Map using a hash table

Get_Tree and Put_Tree
Week of 11/9 (no class on Wed)
Pointers and dynamically allocated storage


Pointers continued (make-up class for Wed holiday; meet in DL 280)
Week of 11/16
Pointers continued; List

Lab #4: Partial_Map using a binary search tree

Representing a Stack using a singly-linked data structure
Week of 11/23 (no class on Wed, Thurs, or Fri)
Ordinary C++ pointers


Week of 11/30
Loop invariants; review

Lab #5: List_Retreat using a doubly-linked list data structure

Adventures with C strings and C++ aliasing

Lab Assignments

  1. Resolve/C++ pretty-printer
  2. Glossary generator
  3. Partial_Map with hash table representation using Array of Queue of Record
  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%