This course explores the foundations of computer science including discrete mathematics, abstract data types, data structures, and algorithm analysis and design. Students will compare and contrast iterative and recursive algorithms to analyze design and performance tradeoffs.
Students will implement and test data structures including lists, stacks, queues, sets, maps, and trees. Students will then apply these to real-world problems like phone call routing to understand their tradeoffs. Students will also write technical blog articles about these topics to deepen understanding, improve technical writing, and bolster their online presence as knowledgeable and proficient software engineers.
By the end of this course, students will be able to:
- Implement, compare and contrast iterative and recursive algorithms.
- Analyze best-case and worst-case time and space complexity of an algorithm.
- Implement several abstract data types and data structures including linked lists, stacks, queues, hash tables, maps, sets, and binary search trees.
- Implement tree traversal algorithms: depth-first and breadth-first ordering.
- Write technical articles to deepen understanding and demonstrate mastery.
Students must pass the following course and demonstrate mastery of its competencies:
Course Delivery: online | 7 weeks | 14 sessions
Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours
Course Dates: Tuesday, March 30 – Thursday, May 13, 2021 (7 weeks)
Class Times:
- Section A: Tuesday and Thursday at 9:30–12:15pm PST (13 class sessions)
- Section B: Tuesday and Thursday at 2:30–5:15pm PST (13 class sessions)
Class | Date | Topics | Assignments |
---|---|---|---|
1 | Tue, Mar 30 | Number Bases | Module 1 due Thur, Apr 1 @ 11pm PST |
- | Thu, Apr 1 | No Class - Cesar Chavez | |
2 | Tue, Apr 6 | Linked Lists | Module 2 due Wed, Apr 7 @ 11pm PST |
3 | Thu, Apr 8 | Stacks & Queues | Module 3 due Fri, Apr 9 @ 11pm PST |
4 | Tue, Apr 13 | Algorithm Analysis | Module 4 due Wed, Apr 14 @ 11pm PST |
5 | Thu, Apr 15 | Hash Tables | Module 5 due Fri, Apr 16 @ 11pm PST |
6 | Tue, Apr 20 | Recursion | Module 6 due Wed, Apr 21 @ 11pm PST |
7 | Thu, Apr 22 | Trees | Module 7 due Wed, Apr 28 @ 11pm PST |
8 | Tue, Apr 27 | Trees | |
9 | Thu, Apr 29 | Graphs | Module 8 due Wed, May 5 @ 11pm PST |
10 | Tue, May 4 | Graphs | |
11 | Thu, May 6 | Algorithm Optimization. | Technical Article due Wed, May 12 @ 11pm PST |
12 | Tue, May 11 | Algorithm Optimization | |
13 | Thu, May 13 | Lab Day |
Each lesson will have an associated module consisting of review, conceptual, and coding activities as well as interview prep related to the topic. At the end of each week you will turn your module work into gradescope for feedback and a score.
Students will also write a technical article about a topic related to course content to deepen their understanding, improve their technical writing skills, and demonstrate mastery of computer science, which will bolster their online presence as knowledgeable and proficient software engineers. Refer to the technical article guidelines for more information about article requirements and detailed tips on how to select a topic related to computer science, research the topic, create an outline, write your article, cite all sources of borrowed material, and provide feedback to other students.
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.
To pass this course you must meet the following requirements:
- Complete all required modules for each lesson.
- Pass all modules with a score 70% or higher.
- Your lowest module will be droppered.
- Complete and publish the Technical Article by the end of the term.
- Actively participate in class and abide by the attendance policy.
- Make up all classwork from all absences.
Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:
- Program Learning Outcomes - What you will achieve after finishing Make School, all courses are designed around these outcomes.
- Grading System - How grading is done at Make School
- Code of Conduct, Equity, and Inclusion - Learn about Diversity and Inclusion at Make School
- Academic Honesty - Our policies around plagerism, cheating, and other forms of academic misconduct
- Attendance Policy - What we expect from you in terms of attendance for all classes at Make School
- Course Credit Policy - Our policy for how you obtain credit for your courses
- Disability Services (Academic Accommodations) - Services and accommodations we provide for students
- Online Learning Tutorial - How to succeed in online learning at Make School
- Student Handbook - Guidelines, policies, and resources for all Make School students