To substantially strengthen students' programming ability by requiring them to program a number of large, interesting projects.
To teach students to find information on their own and solve problems on their own using available documentation; to give them the confidence in their own abilities they will need when programming in industry or as grad students.
To solidify students understanding of object-oriented principles.
To provide team programming experience and to show students how use of software engineering principles can greatly improve team programming.
To provide exposure to a broad range of programming areas including multi-threaded programs, communication between processes, and interacting with databases..
This quarter the GUI portion of the assignments will be targetting the Android platform.