Include a brief summary of the course topics and requirements, the general format of the course, and the methods of evaluation.
Skills and knowledge students should have prior to beginning the course:
- Unordered List Item
Course Topics:
C programming language (pointers; dynamic storage), recursion (recursive definitions / functions), algorithm analysis (big-O definition and basic properties; pseudocode; big-O best / average / worst case time complexity; polynomial / exponential algorithms), abstract data types (main operations, with preconditions, postconditions, and axioms), lists (sequential and linked representations; sorted lists; traversal, simple / binary search, insertion, removal), stacks and queues (sequential and linked representations; push and pop / enqueue and dequeue), trees (recursive definition; m-ary trees, binary trees and balanced binary trees, heaps; m-way search trees, binary search trees and self-balancing binary search trees; representations; preorder / postorder / inorder / breadth-first / depth-first traversal, search, insertion, removal), tables (a few possible representations, e.g., sorted array, self-balancing binary search tree; hash tables / functions, load factor, division method, linear probing, double hashing, chaining; traversal, search, insertion, removal), priority queues (a few possible representations, e.g., sorted array, heap, self-balancing binary search tree; priority queue sorting algorithms and how they compare with quicksort)
Course Format:
- Lecture format:instructor-led
- Online materials location and format: (for Fall 15 offering) www.socs.uoguelph.ca/~matsakis/courses/
- Lab or tutorial format and expectations:student-centered
Method of evaluation (Fall 15 offering):
- Number of Assignments: 4
- Number of Graded Labs: 0 (optional use of clickers)
- Number of Quizzes: 0 (optional use of clickers)
- Formal Midterm? YES
- Course project? NO
- Final Exam? YES
- Group work? NO
- mostly programming assignments? YES
- Written documents? YES