CS203
Download as PDF
Human-AI Collaborative Software Development
Course (UG/PG)
Offering Unit/Department
Course Description
Course Learning Outcomes
1. Demonstrate an understanding of requirement specification:
a. Explain the concepts of a requirement
b. Describe software requirements with user stories
c. Estimate user stories
2. Demonstrate an understanding of agile methodologies
a. Use an iterative, incremental development approach in the group project
b. Practice pair programming and code review during project time
c. Explain the key differences in concepts such as adaptive vs. predictive, agile vs. waterfall, code vs. documentation
3. Demonstrate an understanding of app development and deployment
a. Develop a HTTP based application
b. Implement code for business logic and HTTP request handling
c. Implement basic interaction with a persistent database
d. Design and implement basic application security
e. Deploy the services into production
4. Demonstrate an understanding of software testing
a. Explain testing fundamentals: unit testing, integration testing, usability testing, etc.
b. Design unit tests and integration tests
c. Implement automatic testing for the group project
d. Understand and practice continuous integration
e. Demonstrate an understanding of secure and defensive programming practices
6. Use a distributed version control system such as git to facilitate group collaboration