Course Information


Professor: 
Email Address: 
Office Location: 
Strain 203C
Office Hours: 
Mon, Wed, Thu 1:00 - 2:00pm
CS 300 - Data Structures
CS150 is a first course in computing and programming fundamentals. The goal of this course is to introduce you to problem solving through programming a computer. No previous computer experience of any type is required, but a deep interest in using one is. In this course, you will learn to program in C++. By the end of this course you should be able to write a program to do anything you want, given enough time and patience.

Schedule:


Date
Topics
Homework & Assignments
Notes
Week 1
Aug 31
Welcome
Syllabus
Linux Intro (CS Lab)

Syllabus
01 Linux
V - Linux I
Sep 2
Continue previous lecture

Sep 4


Intro to C
OUT: 01 ExamStats

Coding Standards


02 C Intro
Week 2
Sept 7
Labor Day - No Class


Sept 9
Eclipse

Makefile

03 Eclipse

V - Make1
V - Make2
Sept 11
Data Structures and Abstract Data Types (ADT's)

04 ADT
Week 3
Sept 14
Stack ADT
05 Stack
Sept 16 Continue Stack ADT OUT: 02 Static Stack
Sept 18 Dynamic Memory in C
06 Dynamic Memory
Week 4
Sept 21
Continue Dynamic Memory

Sept 23


Subversion
DUE: 02 Static Stack

OUT: 03 Dynamic Stack


07 Subversion
Sept 25
Midterm 1

Week 5
Sept 28 List ADT

08 List ADT
Sept 30 Continue List ADT
Discuss driver for stack. How do you test an ADT?


Oct 2

Valgrind lab
DUE: 03 Dynamic Stack

OUT: 04 List ADT

09 Valgrind
Week 6
Oct 5
Continue Valgrind lab


Oct 7
Makefiles, handles, go over Valgrind lab

10 Makefiles
Oct 9
Fall Break - No Class


Week 7
Oct 12 Complexity Analysis
11 Complexity
Oct 14 Testing part 1 of list in the lab

Oct 16 Queues and Priority Queues DUE: 04 List ADT

OUT: 05 Priority Queue ADT
12 Queues
Week 8
Oct 19 Continue Queue's
Quiz


Oct 21
Go over quiz
Review

Exam 2 Review
Oct 23
Midterm 2

Week 9
Oct 26 Introduction to trees
13 Trees
Oct 28 Explain assignment
OUT: 06 Airport

Oct 30 Continue Trees and Recursion

14 Recursion
Week 10 Nov 2
Binary Search Tree Lab


Nov 4
Binary Search Tree Lab II
DUE: Part A of 06 Airport

Nov 6
BST Lab

Extra problems to try
Week 11 Nov 9 Generic Programming

15 Generic Programming
Nov 11
Generic Programming Lab


Nov 13
Generic Linked List
DUE: Part B of 06 Airport

OUT: 07 Huffman Coding

Week 12 Nov 16 AVL Trees
16 AVL Trees
Nov 18 Review and Quiz

Review
Nov 20 Midterm 3

Week 13 Nov 23
Deleting from AVL trees
17 AVL Tree Deletion
Nov 25
Thanksgiving - No Class

Nov 27 Thanksgiving - No Class

Week 14 Nov 30 Hash Tables


Dec 2
Hash Table Lab


Dec 4
Hash Table Lab DUE: 07 Huffman Coding
Week 15
Dec 7 Final review

Review
Dec 9
Reading Day


Dec 5