This course looks under the hood at data structures and algorithms to see how arrays, linked lists and hash tables work. Students will build these structures from scratch, analyze complexity, and benchmark performance in an application to gain an understanding of real-world tradeoffs. Students will write scripts, functions, and library modules to use text processing tools like regular expressions, construct and sample probability distributions to create a Markov language model and gain insight into how grammar works and introductory natural language processing techniques.
Course Delivery: online | 7 weeks | 13 sessions
Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours
By the end of this course, students will be able to:
- Implement linear and non-linear data structures, including: stacks, queues, singly linked lists, hash tables, trees, and graphs.
- Understand the advantages and applications of different data structures.
- Implement iterative and recursive search and sorting algorithms.
- Analyze the time and space complexity of iterative and recursive algorithms.
- Solve open ended real-world and interview problems and select appropriate data structures/algorithms based on requirements.
Students must pass the following course and demonstrate mastery of its competencies:
Course Dates:
- Tuesday, March 30 – Thursday, May 13, 2021 (7 weeks)
Class Times: Tuesday and Thursday at 2:40–5:30pm PST (13 class sessions)
Class | Date | Topics | Assignments | Textbook section |
---|---|---|---|---|
1 | Thu, March 30 | Stacks & Queues | - | section 4.1 to 4.18 (including) |
- | Tue, March 30 | No Class | ||
2 | Tue, April 6 | Arrays & Linked Lists | Music Playlist Project Prompt • Gradescope |
section 4.19 to 4.27 (including) |
3 | Thu, April 8 | Search Algorithms & Recursion | - | section 6.2 to 6.4 (including) |
4 | Tue, April 13 | Sorting Algorithms | ||
5 | Thu, Apil 15 | Review Day | Algorithms Problem Set Gradescope |
|
6 | Tue, April 20 | Hash Tables | ||
7 | Thu, April 22 | Hash Tables | ||
8 | Tue, April 27 | Trees | Frequency Counting Project Prompt • Gradescope |
|
9 | Thu, April 29 | Trees | ||
10 | Tue, May 4 | Graphs | ||
11 | Thu, May 6 | Graphs | Data Structures Problem Set Gradescope |
|
12 | Tue, May 11 | Algorithm Analysis | ||
13 | Thu, May 13 | Lab |
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 in-class coding challenges.
- If a coding challenge is missing, you will need to request to receive 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.
Office Hours:
Come to CoWork (refer to college calenadr) to see your TAs and Instructor. But usually it's faster to get help by using Piazza! (read below).
Piazza:
The best way to get answers is to ask questions! Ask questions on Piazza so everyone can benefit from the response.
Ask a question on Piazza →
CoWork:
CoWork is a place to study with your peers with access to staff/TA support if needed.
Check your calendar for when CoWork is oferred, or contact Ian or Lisa. Join at make.sc/cowork-zoom
- Class textbook: Problem Solving with Algorithms and Data Structures using Python .
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
- Diversity and Inclusion Statement - 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