Course Calendar for Math 218

It is expected that you read all the sections to be covered BEFORE the class and come to class prepared to discuss the topics.
Check this page regularly for updates . This is a tentative schedule to be updated as needed.

Date Section/Topic/Reading Assignment
Tue, Jan 13

Ch 1: Software Engineering Principles & Run Time Analysis, Big-O notation

Lab 1 is assigned

Thu, Jan 15

Ch 1: Big-O Notation & Classes

Check out this seminal paper: PRIMES are in P. Also see these papers A breakthrough, The Status of P vs NP

Tue Jan 20

Ch 2: Inheritance & Composition


Thu Jan 22 Ch 2: Operator Overloading and Templates
Tue Jan 27

Chp 3: Pointers

Lab 3

Thu Jan 29 Chp 3: Array based lists, Virtual functions and abstract classes
Tue Feb 3

Ch 4: Introduction to STL, vector and deque

Lab 4

Thu Feb 5 Chp 4: Iterators, Algorithms, and practice
Tue Feb 10

Chp 5: Intro to Linked Lists

Lab 5

Thu Feb 12 Linked Lists continued
Tue Feb 17 Linked Lists finished (douby linked lists, circular linked lists etc.)
Thu Feb 19

Chp 6: Recursion

Lab 6

Tue Feb 24 Recursion continued (recursion and backtracking)
Thu Feb 26 Midterm Exam
Tue March 17

Ch 7: Stacks

Lab 7

Thu March 19 Chp 7 finished
Tue March 24

Ch 8: Queues

Lab 8

Thu March 26 Ch 8 finished. (Intro to Linux: postponed to next time)
Tue March 31

Intro to Linux+ Ch 9: Searching and Hashing algorithms

Lab 9

Thu Apr 2 Ch 9 finished
Tue Apr 7

Ch 10: Sorting algorithms: Bubble sort, selection sort, insertion sort, shell sort

Lab 10

Thu Apr 9 Ch 10: Merge Sort and Quick Sort. Animations of various sorting algorithms as falk dances. A slow sorting algorithm.
Tue Apr 14

Ch 11: Binary Trees, Tree Traversals, Binary Search Trees (intro)

Lab 11

Thu Apr 16 Ch 11: BST, Functions as Parameters, AVL Trees (intro)
Tue Apr 21

AVL balancing, (Heap Sort)

Lab 12 TBA

Thu Apr 23

Heap Sort, Applications of Trees (prioirty queues, expression trees, Huffman encoding etc)

Tue Apr 28 Chp 12: Graphs (Definitions, representations, BFS, DFS)
Thu Apr 30

Chp 12: Graph Algorithms

Reminder: The Final Exam will be on Monday May 4, 6:30 pm in the usual classroom.