Object-oriented programming graphic with blue background image illustrating various computer science themes

Instructors: R. Jordan Crouser and Ab Mosca

Course Meets: TTh 9:25-10:40AM EST (Section 01) / 10:50 - 12:05PM EST (Section 02)

Location: Bass 204

Jordan’s Office Hours: TBD

Ab’s Office Hours: TBD

TA Hours: Sundays 1-3pm EST, Sundays through Wednesdays 7-9pm EST in Ford Hall


Course Description:

This course emphasizes computational problem-solving using a typed object-oriented programming (OOP). Students will learn core computer science principles including: control flow, functions, classes, objects, methods, encapsulation and information-hiding, specification, recursion, debugging, unit testing, version control, using libraries and writing code in multiple files. Abstract data types and simple data structures will be used to illustrate concepts of OOP and solve computational problems through regular programming assignments (in Java and Python).

This course assumes prior programming experience including a basic understanding of branching (if-statements), iteration (loops), functions and simple data types (integers, strings, lists/arrays). Prerequisites: CSC 110 or equivalent. Cannot be taken concurrently with CSC 110.


Learning Goals:

Upon successful completion of this course, students will be able to: