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.
Students must pass the following course and demonstrate mastery of its competencies:
Course Delivery: Synchronous | 7 weeks | 18 sessions
Course Credits: Synchronous: 3 units | 37.5 Contact Hours/Term | 92 Non-Contact Hours/Term | 129.5 Total Hours/Term
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.
Course Dates: Monday, May 31 – Friday, July 16, 2021 (7 weeks)
Class Times: Monday, Wednesday, Friday at 9:30am–11:15am (19 class sessions)
Class | Date | Topics | Assignments Due |
---|---|---|---|
1 | Mon, May 31 | No Class - Memorial Day | |
- | Wed, June 2 | Algorithm Analysis | |
2 | Fri, June 4 | Lab | Module 1 |
3 | Mon, June 7 | Linked Lists | |
4 | Wed, June 9 | Number Bases | |
5 | Fri, June 11 | Lab | Module 2 |
6 | Mon, June 14 | Stacks & Queues | |
7 | Wed, June 16 | Recursion | |
8 | Fri, June 18 | Lab | Module 3 |
9 | Mon, June 21 | Recursion | |
10 | Wed, June 23 | Hash Tables | |
11 | Fri, June 25 | Lab | Module 4 (Midterm Modules 1-3 MUST be turned in) |
12 | Mon, June 28 | Hash Tables | |
13 | Wed, June 30 | Trees | |
14 | Fri, July 2 | Lab | Module 5 |
- | Mon, July 5 | No Class - Independence Day Observed | |
15 | Wed, July 7 | Trees | |
16 | Fri, July 9 | Lab | Module 6 |
17 | Mon, July 12 | Graphs | |
18 | Wed, July 14 | Graphs | |
19 | Fri, July 16 | Algorithm Optimization & Lab | Module 7 & Technical Article |
[Module 1]: [Module 2]: [Module 3]: [Module 4]: [Module 5]: [Module 6]: [Module 7]: [Module 8]:
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.
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:
- Pass all modules with a score 70% or higher
- Your lowest module will be dropped
- 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
- This course will use a self paced format
- You will be given recommended dates to turn assignments in to stay on track, but you can turn in any assignment later than the recommended date with no penalty provided Modules 1-3 are turned in no later than midterm (Fri June 25th) and modules 3-7 and the technical article are turned in no later than the last day of class (Fri July 16th)
- You can resubmit any assignment after receiving feedback to improve your score provided it is turned in no later than the last day of class (Fri July 16th)
- Assignments should be completed by the recommended date in the above schedules section in order to receive timely feedback. Students falling behind should connect with the instructor for help staying on pace!
- The absolute last date to turn in Modules 1-3 is Fri June 25th and the last date to turn in modules 3-7 and the technical article is Fri July 16th
- Any assignments not complete by the above midterm Fri June 25th and final day of class Fri July 16th dates will receive a score of 0
- Lectures will be given during the first hour of class and will be optional (9:30 am - 10:30 am on M & W)
- Labs will be during the last portion of the class and all of Friday sessions and attendance will be required (10:45 - 11:15 am M & W, 9:30 am - 11:15 am F)
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