Skip to content

KitsuneNoctus/CS-1.2-Intro-Data-Structures

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS 1.2: Intro to Data Structures

Course Description

A project based course that looks under the hood at data structures and algorithms to see how they work. In addition to implementing these structures in an application; students will build them from scratch, analyze their complexity, and benchmark their performance to gain an understanding of their tradeoffs and when to use them in practice. 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 natural language processing techniques.

Repository Setup

⚠️ Important: Please follow these instructions exactly to set up your clone of this course repository.

Schedule

Course Dates: Monday, October 21 – Wednesday, December 11, 2019 (7.5 weeks)

Class Times: Monday & Wednesday at 1:30-3:20pm (section A) or 3:30–5:20pm (section B)

Class Date Lesson Topics Deliverable Due or Quiz
1 Mon, Oct 21 Strings & Random Numbers
2 Wed, Oct 23 Histogram Data Structures
3 Mon, Oct 28 Probability & Sampling
4 Wed, Oct 30 Flask Web App Development
5 Mon, Nov 4 Application Architecture
6 Wed, Nov 6 Generating Sentences
7 Mon, Nov 11 Arrays & Linked Lists
8 Wed, Nov 13 Linked List Algorithm Analysis Quiz: Histograms & Markov Chains
Due: Project Check-in
9 Mon, Nov 18 Hash Tables
10 Wed, Nov 20 Hash Tables Review & Lab Day Due: Linked List Challenges (Fri, Nov 22)
11 Mon, Nov 25 Hash Table Algorithm Analysis Quiz: Arrays & Linked Lists
Wed, Nov 27 No Class (Thanksgiving Break)
12 Mon, Dec 2 Higher Order Markov Chains Due: Hash Table Challenges
13 Wed, Dec 4 Regular Expressions Quiz: Hash Tables
14 Mon, Dec 9 Time to Tweet & Launch Day! Quiz Make Up Day
15 Wed, Dec 11 Activity To Be Determined Due: Final Project

Deliverable Schedule

Deliverable Date Started Date Due Submission Form
Project Check-in Mon, Oct 21 Wed, Nov 13 Submit Project Check-in
Linked List Challenges Mon, Nov 11 Fri, Nov 22 Submit Linked List
Hash Table Challenges Mon, Nov 18 Mon, Dec 2 Submit Hash Table
Final Project Mon, Oct 21 Wed, Dec 11 Submit Final Project

Read the project rubric before the due date to ensure your code meets all expectations.

Prerequisites

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

Learning Objectives

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

  1. Create Python programs that read and write text files and manipulate strings
  2. Build web apps with the Flask framework and deploy to the web
  3. Construct and sample probability distributions based on observed word frequencies
  4. Create Markov language models and use them to generate new sentences
  5. Use unit tests that assert correct behavior of functions and classes
  6. Implement core data structures including singly linked lists and hash tables
  7. Analyze the complexity of iterative algorithms and data structures with visual loop counting

Project Tutorial

Students will complete the following guided project tutorial in this course:

Evaluation

To pass this course, students must meet the following requirements:

  • Actively participate in class and abide by the attendance policy
  • Make up all classwork from all absences
  • Complete the required project tutorial
  • Pass the project according to the associated project rubric
  • Pass the summative assessment (total of all quiz scores)
    • Review the quiz study guides with the lesson topics and learning outcomes (skills) you need to demonstrate, links to the best lesson activities, slides, and resources to review while preparing

Attendance

Just like any job, attendance at Make School is required and a key component of your success. Attendance is being onsite from 9:30am to 5:30pm each day, attending all scheduled sessions including classes, huddles, coaching and school meetings, and working in the study labs when not in a scheduled session. Working onsite allows you to learn with your peers, have access to support from TAs, instructors and others, and is vital to your learning.

Attendance requirements for scheduled sessions are:

  • No more than two unexcused absences ("no-call-no-shows") per term in any scheduled session.
  • No more than four excused absences (communicated in advance) per term in any scheduled session.

Failure to meet these requirements will result in a Participation Improvement Plan (PIP). Failure to improve after the PIP is cause for not being allowed to continue at Make School.

Make School Policies

About

Make School Course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •