CMPT 166 Spring 2011 Lab Assignments

All labs must include a lab write-up and will be marked according to the lab requirements.

Lab 1: Flow of Control (due Thu 20 Jan) (40pts)

Java text (Savitch), p.162-164: choose one of #2, #5, or #8. (#8: also generate or come up with your own cryparithmetic puzzle)

Lab 2: Classes (due Tue 1 Feb) (40pts)

Java text (Savitch), p.247-248: choose one of #2 (Fraction), #3 (Odometer), #4 (BlogEntry), or #6 (StudentGrades).

Lab 3: Inheritance (due Thu 10 Feb) (40pts)

Java text (Savitch), p.469-472: choose one of #3 (Alien), #6 (Truck), #7 (Patient), or p.509 #4 (predator-prey). The last option (p.509 #4) is worth up to 5 pts extra credit (45 total) if done correctly and completely.

Lab 4: CRUD Database (due Tue 1 Mar) (40pts)

Create a simple database! ch10 p.637 #10 or #11, or a similar project of your own design.

Lab 5: Swing (due Tue 22 Mar) (40pts)

Develop your own GUI program using Java Swing! Here are the requirements: Suggestions for possible project ideas:

Lab 6: Android or TCP/IP (due Tue 12 Apr, with in-class presentations) (40+10pts)


Write a cool Android application! You may demonstrate it on the software emulator. If you like, you may also demonstrate it running on an Android phone (either my phone, or your own)!

We might not have time in-class to get very far on Android, but there are many resources to help you learn Android on the Android developer site:

TCP/IP Client-Server

Come up with your own cool client-server network application (e.g., chat/IM, stock-ticker, sending pictures, web server)!