Chabot College Fall 2002 Removed Fall 2006

advertisement
Chabot College
Fall 2002
Removed Fall 2006
Course Outline for Computer Science 22
OBJECT-ORIENTED PROGRAMMING PROJECT
Catalog Description:
Computer Science 22 – Object-Oriented Programming Project
May be repeated 2 times
1 unit
Designed for students considering transferring to UC Berkeley in Computer Science. Discussion of
objected-oriented programming methods and a large (over 1500 lines) object-oriented programming
project. Selected topics from advanced data structures (graphs, sparse matrices, AVL trees, priority
queues, etc.), memory management, interprocess communication, formal program design and
verification, software engineering, others. Recommendation of a Computer Science instructor
required. Concurrent enrollment in a UC Berkeley computer science class such as Computer
Science 61A, Computer Science 61B or Computer Science 61C recommended. Prerequisite:
Computer Science 20 or Computer Science 20J (all completed with a grade of C or higher). 3 hours
laboratory.
Prerequisite Skills:
Before entering the course the student should be able to:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
define the term abstract data type (ADT);
define a list ADT and implement list ADT as array and vector class;
implement list ADT as singly and doubly linked list class;
define a stack ADT and implement stack ADT as array (or vector) and as a linked list;
define a queue ADT and implement queue ADT as array (or vector) and as linked list;
define a binary tree ADT and implement binary tree class;
define a binary search tree ADT and derive a binary search tree class from binary tree class;
write recursive methods and explain how recursion is implemented;
implement selected iterative and recursive searching and sorting algorithms;
design and implement a search that uses a hashing function;
explain the concept of time efficiency for algorithms using Big-O notation.
Expected Outcomes for Students:
Upon completion of the course the student should be able to:
1.
design and write an object-oriented program in C++ or Java comprising at least 1500 lines
of code;
2.
describe the features and properties of selected advanced topics in computer science:
advanced data structures (sparse matrices, graphs, AVL trees, priority queues, others),
interprocess communication, memory management, formal program design and verification,
software engineering, data compression, graphics, cryptography, advanced database
management concepts, information theory, programming language concepts, compilers,
computer architecture, analysis of algorithms, or other advanced topics of interest to the
instructor and class, as selected by the instructor. Topics covered will change from term to term.
Chabot College
Course Outline for Computer Science 22
Fall 2002
Page 2
Course Content:
1. Object-oriented program design methods
2. Selected optional topics
a. Advanced data structures (graphs, sparse matrices, AVL trees, priority queues, etc.)
b. Memory management
c. Interprocess communication
d. Formal program design and verification
e. Software engineering
f. Other topics of interest
Methods of Presentation:
1. Lecture/discussion
2. Student presentations of topics of interest and their projects
3. Students’ project-related questions
Assignments and Methods of Evaluating Student Progress:
1. Typical Assignments
a. One large (at least 1500 lines) object-oriented program
b. Suggestions for projects could be simulations of real-word scenarios (road, rail, or air traffic,
grocery store customers, ambulance companies, etc., modeling the behavior of a computer
sub-system like a disk with many requests for reading or writing sectors), or a game of some
complexity, etc.
2. Methods of Evaluating Student Progress
a. Class project: Object-oriented program (at least 1500 lines)
Textbook(s) (Typical):
Program Development in Java, Barbara Liskov with John Guttag, Addison Wesley Publishers, 2001.
Special Student Materials:
Computer Lab fee
Diskettes
Optional zip disk
Revised: 7/2001
Keith Mehl
CS 22 Outline Fall 2002
hps
Download