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 18

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

Lab 1 is assigned

Thu, Jan 20 Ch 1: Big-O Notation & Classes
Tue Jan 25

Ch 2: Inheritance & Composition

Lab 2

Thu Jan 27 Ch 2: Operator Overloading and Templates
Tue Feb 1

Chp 3: Pointers

Lab 3

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

Ch 4: STL vector and deque

Lab 4 is assigned

Thu Feb 10 Chp 4: Iterators and practice
Tue Feb 15

Chp 5: Intro to Linked Lists

Lab 5 is assigned

Thu Feb 17 More on Linked Lists
Tue Feb 22 Linked Lists finished (douby linked lists, circular linked lists etc.)
Thu Feb 24

Chp 6: Recursion (midterm exam Thu March 3)

Lab 6 is assigned

Tue March 1 Recursion continued
Thu March 3 Midterm exam
Tue March 22

Ch 7: Stacks

Lab 7 is assigned

Thu March 24 Ch 7 finished
Tue March 29

Ch 8: Queues

Lab 8 is assigned

Thu March 31 Ch 8 finished
Tue Apr 5

Ch 9: Searching and Hashing algorithms

Lab 9 is assigned

Thu Apr 7 Ch 9 finished
Tue Apr 12

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

Lab 10 is assigned

Thu Apr 14 Ch 10: Merge Sort and Quick Sort
Tue Apr 19

Ch 11: Binary Trees, Tree Traversals, Binary Search Trees

Lab 11 assigned

Thu Apr 21 Ch 11: Functions as Parameters, AVL Trees
Tue Apr 26

Heap Sort Algorithm

Lab 12 assigned

Thu Apr 28

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

Bonus Lab posted

Tue May 3 Chp 12: Graphs (Definitions, representations, BFS, DFS)
Thu May Chp 12: Graph Algorithms