CPSC405 Fall 2012 Projects
Project 1: C Basics due Friday 7 September
Project 2: Competition (Optional) due midnight Day of the Dead
Extra Credit Projects
Ant Colony and Threading
In class I talked about the traveling salesman problem and a solution using an ant colony approach. The Python code is on github at https://github.com/trevlovett/Python-Ant-Colony-TSP-Solver. The only bug the author lists is “Not yet guaranteed free of synchronization bugs” and it has a number of problems with locks. You task is to improve the synchronization code and make an in-class presentation. This is a cool way to gain some experience with threads. This can be done with a partner or individually. Depending on what you do this can be worth 250XP or more.
System Calls in Linux
On page 91 of our textbook, there is a write-up of how to add a new system call to Linux. This is straightforward to do and requires modest programming skills. This is fun and you do learn a lot. The process is easier if you boot your new kernel as a virtual machine. If you do this you will be making an in-class presentation on your work. This can be done with a partner or individually. Minimal of 200XP.
Here are some useful resources for learning C.
- C for Java Programmers (Columbia)
- C for Java Programmers (Cornell)
- C for Java Programmers: A Small Reference for Easy Switching (Colorado)
- The Definitive Book: The C Programming Language by Kernighan and Ritchie
- Blinky Pointer Fun video for C (Stanford)