Mintri1199 / CS-2.1-Trees-Sorting

0 stars 0 forks source link

CS 2.1: Advanced Trees & Sorting Algorithms

Course Description

In this course students will implement and test advanced data structures and algorithms, benchmark performance, analyze algorithmic complexity, explore trade offs in performance and memory usage, and draw out elegant problem-solving techniques.

Key concepts include sorting algorithms, divide-and-conquer recursion, heaps, tries, self-balancing trees, and execution trees. Students will build an original project that applies these data structures to real-world problems such as autocomplete, family trees, and board games.

Students will also write technical articles about these topics to deepen their understanding and create their online presence as knowledgeable and proficient software engineers.

Repository Setup

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

Schedule

Course Dates: Tuesday, October 22 – Thursday, December 12, 2019 (7.5 weeks)

Class Times: Tuesday & Thursday 3:30–5:20pm

Class Date Lesson Topics Deliverable Due or Quiz
1 Tue, Oct 22 Iterative Sorting Algorithms
2 Thu, Oct 24 Divide-and-Conquer Recursion
3 Tue, Oct 29 Recursive Sorting Algorithms
4 Thu, Oct 31 Recursive Sorting Algorithms Recap
5 Tue, Nov 5 K-ary Search Trees & Tries
6 Thu, Nov 7 Prefix Trees (aka Tries) Lab Day
7 Tue, Nov 12 Prefix Trees (aka Tries) Lab Day Due: Sorting Challenges
8 Thu, Nov 14 Rotating Binary Search Trees Quiz: Sorting Algorithms
9 Tue, Nov 19 Multiple Key Search Trees Due: Prefix Tree Challenges
10 Thu, Nov 21 Trees Project Kickoff
11 Tue, Nov 26 Trees Project Lab Day Quiz: Self-Balancing Trees
Thu, Nov 28 No Class (Thanksgiving Break)
12 Tue, Dec 3 Priority Queues & Heaps
13 Thu, Dec 5 Integer Sorting Algorithms Due: Binary Heap Challenges
14 Tue, Dec 10 Sorting Algorithms Comparison Quiz: Priority Queues & Heaps
Due: Integer Sorting Challenges
15 Thu, Dec 12 Trees Project Presentations Due: Trees Project & Article

Deliverable Schedule

Deliverable Date Started Date Due
Sorting Challenges Tue, Oct 22 Tue, Nov 12
Prefix Tree Challenges Tue, Nov 5 Tue, Nov 19
Binary Heap Challenges Tue, Dec 3 Thu, Dec 5
Trees Project & Article Tue, Nov 19 Thu, Dec 12

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:

Evaluation

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

Make School Policies