The development of large-scale, reliable, and maintainable software systems.
Paper title | Software Engineering |
---|---|
Paper code | COSC345 |
Subject | Computer Science |
EFTS | 0.15 |
Points | 18 points |
Teaching period | Semester 2 (On campus) |
Domestic Tuition Fees (NZD) | $1,141.35 |
International Tuition Fees | Tuition Fees for international students are elsewhere on this website. |
- Prerequisite
- COSC 202 or COSC 242
- Recommended Preparation
- COSC 203
- Schedule C
- Arts and Music, Science
- Contact
Computer Science Adviser, adviser@cs.otago.ac.nz
- More information link
- View more information about COSC 345
- Teaching staff
Lecturer: Associate Professor Andrew Trotman
- Paper Structure
Topics include:
- Project management
- Software specification
- Software design
- System maintenance
- Software reuse
- Human factors
- Documentation
- Software build processes
- Testing and debugging
- Continuous integration
- Code review
- Standards for software and documentation
- Verification and validation
- Configuration management
- Software evolution
- Software development tools
Assignment work includes a major project completed in teams of three or four people who develop and implement a useful system, including all relevant documentation, and using industry standard software tools and practices.
Assessment:- Four part assignment (software project) 40%
- Final exam 60%
- Teaching Arrangements
Two lectures per week and laboratory work.
- Textbooks
Textbooks are not required for this paper. However, this book is recommended:
S. McConnell, Code Complete 2nd edition, Microsoft Press, 2004.- Graduate Attributes Emphasised
- Lifelong learning, Communication, Critical thinking, Information literacy, Teamwork.
View more information about Otago's graduate attributes. - Learning Outcomes
This paper will give students practice in:
- Designing a software system
- Planning the development
- Carrying out the development using appropriate tools
- Evaluating their work
Students will learn to use "good practices" including:
- Version control
- Static checking
- Testing
- Following industry or platform standards