Educational materials
CSE 30331

J. Izaguirre (J. Stewman (06) / P. Brenner (07))

Course Goals:  Fundamental techniques in the design and analysis of non-numerical algorithms and associated data structures; Template class design and operator overloading; Detailed introduction to the C++ STL (class API?s and methods of implementation), including sequence containers (vectors, deques, lists), container adapters (stack, queue, priority queue) and associative containers (sets, maps); Dynamic memory management, pointers and linked structures (lists, trees, graphs). Sorting and searching algorithms; File compression using Huffman codes; Divide and conquer approaches; recursion and dynamic programming; heaps.

At the end of the course, students will be able to:
1.     Apply object oriented design methods to software design, including choice of appropriate data structures and algorithms.

Measures: graded programming assignments

2.     Create simple UML Use Case & Class diagrams

Measures: graded group programming project

3.     Correctly use C++ STL containers (vector, list, deque, queue, stack, priority_queue, set & map)

Measures: graded programming assignments & exam questions

4.     Compute the big-O time complexity of simple algorithms and demonstrate knowledge of the complexity of standard algorithms for searching and sorting

Measures: graded homework problems & exam questions

5.     Create recursive functions & apply simple dynamic programming techniques

Measures: graded programming assignment

6.     Create template classes and functions with overloaded operators

Measures: graded programming assignment

7.     Create and use pointers, destructors and copy constructors to properly manage dynamically allocated memory

Measures: graded programming assignment

8.     Demonstrate understanding of how heaps and binary search trees are used as effective implementation techniques for various containers

Measures: exam questions

9.     Explain hashing and collision resolution techniques

Measures: exam questions

10.  Construct binary search trees and balanced 2-3-4 & Red-Black trees

Measures: graded programming assignment & exam questions

11.  Generate Huffman codes using priority queue & binary tree

Measures: exam questions

12. Implement graphs, use and analyze their search & traversal algorithms, and create spanning trees

Measures: exam questions
  Attachment Action Size Date Who Comment
pdf 30331Syllabus07.pdf props, move 33.5 K 18 Sep 2007 - 18:13 AaronStriegel Syllabus - Fall 2007 (Brenner)
r2 - 18 Sep 2007 - 18:14:01 - AaronStriegel
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM