Introduction to Computer Science and Programming II
Computer Science 120
A rigorous introduction to computing science and computer programming, suitable for students who already have some background in computing science and programming. Students will learn the fundamental concepts of computing science and develop basic skills in software development. Topics include: history of computing science; review of elementary programming; data types and control structures; fundamental algorithms; abstract data types; elementary data structures; basic object-oriented programming and software design; elements of empirical and theoretical algorithmic; computability and complexity; design, specification and program correctness.