Skip to content

Make-School-Courses/CS-1.1-Object-Oriented-Programming

Repository files navigation

CS 1.1: Object Oriented Programming

Course Description

This course reinforces the fundamentals of programming including variables, data types, control flow, conditionals, loops, lists, dictionaries, functions, and introduces object-oriented programming. Students will master top-level concepts in software development including writing pseudocode, using functions to process input into output, technical project planning, and diagramming. The course will also cover how computers work, from components and layout to memory and machine code instructions.

Prerequisites

Course Specifics

Course Delivery: Online | 7 weeks | 13 sessions

Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours

Learning Objectives

Students by the end of the course will be able to ...

  1. Implement and apply foundational object oriented techniques and best practices including encapsulation, composition, and inheritance
  2. Translate user stories and requirements into a program
  3. Practice core programming concepts including data structures, control flow, repetition, and functions
  4. Implement programming best practices, debugging, and testing in Python.

Schedule

Course Dates: Tuesday, January 19 – Thursday, March 4, 2021 (7 weeks)

Class Times: Tuesday and Thursday at 9:30am–12:15pm PST (13 class sessions)

Class Date

Class Date Topics Assignments & Quizzes
- Tue, Jan 19 No Class - MLK Day
1 Thu, Jan 21 Scope & Objects & Encapsulation
2 Tue, Jan 26 Attributes & Methods
3 Thu, Jan 28 Access Modifiers, Composition & Design In-class Quiz 1: Scope, Objects, Attributes, and Methods

Project 1: Bank Account
Project PromptGradescope
due Mon, Feb. 8 @ 11pm PDT
4 Tue, Feb 2 Inheritance & Overriding
5 Thu, Feb 4 Polymorphism
6 Tue, Feb 9 Inheriting from Built In's and Overloading In-class Quiz 2: Inheritance and Polymorphism

Project 2: Superhero Team Dueler
Project PromptGradescope
due Wed, Feb. 17 @ 11pm PDT
7 Thu, Feb 11 Function Arguments and Overloading
8 Tue, Feb 16 Decorators In-class Quiz 3: Magic Methods and Inheriting from Built Ins
9 Thu, Feb 18 Abstract Classes & Static/Class Methods
10 Tue, Feb 23 Multiple Inheritance & Mix-ins Project 3: OOP Design Challenge
Project PromptGradescope
due Monday, Mar. 1 @ 11pm PDT
11 Thu, Feb 25 Lab In-class Quiz 4: Function Arguments, Decorators, Static Methods, Class Methods, and Multiple Inheritance
12 Tue, Mar 2 OOP Design Challenge Presentations
13 Tue, Mar 4 OOP Design Challenge Presentations

Assignment Submissions

We will be using Gradescope, which allows us to provide fast and accurate feedback on your work. All assigned work will be submitted through Gradescope, and assignment and exam grades will be returned through Gradescope.

As soon as grades are posted, you will be notified immediately so that you can log in and see your feedback. You may also submit regrade requests if you feel we have made a mistake.

Your Gradescope login is your Make School email, and your password can be changed at https://gradescope.com/reset_password. The same link can be used if you need to set your password for the first time.

Evaluation

To pass this course you must meet the following requirements:

  • Complete all in-class quizzes.
  • If a quiz is missing, you will need to request to receive a a retake/extension.
  • Pass all assignments with a score 70% or higher.
  • All assignments are scored according to the associated assignment rubric.
  • If an assignment is not passing, you will need to request to receive a retake/extension to bring you score up to passing.
  • Actively participate in class and abide by the attendance policy.
  • Make up all classwork from all absences.

How to Get Help

CoWork:
CoWork is a place to study with your peers with access to staff/TA support if needed.
Tuesdays at 12:45-1:45pm PST and Thursdays at 1:30-2:30pm PST

TA and Instructor Office Hours:
Check the calendar for this term's particular TAs and Instructor.

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Make School Course Policies