CS 320: Introduction
Introduction
What is the course about?
- The practice of software development
-
All the things you need to know to
- Figure out what a system should do (requirements)
- Define and analyze the problem (analysis)
- Design a system to solve the problem (design)
- Implement the design (implementation)
- Ensure the quality of the implementation (testing, code review)
- Work in a collaborative team environment
- Share code (version control - shared code base and issue tracking)
- Planning and estimation (how long will it take?)
The course will focus on object-oriented software development
- The techniques can be adapted for non object-oriented languages
Course will emphasize agile software development
- Agile software development is an incremental development process
- Develop the system a little bit at a time
- The idea is to make steady progress
- The system is stable and functional at all times
- Don’t wait until the end of the project to “see if it works”