CIS 607: The Unix, C, and C++ Grad Students Should Know
Projects
IMPORTANT: all of the prompts come from a previous term. Ignore the due dates in those prompts and go by the website.
Project 1: Learning Unix
Project 2: C/C++ primer
- Project 2A: worksheet on memory/pointers/arrays (do this after Lecture 1)
- Project 2B: file I/O (do this after Lecture 3)
- Project 2C: structs (do this after Lecture 4)
- Project 2D: subtype/supertype (do this after Lecture 6)
Project 3: Large System + Object Oriented Programming
- Project 3A: I/O with images (do this after Lecture 4)
- Project 3B: Move to C++, more functions (do this after Lecture 5)
- the main program that calls your functions
- functions.h
- Makefile
- The grader script we will use
- input in PNM,
output in PNM, and
output in PNG
- If you want to test everything before Blend (through img7), then here is the output: PNM and PNG
- img.pnm,
img2.pnm,
img3.pnm,
img4.pnm,
img5.pnm,
img6.pnm,
img7.pnm (img7 is a repeat of no_blend)
- Note that none of the files above should be modified ... you need to adapt to their interface, not vice-versa.
- ... of course, you may want to modify them for testing purposes, like changing the main program to only do some filters. Just make sure to switch it back before you submit...
- Project 3C: object-oriented approach (do this after Lecture 7)
- Project 3D: C++ file I/O (do this after Lecture 7)
- Project 3E: demand-driven execution (do this after Lecture 8)
- Project 3F: logging and exceptions (do this after Lecture 8)
- the main program that calls your functions
- Makefile
- logging.h: interface for your logging module (you write the methods)
- logger: the output of my logging instrumentation. You don't have to match exactly, but I think it is a good idea to match exactly anyway ... it helps find subtle bugs.
- Project 3G: more filters (do this after Lecture 9)
- Project 3H: pass the regression tests (do this after Lecture 10)
- tarball with everything you need.
- video of getting started with 3H.
Project 4: Debugging and Profiling
- Project 4A: debugger practice
- Here are the programs to debug.
- Here are worksheets to fill out in PDF and MS Word forms.
- Project 4B: memory error and leak free (do this after Lecture 10)