600.120 Intermediate Programming [Selinski]
Detailed Schedule

 

Course Schedule (tentative - expect adjustments & updates throughout the semester)

Please note that James' files will be available on his BitBucket respository, not directly linked from the table below.

DaysTopicsResourcesFilesHomework
5/28 (JS)C Overview & Basics: Types, Operators, Control Statements, Basic I/O; Unix basics, compiling C Chapters 1-3, 7, Appendix A; learning and using unix: CS undergrad/class accounts, Unix Overview, reference card, C tutorial day01.txt, gpa.c  
5/30 (JD/JS)More C Basics, Execution Environment; using gdb for debugging Here is a gdb reference card. day02.txt, encrypt.c Homework 1
5/31 (JS/JD) More I/O, Files C Chapter 7 day03.txt, colorChart1.c  
6/3 (JS) C Functions & Program Structure; makefiles C Chapter 4, Appendix B, nice Makefile tutorial day04.txt, variables1.c, variables.c corrected version, myRand.h, myRand.c, testRand.c, Makefile, MakeRand Homework 2
6/4 (JD) Arrays & Pointers; gprof, gcov C Chapter 5 day05.txt, see James' pointers folder on Bitbucket  
6/6 (JD) Strings & Dynamic Memory Allocation; valgrind C Chapter 5, Binky the Pointer video day06.txt, see James' strings_memory folder on Bitbucket, strings.c, alloc.c Homework 3
6/7 (JS) Structs; indent C Chapter 6 day07.txt, structs.c, structsFail.c, structs2.c, Player.h, updated game.c  
6/10 (JS) Linked lists; testing Wikipedia day08.txt, list.h, list.c, listDriver.c, Makelist Homework 4
6/11 (JD) Block I/O; git version control C Chapter 8 See James' "blockio" folder on BitBucket. Review git commands in the "io" notes. Extra Credit
6/13 (JS)C++ basics, templates and the STL C++ Chapters 0-7, Appendices A & B extra C topics, day10.txt, start.cpp, gpa.cpp, containers.cpp Homework 5
6/14 (JS) Function Templates, Writing C++ Classes C++ Chapters 8-9 day11.txt, FirstClass.h, FirstClass.cpp, FirstClassMain.cpp, BagMain.cpp, Bag.h, Bag.cpp  
6/17 Midterm on Monday - C material only, in Shaffer 101review  
6/18 (JD)C++ Memory Management & Template ClassesC++ Chapters 10-11see James' files in the memory folder on BitBucket; also look at these files for an example of a templated class with a friend iterator that uses a linked list: Node.cpp, Set.cpp, SetIter.cpp, SetMain.cpp, SetMake Homework 6
6/20 (JS)C++ I/O & Operator OverloadingC++ Chapter 12, Appendix B.1day14.txt, BagOpMain.cpp, BagOp.h, BagOp.cpp Rational.h, Rational.cpp, RatMain.cpp  
6/21 (JD)C++ Inheritance & PolymorphismC++ Chapters 13-14 see James' "inheritance" folder on Bitbucket for notes and examples Homework 7
6/24 (JS)Exception Handling; TeamworkC++ Chapter 4 day16.txt, exceptions directory with inheritance and exception throwing examples  
6/25 (JD)Object Oriented Design, MiscC++ Chapters 15-16 See James' "misc" folder on Bitbucket  
6/27 Final examC++ material prep demo, partner evaluation
6/28Project Presentations    course evaluations