This course covers the foundations of software development and programming fundamentals including variables, naming, data types, control flow, loops, lists/arrays, dictionaries, functions, parameters and arguments, classes, objects, and object-oriented programming (OOP) concepts including inheritance, polymorphism, and instance method overriding. Build projects that take user input, manipulate strings, use libraries, make requests to web servers, and parse JSON data. Master top-level concepts in the landscape of software development including writing pseudocode, technical project planning, programming language paradigms, common software architectures, web development patterns and frameworks.
This course is designed to equip students with the technical skills and foundational knowledge necessary to succeed at Make School. A strong foundation in CS concepts is the foundation for learning in any other course.
Weeks to Completion: 7
Total Seat Hours: 37.5 hours
Total Out-of-Class Hours: 75 hours
Total Hours: 112.5 hours
Units: 3 units
Delivery Method: Residential
Class Sessions: 14 classes, 7 labs
None.
Students by the end of the course will be able to ...
- Understand how to break down a problem into a programable algorithm.
- Translate user stories and requirements into a program.
- Master core programming concepts including data structures, control flow, repetition, functions, and object oriented programming.
- Implement core programming concepts in Python.
- Implement programming best practices, debugging, and testing in Python.
Tutorials
- Captain Rainbow's Color Checklist or GitHub Version of Captain Rainbow's Color Checklist
- MadLibs
- Spaceman
- Super Hero Team Dueler
- Herd_Immunity
To pass this course you must meet the following requirements:
- No more than two no call no shows
- No more than four excused absences
- Make up all classwork from all absences
- Finish all required tutorials and projects
- Pass the final exam (summative assessment) >=80%
- [Class Introduction & Programming Basics](01. Class Intro)
- Before Class
- Prep Work
- In Class Activities
- Introductions
- Pseudocode & Program Structure
- Atom bits
- After Class
- Python tutorials
- Atom Tutorials
- Captain Rainbow's Color Selector
- Before Class
- [Control Flow and Basic Data Structures](02. Control Flow)
- In Class Activities
- Discuss Captain Rainbow's Color Selector
- Strings, Lists and Functions
- Control Flow
- Design Madlibs
- After Class
- MadLibs
- In Class Activities
- ** No class Mon. Sept 3 (Labor Day) **
- Data Structures
- In Class Activities
- Design Spaceman
- After Class
- Spaceman
- In Class Activities
- Object Oriented Programming
- In Class Activities
- After Class
- Super Hero OOP Project
- Object Oriented Programming
- In Class Activities
- After Class
** ... More to come ... **
- Python
- Atom Tutorials
- CS fundamentals
Academic Honesty
Accommodation Policy
Diversity Statement
Evaluation Methods
Title IX Disclaimer
Program Learning Outcomes