| CPSC 329 | Software Development | Fall 2026 |
On this page:
| Course Description and Objectives |
Catalogue description: This course continues the study of programming by focusing on software design, development, and verification — the skills beyond fluency in a particular language which are necessary for developing large, reliable programs. Topics include object-oriented design, the use of APIs, and testing and verification. Techniques common in modern software development will also be studied. Specific techniques may include GUIs and event-driven programming, multi-threading, client-server networking, fault-tolerant computing, stream programming, and security. This course completes the programming sequence begun by CPSC 124 and 225 — CPSC 124 introduces the basic ideas of programming along with the syntax and semantics of the Java programming language, CPSC 225 focuses on common data structures as the organizational building blocks of programs, and CPSC 329 addresses creating good software as well some of the specific technologies found in software applications. Four key points are at the core of good software:
This course will address how to achieve those points. In addition, students will gain:
|
|---|---|
| Class Format and Expectations |
This course has three 60-minute class (lecture) meetings and one 90-minute lab session per week. On-time attendance is expected for all scheduled class meetings and lab sessions. In addition, attendance is required at five 20-minute handin meetings following project submission deadlines. Dates for these will be established early in the semester. As this is a software development course, the bulk of the outside-of-class time will be devoted to a series of projects. The projects are cumulative, each adding new features and functionality to previous stages, and most are team projects. Being successful requires awareness of deadlines, careful time management, steady effort, and working with others' schedules. Additional out-of-class work includes finishing labs (if not completed during the lab period) and studying for exams. All together, students should expect to spend approximately 8-10 hours per week on work outside of class. While your experience may vary from topic to topic or from week to week, if you routinely spend substantially more time or you feel like you are spinning your wheels and not making progress, you should visit office hours for help. |
| Prerequisites |
CPSC 225 is required. |
| Required Materials |
TextbookThere is no textbook; supplementary reading and reference material will be posted on the schedule page. SoftwareEclipse 2026-06, Java 21, and JavaFX will be used in this course. It is highly recommended that you use the campus Linux environment, accessible in Demarest 002 or remotely through the Linux VDI, though the necessary software is freely available for multiple platforms so it is possible to set up your own computer if desired. |