GithubHelp home page GithubHelp logo

make-school-courses / cs-1.1-object-oriented-programming Goto Github PK

View Code? Open in Web Editor NEW
17.0 5.0 110.0 18.51 MB

CS 1.1: Object-Oriented Programming – Course Syllabus and Lessons

Home Page: https://make.sc/cs1.1

License: MIT License

Python 53.18% CSS 10.63% JavaScript 11.66% HTML 24.53%

cs-1.1-object-oriented-programming's Introduction

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

cs-1.1-object-oriented-programming's People

Contributors

aespaldi avatar ajbraus avatar amelinagzz avatar ibirnam avatar jb3dahmen avatar jess-lemur avatar joicodes avatar jsitter avatar meredithcat avatar neptunius avatar nsafai avatar phylliswong avatar soggybag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cs-1.1-object-oriented-programming's Issues

self.infected parameter contains typo in Person class, __init__ method

In the instructions for the init method in Person.py, the self.infected attribute/parameter is described as both "self.infected" and as "self.infection." Additionally, in the example text above, it is set to infected=False while in the actual init template it is set as infected=None.

BROKEN LINK

On the readme file, the link for the superheroes link is broken.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.