COMP 241: CS III, Data Structures and Algorithms, Spring 2018

Administrivia

Resources

Schedule

Date Topic Required Reading Notes Assignments Out Slides
1/11 Introduction, data structures, ADTs, abstraction, interfaces/implementation
1/16 (Snow day) Project 1, due on Moodle Mon 1/29, 11:59pm
1/18 C++ review
1/23 Vector ADT IntVector.h IntVector.cpp
1/25 Analysis of algorithms, big-oh notation
1/30 Big-oh continued
2/1 List ADT, singly linked lists Project 2, due on Moodle Tue 2/13, 11:59pm
2/6 Doubly-linked lists, started stacks
2/8 Finished stacks, queues
2/13 Quadratic sorting Homework 1, due in class Tue Feb 20
2/15 Trees, binary trees, started binary search trees Project 3, due on Moodle Fri 3/2, 5:00pm
2/20 More binary search trees, started set ADT
2/22 Midterm I
2/27 Binary search trees
3/1 Binary search trees
3/6 Spring break
3/8 Spring break
3/13 Hash tables Project 4, due on Moodle Wed 3/28, 5:00pm
3/15 Hash tables
3/20 Treesort, mergesort
3/22 Quicksort
3/27 Priority queues, heaps, heapsort Homework 2, due in class Tue Apr 3
3/29 Easter break
4/3 Finish heapsort, other sorts, exam review
4/5 Midterm II Project 5, due on Moodle Mon 4/16 11:59pm
4/10 Graphs
4/12 Depth first search, breadth first search
4/17 Dijkstra's algorithm Project 6, due on Moodle Mon 4/30 11:59pm
4/19 Red-black trees
4/24 Red-black trees, continued
4/26 Course wrapup