Software Construction Course

Course Description:
Software Construction is the detailed creation of working software through a combination of coding, verification, unit testing, integration testing and debugging. Construction uses the output from the design process to build software therein described, and provides an output to testing. Thus, design, construction and testing are closely intertwined, and very often overlap. Some design functions may carry over into the construction phase, and unit/integration testing are frequently performed during the construction phase. In this course, we will examine key construction fundamentals such as minimizing complexity, dealing with change, building for verification and basic construction standards. From fundamentals, the course moves through managing the construction process; key practical considerations; construction technologies and construction tools. Since construction is a hands-on intensive endeavor, students are challenged with hands-on exercises that mimic real-world software construction challenges

Format: Asynchronous
Nominal duration: Self-paced Learning – Approximate Time: 6 hours
Professional Development Hours (PDH) : 6
Continuing Education Credits (CEU) : 0.6

Learning Objectives: Learning objectives for the Software Construction Course.
1. Apply the fundamentals of software construction as outlines in this course to an actual software development project.
2. Demonstrate by example the key construction life cycle models.
3. Interpret key practical construction considerations such as design, languages, coding, testing, quality and reuse.
4. Evaluate and provide examples of the key construction technologies in a typical software construction project.
5. Explain the application of software construction tools such as GUI builders, unit testing tools, profiling, performance analysis and slicing tools

Course Modules: 1. Software Construction Fundamentals 1.1. Minimizing Complexity 1.2. Anticipating Change 1.3. Constructing for Verification 1.4. Reuse 1.5. Standards in Construction 2. Managing Construction 2.1. Construction in Life Cycle Models 2.2. Construction Planning 2.3. Construction Measurement 3. Practical Considerations 3.1. Construction Design 3.2. Construction Languages 3.3. Coding 3.4. Construction Testing 3.5. Construction for Reuse 3.6. Construction with Reuse 3.7. Construction Quality 3.8. Integration 4. Construction Technologies 4.1. API Design and Use 4.2. Object-Oriented Runtime Issues 4.3. Parameterization and Generics 4.4. Assertions, Design by Contract, and Defensive Programmingdid not match the regex 4.5. Error Handling, Exception Handling, and Fault Tolerance 4.6. Executable Models 4.7. State-Based and Table-Driven Construction Techniques 4.8. Runtime Configuration and Internationalization 4.9. Grammar-Based Input Processing 4.10. Concurrency Primitivesdid not match the regex 4.11. Middlewaredid not match the regex 4.12. Construction Methods for Distributed Softwaredid not match the regex 4.13. Constructing Heterogeneous Systemsdid not match the regex 4.14. Performance Analysis and Tuningdid not match the regex 4.15. Platform Standardsdid not match the regex 4.16. Test-First Programmingdid not match the regex 5. Construction Tools 5.1. Development Environments 5.2. GUI Builders 5.3. Unit Testing Tools 5.4. Profiling, Performance Analysis, and Slicing Tools
Purchase Options
Course $85
Course $85
Course $110

Members Save!

Join the Computer Society to take advantage of member pricing.