Shereen Khoja - Associate Professor of Computer Science



Date

Topics
Homework & Assignments

Notes
Week 1
Aug 27
Syllabus
Introduction to Linux
00 Homework on slides is due on Friday, Aug 31 @ 9:15am
01 Intro

openSUSE download
Aug 29
Advanced Linux, Basic C, Geany, Compiling from the command line
Assignment 1 ChangeMaker DUE on Wednesday, September 5 @ 9:15am
02 Linux
Sept 31
C Topics - printf, scanf, #define, static, unsigned

Read chapter 1

03 C Topics

isEven.c
Week 2
Sept 3
Labor Day - NO CLASS


Sept 5
Eclipse

Intro to Makefiles
DUE: Assignment 1

Assignment 2: Sieve DUE on Friday, September 14 @ 9:15am
04 Eclipse

Coding Standards Profile for Eclipse
Sept 7


C Topics - Pointers, memory, character arrays, addresses

Read sections 5.1-5.5

05 C Pointers

Programs to review:
  1. Pointers to static
  2. Pointers & arrays
  3. Pointers and strings
Week 3
Sept 10 Abstract Data Types
String ADT

C Topics - typedef struct
Assignment One testing script
06 ADTs
Sept 12 Stack ADT

C Topics - typedef

07 Stacks
Sept 14 CLASS WILL BE HELD IN STRAIN 222

File I/O
Debugger
Makefiles

Read sections: 7.5, 7.7, 6.7, 2.7
DUE: Assignment 2


08 File I/O, Makefiles, Debugging

Code Examples
Week 4
Sept 17
Quiz

String ADT

Assignment 3: Palindrome Detector

Sept 19
Midterm 1


Sept 21 Implementing String ADT


Week 5
Sept 24 Dynamic memory allocation DUE: Part 1 of Assignment 3
10 Dynamic Memory
Sept 26 Linked Lists:
  • Creating a list
  • Printing a list
  • Searching for a node
  • Inserting a node
  • Deleting a node
Pointers to pointers (handles)



11 Linked Lists
Sept 28
Continue lecture of Wednesday

Lab Policies
DUE: Assignment 3

stackDriver

Week 6
Oct 1
Meet in the CS Lab

Dynamic Memory Lab - download DynamicMemoryLab.tar.gz from CS300Public on zeus
Assignment 4: Dynamic List
List.h
Error codes

Oct 3
Meet in the CS lab

Discuss assignment

Using subversion



13 Using Subversion

SVNTest.tar.gz
Oct 5
Fall Break - NO CLASS


Week 7
Oct 8 Meet in the CS lab

Continue dynamic memory lab


Oct 10 Array ADT

Dynamic stack
DUE: Assignment 4 Part A 14 Array ADT
Oct 12 Quiz

Write a dynamic stack

Online office hours on Sunday, 10/14 from 8-9pm




Oct 15
Meet in Strain 222

Queue
 
Valgrind
DUE: Assignment 4 Part B

Assignment 5:
15 Queue ADT
Oct 17
Midterm 2


Oct 19
Complexity Analysis

16 Complexity
Week 9
Oct 22 Continue Complexity Analysis

Writing Drivers

Eclipse & Multiple Projects


Oct 24 Testing priority queues with each other's drivers
DUE: Assignment 5

Assignment 6: Queue

Oct 26 Set ADT

17 Set ADT
Week 10 Oct 29
Implemening a Set ADT:


Oct 31
Set intersect
DUE: Assignment 6

Assignment 7: Airport Simulation

Nov 2
Generic Programming:
  • void *
  • Function Pointers

18 Generic Programming
Week 11 Nov 5


Nov 7
Function Pointer lab

19 Function Pointers
Nov 9
Function Pointer lab


Week 12 Nov 12 Hash Tables
DUE: Assignment 7

20 Hash Table
Nov 14 Midterm 3


Nov 16 Continue hash tables
Assignment 8: Hash Tables
hashtable.h
list.h

Week 13 Nov 19
Continue hash tables


Nov 21 Thanksgiving


Nov 23 Thanksgiving


Week 14 Nov 26 Intro to Trees

21 Trees
Nov 28
Writing Binary Search Tree Functions


Nov 30
Lab Day


Week 15
Dec 3 Review
DUE: Assignment 8
Dec 5
Reading Day


Week 16
Tue, Dec 11
Final Exam - 3-5:30pm