Christian Brothers University

CS/ECE 234 Departmental Syllabus
Foundations of Computer Science II

Catalog Data The course helps you learn about programming style, top down design, testing methods, verification techniques, the analysis of algorithms and data abstraction. It stresses the reasoned derivation, development and implementation of correct programs and the use of sound programming tools and paradigms. It uses the language Java.
Prerequisite: CS/ECE 233
Corequisite: CS 233 L or ECE 244
One semester, three credits.

Textbook "Objects, Abstraction, Data Structures and Design Using Java", E. Koffman & P. Wolfgang, Wiley, 2005.

Prerequisites You must have fundamental skills in problem solving, objected oriented design and algorithms and a working knowledge of C++ or Java.

Goals You will learn basic concepts of abstract data types, algorithms, recursion and classes in Java. You will improve your skills in design and problem solving in computer science and will implement designs with programs in Java.


Syllabus
Topic Chapter
Introduction to software design 1
Program correctness and efficiency 2
Inheritance and class hierarchies 3
Lists and the Collection interface 4
Stacks 5
Queues 6
Recursion 7
Trees 8
Sets and maps 9
Sorting 10
Final Exam The final exam is comprehensive.

Attendance You must attend class regularly.