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:
This schedule is subject to change, you will be notified by the instructor of any modifications.
This course has been designed for the average student to earn an average grade by working 3 hours per credit (for classroom students this is 1 hour in class, and 2 hours outside of class), or 12 hours per week for this 4 credit course, as indicated by the approximate times shown in this table. Individual circumstances may require more/less time to be invested.
|
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 | |