Course Information
Professor:
Email Address:
Office Location:
Strain 201
CS300
Data Structures
Data structures are fundamental to advanced, efficient programming. Topics including asymptotic analysis, stacks, queues, linked lists, trees, and hash tables will be covered in discussions centering around more sophisticated programming concepts, problem solving techniques, and software reusability. Prerequisite: CS 250 with a minimum grade of C. 4 credits.
Data structures are fundamental to advanced, efficient programming. Topics including asymptotic analysis, stacks, queues, linked lists, trees, and hash tables will be covered in discussions centering around more sophisticated programming concepts, problem solving techniques, and software reusability. Prerequisite: CS 250 with a minimum grade of C. 4 credits.
Schedule:
|
|
|
|
|
Week 1 |
Aug 29 |
Syllabus Linux Intro |
Syllabus 01 Linux V - Linux I |
|
Aug 31 |
Intro to C |
Functions |
02 C Intro |
|
Sept 2 |
Intro to
Eclipse & Makefiles |
03 Eclipse V - MakeI V - MakeII |
||
Week 2 |
Sept 5 |
Labor Day - No Class |
||
Sept 7 |
Finish Last
Lecture Notes |
|||
Sept 9 |
Abstract
Datatypes Stack ADT Testdrivers if/SUCCESS/FAILURE blocks |
Static
Stack |
04 ADTs 05 Stack ADT |
|
Week 3 |
Sept 12 |
Discuss Assign
#2 Subversion |
Subversion |
|
Sept 14 | Rational
Project Lab |
|||
Sept 16 | Finish Lab Talk about Poiinters |
|
||
Week 4 |
Sept 19 |
Dynamic Memory |
Dynamic Memory | |
Sept 21 |
More Pointers |
Adv
Pointers |
||
Sept 23 |
Midterm 1 |
Review is ready |
Review |
|
Week 5 |
Sept 26 | Finish More
Pointers Finish Dynamic Memory |
Dynamic Stack | |
Sept 28 | Valgrind Lab maina.c lab |
|||
Sept 30 |
List ADT,
pointers mainb.c lab |
List ADT |
||
Week 6 |
Oct 3 |
Review Pointers and Dynamic
Stack Assign |
||
Oct 5 |
Discuss Next Assign Continue Linked Lists |
Generic
Dynamic List |
||
Oct 7 |
Fall Break - No Class |
|||
Week 7 |
Oct 10 | List Traversing
w/prev & pres Queue ADT |
List
Problems Queue ADT |
|
Oct 12 | Singly Linked Queue | |||
Oct 14 | Singly Linked Circular Queue / Circular Stack | |||
Week 8 |
Oct 17 | Handles |
||
Oct 19 |
Go over assignment Managing Multiple Projects w/ Makefiles Rational / RationalSet |
Generic
Priority Queue |
Dependency Graph |
|
Oct 21 |
Midterm 2 |
Review |
||
Week 9 |
Oct 24 | In class
exercise 1 |
CQInClass |
|
Oct 26 | In class
exercise 2 |
ValgrindHandles Lab Valgrind GDB Better Debugging |
||
Oct 28 | Finish in class
exercises |
More
Handles |
||
Week 10 | Oct 31 |
Complexity Analysis | Complexity |
|
Nov 2 |
Discuss Airport argv & argc More files |
Airport | ||
Nov 4 |
Finish Complexity LAST DAY TO DROP |
|||
Week 11 | Nov 7 | Hash Tables | Hash
Tables I |
|
Nov 9 |
Hash Tables | |||
Nov 11 |
Hash Tables Bit Manipulation |
Bits Hash Tables II |
||
Week 12 | Nov 14 | Function Pointers | Function
Ptrs |
|
Nov 16 | More Function Pointers | Hash
Tables |
||
Nov 18 | Midterm 3 |
Review |
||
Week 13 | Nov 21 |
Assignment
Design Day |
||
Nov 23 |
Thanksgiving - No Class |
|
|
|
Nov 25 | Thanksgiving - No Class |
|
|
|
Week 14 | Nov 28 | Intro to Trees | Trees I |
|
Nov 30 |
More Trees plus Recursion |
Recursion Toyota UA I Toyota UA II |
||
Dec 2 |
Tree Lab I |
|||
Dec 5 | Tree Lab II |
|||
Dec 7 |
Reading Day |
|||
Dec
13 |
Final
Exam 3-5:30pm |
Review |