Course Calendar for Scmp 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
Thu, Aug 24

Introduction, Logistics, A quick review, Chp 1: Software Engineering Principles. Fill out this form asap.

Lab 1 is assigned (due Sep 4). Submit to Moodle. Some useful info, details, and links for Lab1.

Tue, Aug 29

Chp 1: Run Time Analysis, and Big-O notation

Thu Aug 31

Big-O Notation & Computational Complexity. Chp 2: Operator Overloading.

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

Tue Sep 5

Chp 2: Inheritance and Templates. Run Time Analysis.

Lab 2 (due Sep 11). Submit to Moodle

Thu Sep 7

Practice with Big-O notation.

Tue Sep 12

Chp 3: Pointers. Handout on pointers.

Lab 3 (due Sep 18). Submit to Moodle.

Thu Sep 14 Chp 3: Array based lists, Virtual functions and abstract classes
Tue Sep 19

Ch 4 and 13: Introduction to STL, vector, deque, set, maps, iterators

Lab 4 (due Sep 25). Submit to Moodle.

Thu Sep 21

Chp 4 and 13: Iterators, Algorithms, and practice

Tue Sep 26

Chp 5: Intro to Linked Lists

Lab 5 (due Oct 9). Submit to Moodle.

Thu Sep 28 Linked Lists continued.
Tue Oct 3

LL finished and LL variations (doubly linked lists, circular linked lists etc.). Intro to Recursion.

Thu Oct 5

OCTOBER BREAK

Tue Oct 10

Chp 6: Recursion. Some video lessons on recursion from Scmp 118. Part1, Part2

Lab 6 (due Oct 18, extended by 24 hours). Submit to Moodle.

Thu Oct 12

Recursion continued (recursion and backtracking)

Tue Oct 17 Midterm Exam
Thu Oct 19

Chp 7 Stacks

Lab 7 (due Oct 30). Submit to Moodle

Tue Oct 24

Chp 7 finished

Thu Oct 26

Chp 8: Queues

Lab 8 (due Nov 6). Submit to Moodle.

Tue Oct 31

Chp 8 finished. (+ Intro to Linux)

Thu Nov 2

Chp 9: Searching and Hashing Algorithms

Lab 9 (due Nov 13). Submit to Moodle.

Tue Nov 7

Chp 9 Finished

Thu Nov 9

Ch 10: Sorting algorithms: Selection Sort, Insertion Sort, Bubble Sort, and Merge Sort

Lab 10 (due Nov 29). Submit to Moodle.

Tue Nov 14

Ch 10: Shell Sort and Quick Sort. Animations of various sorting algorithms as folk dances. MergeSort vs QuickSort. ShellSort. A slow sorting algorithm.

Thu Nov 16

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

THANKSGIVING BREAK
Tue Nov 28

 Ch11: Functions as Parameters, AVL Trees, Balancing AVL Trees

Thu Nov 30

Ch 11: Heap Sort

Tue Dec 5

Ch 12: Graphs

Thu Dec 7

Chp 12: Graph Algorithms. You may find the animations on this site useful.

The Final Exam date: Tue, Dec 12, 6:30 pm.