Aug 06, 2026  
2026-2027 Catalog 
    
2026-2027 Catalog

SDEV 243 - Software Resilience and Reliability


PREREQUISITES: SDEV 200 - Software Development with Java OR SDEV 210 - Systems Programming with Rust OR SDEV 220 - Software Development Using Python OR SDEV 230 - Software Development using C++ OR SDEV 240 - Software Development Using C# OR CSCI 201 - Computer Science II
CREDIT HOURS MIN: 1
LECTURE HOURS MIN: 1
TOTAL CONTACT HOURS MIN: 16
This course explores best practices in developing robust, reliable software systems with a focus on error handling, and maintainability. Students will learn how to design programs that anticipate and gracefully recover from unexpected conditions through exception handling and error propagation. The course emphasizes writing testable code using unit tests and test harnesses, effective refactoring techniques, configuration file management, and sandboxing strategies. Students will also explore package management tools. Real-world case studies and hands-on projects reinforce the principles of resilient software design and continuous improvement. 

MAJOR COURSE LEARNING OBJECTIVES: Upon successful completion of this course, the student will be expected to:

  1. Implement flexible application settings through externalized configuration.
  2. Carry out unit tests and test harnesses to validate code behavior and detect regressions.
  3. Apply refactoring techniques to improve code maintainability, modularity, and readability.
  4. Utilize configuration files and package management tools to support flexible, reliable software deployment.
  5. Analyze how environment-specific variations affect the development, testing, and deployment of software applications.
  6. Develop automated testing procedures using industry-standard unit testing frameworks.


COURSE CONTENT: Topical areas of study include -
  • Exception handling and error propagation
  • Fault-tolerant logic
  • Writing and running unit tests
  • Using test harnesses
  • Refactoring techniques
  • Configuration file management