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 |