Fundamentals of Computer Science II (CSC-152 99S)

Course Syllabus

This is a highly approximate syllabus. Expect topics, assignments, ordering, and almost everything else to change. Note that there are also a few additional topics that I hope to sneak in.

Week One: Introduction

Class 01 (Monday, January 25) Introduction

Class 02 (Tuesday, January 26) Introduction to Java

Class 03 (Wednesday, January 27) Classes and Objects

Class 04 (Friday, January 29) More Classes and Objects

Week Two: Object-Oriented Programming

Class 05 (Monday, February 1) Even More Classes and Objects

Class 06 (Tuesday, February 2) Conditionals

Class 07 (Wednesday, February 3) Loops

Class 08 (Friday, February 5) Building Graphical Programs

Week Three: Java Wrapup

Class 09 (Monday, February 8) When Things Go Wrong

Class 10 (Tuesday, February 9) Inheritance and Interfaces

Class 11 (Wednesday, February 10) Java's Abstract Windowing Toolkit

Class 12 (Friday, February 12) Java's Abstract Windowing Toolkit, Revisited

Week Four: Algorithm Analysis

Class 13 (Monday, February 15) Documentation and Testing

Class 14 (Tuesday, February 16) Arrays and Sequences

Class 15 (Wednesday, February 17) Algorithm Analysis

Class 16 (Friday, February 19) Recursion

Week Five: Recursion

Class 17 (Monday, February 22) Binary Search

Class 18 (Tuesday, February 23) Recursion, Revisited

Class 19 (Wednesday, February 24) A Stamp Problem

Class 20 (Friday, February 26) Sorting Algorithms

Week Six: Sorting

Class 21 (Monday, March 1) More Efficient Sorting Algorithms

Class 22 (Tuesday, March 2) Sorting Lab

Class 23 (Wednesday, March 3) Special Discussion

Class 24 (Friday, March 5) The Design of Lists

Week Seven: Lists

Class 25 (Monday, March 8) Discussion of Exam 1

Class 26 (Tuesday, March 9) Implementing Lists

Class 27 (Wednesday, March 10) Vectors

Class 28 (Friday, March 12) Linked Lists

Week Eight: Design

Class 29 (Monday, March 15) Lists, Concluded

Class 30 (Tuesday, March 16) Object-Oriented Design (1)

Class 31 (Wednesday, March 17) Object-Oriented Design (2)

Class 32 (Friday, March 19) Animation


Break runs from 5:00 p.m. on Friday, March 19, 1998 to 8:00 a.m. on Monday, April 5.

Week Nine: Machine-Level Issues

Class 33 (Monday, April 5) Introduction to Machine Representation

Class 34 (Tuesday, April 6) More Binary Representation

Class 35 (Wednesday, April 7) Other Machine-Level issues

Class 36 (Friday, April 9) Design, Revisited

Week Ten: Linear Structures

Class 37 (Monday, April 12) Introdution to Linear Structures

Class 38 (Tuesday, April 13) Stacks

Class 39 (Wednesday, April 14) Stack lab

Class 40 (Friday, April 16) Linear Structures for Solving Puzzles

Week Eleven: Dictionaries

Class 41 (Monday, April 19) Dictionaries

Class 42 (Tuesday, April 20) Hash Tables

Class 43 (Wednesday, April 21) Project Discussion

Class 44 (Friday, April 23) Project Discussion, Continued

Week Twelve: Trees

Class 45 (Monday, April 26) Introduction to Trees

Class 46 (Tuesday, April 27) Heaps and Heap Sort

Class 47 (Wednesday, April 28) Lab: Traversing and Iterating Trees

Class 48 (Friday, April 30) Design Discussion

Week Thirteen: Graphs

Class 49 (Monday, May 3) More Design Discussions

Class 50 (Tuesday, May 4) Introduction to Graphs

Class 51 (Wednesday, May 5) Reachability

Class 52 (Friday, May 7) Reachability, Revisited; Shortest Path

Week Fourteen: Wrapup

Class 53 (Monday, May 10) Shortest Path, Revisited; Graphs, Concluded

Class 54 (Tuesday, May 11) History of Computing (1)

Class 55 (Wednesday, May 12) History of Computing (2)

Class 56 (Friday, May 14) Wrapup


The final examination for this course is optional. It can be used as a makeup for one examination. Like the other examinations, it will be a take-home examination.

Additional Topics

There are a number of additional topics that I expect to cover, perhaps in the context of another topic already on the outline.


The history will not include small changes to the summaries of individual classes. You can find more information on such changes in the individual outlines.

Monday, January 18, 1999

Tuesday, January 19, 1999

Thursday, January 21, 1999

Friday, January 22, 1999

Monday, January 25, 1999

Tuesday, January 26, 1999

Tuesday, February 23, 1999

Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

This page may be found at

Source text last modified Tue Aug 10 13:33:55 1999.

This page generated on Tue Aug 10 13:34:05 1999 by SiteWeaver. Validate this page's HTML.

Contact our webmaster at