CS 300 Schedule
| Date |
Topic |
Notes |
Assignments |
C Topics |
| Aug 29 | Syllabus, Linux introduction | Download OpenSUSE | ||
| Aug 31 | Advanced Linux | Basic C | Compiling | PDF find | xargs |
Assignment 1 ChangeMaker | include | printf | scanf | comments |
| Sep 02 | Makefiles |
Example Tutorial Documentation |
submission instructions Project 1 Due Sept 7. 9:15am! Electronic submission in class, have a hard copy ready at 9:15am! | #define | #ifdef |
| Sep 05 | NO CLASS | LABOR DAY | |||
| Sep 07 | Eclipse | Coding Standards | Project 1 Due! Electronic submission in class, have a hard copy ready at 9:15am! | PDF Eclipse CDT Documentation Eclipse Software |
Sieve CodingStandardsProfile | Arrays | static | char* | boolean? |
C Standard Library |
| Sep 09 | Advanced C | Pointers to static data | Pointer Arithmetic | PDF Sample Code |
pointers | casting | array syntax for pointers | |
| Sep 12 | Abstract Data Types | PDF Static Keyword |
Import Project into Eclipse ChangeMaker Test Script | primitive data types | sizeof | typedef | struct |
| Sep 14 | Stack ADT | Stack Assignment | fopen | fscanf | fgetc | fprintf | close | errno | perror | |
| Sep 16 | File I/O | Debugger | |||
| Sep 19 | Let's code Strings | string.h | ||
| Sep 21 | EXAM 1 | |||
| Sep 23 | Writing a test driver | |||
| Sep 26 | Complexity Analysis | Stack DUE | ||
| Sep 28 | Array ADT | Array memory layout | Array Mapping functions | PDF calcDriver |
||
| Sep 30 | List ADT (static list) in assignment | Static List Assignment list.h Description Error Codes | ||
| Oct 03 | Subclipse and Subversion | PDF SVNTest |
Keywords | |
| Oct 05 | extern vs static | gcc -I | Let's use a List to build a Stack | Static | extern | ||
| Oct 07 | NO CLASS | |||
| Oct 10 | Queue | Eclipse & Multiple projects | PDF Exam Review |
Static List Assignment DUE Priority Queue Assignment Description New list.h pQueue.h pQueue.c | |
| Oct 12 | EXAM 2 | |||
| Oct 14 | Set | Bag | |||
| Oct 17 | Dynamic Memory | Memory Layout | Dynamic Arrays | Linked List | Priority Queue DUE Queue Assignment queue.h | malloc/free | forward declarations | void* | |
| Oct 19 | More Linked List Practice | Testing | ||
| Oct 21 | Write a dynamic Stack (stkCreate, stkDispose, stkPush, stkPop) | Queue DUE (11:59pm) Airport Simulation | fscanf | |
| Oct 24 | Write a dynamic Stack (stkCreate, stkDispose, stkPush, stkPop) | int** | ||
| Oct 26 | Write a Doubly Linked List | Circular Linked List | Handles | |||
| Oct 28 | Dynamic Memory Lab (arrays, lists, oh my!) - In CS Lab | Lab | ||
| Oct 31 | What memory errors are possible? Valgrind - In CS Lab | Dynamic List | Lab PDF Valgrind Eclipse Plugin Valgrind Quick Start |
Airport Simulation DUE (11:59pm) Testing CheckList Dynamic List Assignment list.h | |
| Nov 02 | Generic Programming | Function Pointers | Comparators | Callbacks | (*void)(void) | void * | ||
| Nov 04 | Generic Programming | Visitor Pattern | qsort | ||
| Nov 07 | In Class Function Pointer Lab | |||
| Nov 09 | Hash tables | Hash Functions | Collision handling | |||
| Nov 11 | Hash tables | Exam Review | Dynamic List Due Hash Assignment | sprintf |
| Nov 14 | EXAM 3 | |||
| Nov 16 | LAB DAY - Reusability | Lab | Hash Table Assignment words.txt hashtable.h Hash Table Tests! HugeData.txt Hash Table Test Instructions | |
| Nov 18 | Trees | |||
| Nov 21 | Trees | Spam Classifier Assignment Spam Classifier Algorithm Email Data Files Small Email Data with Output | ||
| Nov 23 | ||||
| Nov 25 | ||||
| Nov 28 | Binary Search Trees | Hash Assignment Part I Due | ||
| Nov 30 | Binary Search Trees: bstDelete | |||
| Dec 02 | Tree Lab | Lab | ||
| Dec 05 | Final Review | Final Review | Hash Assignment Part II DUE (Dec 6, 9:30pm) | |
| Dec 13 | Final Exam 3:00 - 5:30 PM |