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:50AM-12:05PM EST (Section 02)

Location: Ford 342

Jordan’s Office Hours: Mondays 8:30-10AM EST, Fridays 11AM-12PM EST in Bass 105

Ab’s Office Hours: Mondays 1:30-3PM EST, Wednesdays 10:30AM-12PM EST in Bass 105

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: