CSE 222 Syllabus

Spring 2008


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 6/16
Overview; review of using templates for generalization; Sequence; Set; Queue

 


Get_Words and Put_Words

Week of 6/23
Record; using templates for decoupling; utility classes; Sorting_Machine


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


Sort extension for Queue (using selection sort)

Week of 6/30
Stack; how recursion works; Partial_Map

 


Client of Partial_Map

Week of 7/7
Implementer's view; convention and correspondence; Representation


Lab #2: Glossary generator


Representing a Sequence using two Stacks

Week of 7/14
Commutative diagrams; Static_Array; Array; review

 


Midterm exam (during closed lab)

Week of 7/21
Hashing; mathematical binary trees


Lab #3: Partial_Map using a hash table


Implementing and testing a Hash operation

Week of 7/28
Binary_Tree; binary search trees

 


Get_Tree and Put_Tree

Week of 8/4
Pointers and dynamically alocated storage; List


Lab #4: Partial_Map using a binary search tree


Representing a Stack using a singly-linked data structure

Week of 8/11
Pointers continued; ordinary C++ pointers

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


Adventures with C strings and C++ aliasing

8/18
Review for final exam



None

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

8% (total of many)

Closed Lab Assignments

8% (8 @ 1% each)

Lab Assignments

30% (5 @ 6% each)

Class Participation

4%