COSC345

Software Engineering

Welcome to COSC345

Full year, 2014

Instructors

Richard O'Keefe

Andrew Trotman

Description

This paper covers the development of large-scale, reliable, and maintainable software systems. Topics include software specification; software design; system design; formal specification; prototypes; system maintenance; code reading and browsing; software reuse; project management; human factors; documentation; standards for software and documentation; verification and validation; configuration management; and software evolution.

Students will be invited to suggest what kind of project we should run. iOS development? Android development? Website development with Ruby on Rails? The lecturers will choose what kind. We want you to teach yourself a new programming language, framework, or development environment in order to make the project experience realistic.

The project is to be completed in teams of three or four people. Each team will work on their own application. This is as much about managing your time and documenting your work as about writing code.

Lectures

Tuesdays, 16:00-16:50, Owheo 206
Fridays, 09:00-09:50, Owheo 206

Assessment, semester 1

Download the assignment here.

Assignment part 1, due Friday 4th April (week 6), worth 10%.

Assignment part 2, due Monday 19th May (week 12), worth 10%.

Parts 3 and 4 will be due in Semester 2.

Textbook

S. McConnell, Code Complete 2nd edition, Microsoft Press, 2004.

E-mail

E-mail concerning the course is frequently sent to the cosc345 mailing list. You should be checking your e-mail regularly so that you see any such messages. Any questions you have about the course that you want to make public should be sent to this mailing list. Any questions you ask ok about the course will be answered in the cosc345 mailing list with your name removed.

Details

For lecture plan and resources, see the old but actively maintained page.

Plagiarism

Student Administration have asked us to add this note on Plagiarism:
"Students should make sure that all submitted work is their own. Plagiarism is a form of dishonest practice. Plagiarism is defined as copying or paraphrasing another's work, whether intentionally or otherwise, and presenting it as one's own (approved University Council, December 2004). In practice this means plagiarism includes any attempt in any piece of submitted work (such as an assignment or test) to present as one's own work the work of another (whether of another student or a published authority). Any student found responsible for plagiarism in any piece of work submitted for assessment shall be subject to the University's dishonest practice regulations which may result in various penalties, including forfeiture of marks for the piece of work submitted, a zero grade for the paper, or in extreme cases exclusion from the University."