CS112O. Object-Oriented Design and Methodology

Continues the introduction to object-oriented programming begun in CS111O, with an emphasis on algorithms, data structures, software engineering, and the social context of computing.

Prerequisites: CS111O

Syllabus:

Units covered:
PF1 Fundamental programming constructs   2 core hours (of 9)
PF2 Algorithms and problem-solving   2 core hours (of 6)
PF3 Fundamental data structures   8 core hours (of 14)
PF4 Recursion   3 core hours (of 5)
PF5 Event-driven programming   2 core hours (of 4)
AL1 Basic algorithmic analysis   2 core hours (of 4)
AL2 Algorithmic strategies   2 core hours (of 6)
AL3 Fundamental computing algorithms   3 core hours (of 12)
PL1 Overview of programming languages   2 core hours
PL2 Virtual machines   1 core hour
PL4 Declarations and types   1 core hour (of 3)
PL5 Abstraction mechanisms   2 core hours (of 3)
PL6 Object-oriented programming   4 core hours (of 10)
HC1 Foundations of human-computer interaction   1 core hour (of 6)
SE1 Software design   2 core hours (of 8)
SE2 Using APIs   1 core hour (of 5)
SE5 Software requirements and specifications   1 core hour (of 4)
SE6 Software validation   1 core hour (of 3)

Notes:
This course builds on the foundation established by CS111O to complete a full year of introductory programming. Because the first course has included more material on the mechanics of object-oriented programming than is typical in an imperative-first introduction, CS112O can devote more time to issues of design and software engineering along with the traditional coverage of data structures and algorithms.

Online resources for CS112O


 
CC2001 Report
December 15, 2001