CSE 221 :
Software Development Using Components


Description

Component-based software from client programmer's perspective; intellectual foundations of software engineering; mathematical modeling; specification of object-oriented components; layering; testing and debugging layered operations.

Level and Credits

Prerequisites

Quarters Offered

General Information, Exclusions, etc.

Objectives

Texts

Sequence of Topics and Activities (Approximate)


Lecture/Activity

Closed Lab

Lab Assignment Due

Week 1
Course introduction; sample C++ programs with I/O


No Closed Lab

 

Week 2
Client view of component type; client view of component operations; Text component


Resolve/C++

 Lab 1: Home page

Week 3
Global operations; Super Text


1st Text operation


Lab 2: 2nd Text operation

Week 4
Emacs & Unix; Id_Name_Table component; Remove_First_Word spec day


Supervised work on lab 3


Lab 3: Remaining Super Text operations

Week 5
Iteration; encryption


Implementing an Id_Name_Table operation


Lab 4: Remove_First_Word

Week 6
Testing; midterm exam; debugging


Testing

Week 7
Recursion; Natural Number component


Debugging


Lab 5: File encryption/decryption

Week 8
Fast powering, Extends relation


Implementing a Natural_Number operation


Lab 6: Recursive implementations of Text operation

Week 9
Interval halving, templates, Mathematical functions


Implementing a Natural_Number extension


Lab 7: Natural_Number calculator part 1

Week 10
Performance analysis; review for final exam


Using templates


Lab 8: Natural_Number calculator part 2   and Nice_Display part 2

Lab Assignments

  1. Home page
  2. Text operation
  3. More Text operations
  4. Remove_First_Word
  5. File encryption/decryption
  6. Recursive implementations of Text operation
  7. Natural_Number calculator part 1
  8. Natural_Number calculator part 2 and Nice_Display part 2

Grading Plan

Midterm Exam

18%

Final Exam

30%

Homework Assignments

5% (total of many)

Closed Lab Assignments

8% (8@ 1% each)

Lab Assignments

23% (1@ 2%, 7@ 3% each)

In-Class Activities

16%

Important Note: A passing grade on the final exam is required in order to receive a passing grade for the course.