CS 1.3: Core Data Structures & Algorithms

Course Description

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.

Learning Outcomes

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

  1. Implement, compare and contrast iterative and recursive algorithms.
  2. Analyze best-case and worst-case time and space complexity of an algorithm.
  3. Implement several abstract data types and data structures including linked lists, stacks, queues, hash tables, maps, sets, and binary search trees.
  4. Implement tree traversal algorithms: depth-first and breadth-first ordering.
  5. Write technical articles to deepen understanding and demonstrate mastery.

Prerequisites

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


Course Specifics

Course Delivery: online | 7 weeks | 14 sessions

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

Schedule

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

Assignments

Coding Modules

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.

Technical Article

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.

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

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