OO Programming and Data Structures | CS 241

Schedule

This course covers the fundamentals of both object-oriented programming and data structures. This is accomplished by focusing on object-oriented programming topics heavily through the first two-thirds of the semester, during which time we will highlight one data structure each week. For the last third of the semester, we will turn our focus exclusively to data structures and algorithmic topics.

Weekly Rhythm

The course is primarily organized at the week level. The following outlines when assignments are due, along with an approximate amount of time/effort associated with each assignment. Please keep in mind, that you will likely need to begin working on assignments before the due date, so they can be completed on-time.

A few things to note:

Day

Assignment

Approximate Time

Tuesday

Reading

30-60 min.

Tuesday

Checkpoint A

30-45 min.

Wednesday

Checkpoint B

30-45 min.

Thursday

Team Activity

60 min. activity + 15 min. reflection

Friday

Data Structures Reading and Homework

120 min.

Monday

Prove (Programming Assignment)

4-6 hours

Monday

Ponder (Reflection)

15 min.

Total

9-12 hours

Semester Schedule

The following table outlines the general topics we will be studying during the course of the semester.

Week Main Topic Data Structure
01 Introduction & Review
02 Files & Functions Big-O Analysis
03 Classes & Objects Dynamic Arrays
04 Object Composition Linked Lists
05 Event-driven Programming Stacks
06 Inheritance Queues
07 Polymorphism Recursion
08 Encapsulation & Properties Trees
09 Exceptions & Error Handling Hash Tables
10 Sorting Algorithms List Manipulation
11 Review List Comprehensions
12 Data Science Concepts Lambda Functions
13 Linux Shell Programming Review
14 Conclusion and Final Exam