Skip to content

Make-School-Courses/CS-1.2-Intro-Data-Structures

Repository files navigation

CS 1.2: Introduction to Data Structures

Course Description

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 Specifics

Course Delivery: online | 7 weeks | 13 sessions

Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours

Learning Objectives

By the end of this course, students will be able to:

  1. Implement linear and non-linear data structures, including: stacks, queues, singly linked lists, hash tables, trees, and graphs.
  2. Understand the advantages and applications of different data structures.
  3. Implement iterative and recursive search and sorting algorithms.
  4. Analyze the time and space complexity of iterative and recursive algorithms.
  5. Solve open ended real-world and interview problems and select appropriate data structures/algorithms based on requirements.

Prerequisites

Students must pass the following course and demonstrate mastery of its competencies:

Class Schedule

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 PromptGradescope
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 PromptGradescope
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

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 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.

How to Get Help

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

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