CS204                                               MONTGOMERY COLLEGE       Spring’2003

Computer Science, Rockville

Computer Science II

 

Tentative Schedule

 

  

33207

CS 

204 

401 

4.00  

COMPUTER SCIENCE II 

Rockville 

 

Jan 28, 2003 

May 18, 2003 

MW 

2:00 pm - 3:40 pm 

HU 

325 

 

Instructor(s): Grigoriy A. Grinberg 

  

 

 

 

 

 

 

 

 

 

 

 

35186  

CS 

204 

402 

4.00  

COMPUTER SCIENCE II 

Rockville 

 

Jan 28, 2003 

May 18, 2003 

TR 

06:30 pm - 08:10 pm 

HU 

317 

 

Instructor(s): Grigoriy A. Grinberg 

  

 

 

 

 

 

 

 

 

 

 
 

Office: Macklin Tower 406

Office Hours:        M T R 4:00pm – 5:00pm

 

                              

 

#

Week

Ch

Lecture

Topics

Assignments

1.   

1

I

1

Overview C++

Software Engineering Principles

Software Design Process

 

 

2.   

1

I

1

Verification of Software Correctness

 

 

3.   

 2

I

1

Summary

Exercises

 

4.   

 2

II

2

Data Design and Implementation

Different Views of Data

Assignment #1

5.   

 3

II

2

Abstraction and Built-in Types

 

6.   

 3

II

2

Higher Level Abstraction and the C++ Class Type

Case Study: User-Defined String I/O Class

Summary and Exercises, Quiz

 

7.   

 4

III

3

ADTs Unsorted List and Sorted List

Abstract Data Type Unsorted List

 

8.   

 4

III

3

Abstract Data Type Sorted List

 

 

9.   

 5

III

3

Comparison of Algorithms

Comparison of Unsorted and Sorted List ADT Algorithms

 

10.

 5

III

3

Class Constructors, Destructors, and Overloading Operators

Case Study: Real Estate Listings, an Object-Oriented Design

 

11.

 6

 

 

Summary

Exercises, Quiz

Assignment #2

12.

 6

IV

4

ADTs Stack and Queue

Stacks

 Case Study: Postfix Expression Evaluation

 

13.

 7

IV

4

Pointer Types

Dynamically Allocated Arrays

 

14.

 7

IV

4

More about Generics: C++ Templates

 Queues

Case Study: Simulation

 

15.

 8

IV

4

Queues

Case Study: Simulation

 Summary

Exercises

 

16.

8 03/12/03

I - IV

1 - 4

MIDTERM EXAM

 

 

03/17 -03/19

 

 

Recess for students and faculty

 

17.

 9

V

5

Linked Structures

Implementing a Stack as a Linked Structure

Implementing a Queue as a Linked Structure

Assignment #3

18.

 9

V

5

Implementing the Unsorted List as a Linked  Structure

Implementing the Sorted List as a Linked Structure

 

#

 

Ch

Lecture

Topics

Assignments

19.

 10

V

5

Implementing the Unsorted List as a Linked  Structure

Implementing the Sorted List as a Linked Structure

Summary, Exercises,

 

20.

 10

VI

6

Lists Plus

Circular Linked Lists

Doubly Linked Lists

Linked Lists with Headers and Trailers

 

21.

 11

VI

6

Copy Structures

A Specialized List ADT

A Linked List as an Array of Records ; Quiz( ch5&ch6 - part)

 

22.

 11

VI

6

Object-Oriented Design: Composition and Inheritance

Case Study: Implementing a Large Integer ADT

Summary

Exercises

 

23.

 12

VII

7

Programming with Recursion

What is Recursion?

The Classic Example of Recursion

Programming Recursively

Verifying Recursive Functions

Quiz(ch6)

Assignment #4

24.

 12

VII

7

Writing Recursive Functions

Using Recursion to Simplify Solutions

Recursive Linked List Processing

A Recursive Version of Binary Search

Recursive Versions of InsertItem and DeleteItem

How Recursion WorksTracing the Execution of Recursive Function Insert

Debugging Recursive Routines

Removing Recursion

Deciding Whether to Use a Recursive Solution

Case Study: Quick Sort

Summary,Exercises

 

25.

 13

VIII

8

Binary Search Tree

The Logical Level

Binary search Tree ADT

Application Level

Implementation Level

Recursive Binary Search Tree Operations

 Iterative Insertion and Deletion

Comparing Binary Search Trees to Linear Lists

Case Study: Building an Index

 Quiz

 

28.

13

IX

9

Tree Plus

Binary Expression Trees

A Nonlinked Representation of Binary Trees

Heaps

ADT Priority Queue Graphs

Summary

Exercises

 

29.

 14

IX

10

Sorting and Searching Algorithms

 

 

30.

 

 

 

Overview

Final Project

31.

14

05/12/03

 

 

FINAL EXAM (Covers chapters 6 -10) or

Final Project Presentation