Course Information

Syllabus
Coding Standards
Visual Studio FAQ
Visual Studio on a Mac
Professor Ryan's Video Tutorials

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.

Schedule:


Date
Topics
Homework & Assignments
Notes
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