CS 314 Software Engineering introduces students to team-based development of large, complex software systems. Topics include clean code, configuration management, continuous integration, testing, requirements, project management and teamwork.
Students learn integrated tools to support a Scrum-based development process while completing a semester-long web development project to prepare them for work in industry, research, or open-source teams. The tools used include Piazza, Slack, IntelliJ IDEA, GitHub, Maven, Webpack, Zenhub, Travis CI, and Code Climate.
CSU Online students will join the campus teams as remote team members using the same tools and processes.
For more information see the course website at http://www.cs.colostate.edu/~cs314/
This course can be applied toward:
CS 253 (Software Development with C++) with a grade of C (2.0 or better) and its prerequisites CS 163 (CS1 - No Prior Programming Experience) and CS 164 (CS1 - Prior Programming Experience) and CS 165 (CS2 - Data Structures). Students must be proficient in Java programming, algorithms, data structures, problem-solving and object-oriented programming to complete this course.
Textbooks and Materials
Textbooks and materials can be purchased at the CSU Bookstore unless otherwise indicated.
- Clean Code: A Handbook of Agile Software Craftsmanship
Miller, Robert C.
The calendar and resource pages on the course website provide additional reading materials.