CS352 Software Construction

This course provides students with principles and methodologies to develop high-quality, maintainable, and scalable software systems through hands-on coding exercises, code reviews, and software construction projects. Emphasis will be placed on practical techniques for writing clean, efficient, and error-free code. Topics covered include: code organization and modularity; enforcing coding standards; error-handling; debugging; developing test cases for unit testing, integration testing, and system testing; refactoring and reengineering; version control systems and collaboration; setting up development environments and configuring build systems; multi process and multithread programming and patterns for concurrent programming. Prerequisites: CS104 or CS203.

Credits

3

Prerequisite

Any of the following: Programming for Everyone II (CS104), Introduction to C (CS203)