Course outline: Why software engineering? `Classic Mistakes' and `Best Practises' in software development. The lifecycle of a software product: the analysis, design, implementation and maintenance activities. Management structures and techniques. Agile software engineering methods. Object-oriented analysis and design methodologies. Coding practice and standards. Quality assurance techniques. Version control. Prerequsites: knowledge of Java, familiarity with UML and object-oriented programming and design.


Learning outcomes: At the end of the course, students will know how to schedule and manage a multi-person project, to manage a team of software developers, to do requirements analysis, to understand large-scale software design and software testing, to communicate effectively in written project deliverables, to communicate effectively in oral project reviews and presentations and to analyse and specify problems and designs using UML notation.


Assessment: The students will work in groups of about 8 to create a group project, following a structured software engineering process. This group project will be assessed on poster presentations, laboratory reports, through data interpretation exercises, essays and contribution to group work! Details of the group project will be discussed in class.


Official links for this class: The university course directory entry, the Study Direct entry for the course. I will communicate with the class via this Study Direct page. Old exam papers can be found here


Books and other resources: There is no set textbook. The course will be based loosely on the following textbooks.

In addition, the following books will be useful for parts of the course.

Additional resources:


Assessment convenor and tutor: Martin Berger (email: M.F.Berger@sussex...), office hours are Mondays and Tuedays before/after the lectures, please consult my calendar for available slots. My office is Chichester II, Room 312.
Teaching assistants: tbc.


Dates & Places: The course takes place in the spring and summer terms. Lectures are held in the spring term on Mondays 1600 - 1700 in Arts A0002 and Tuesdays 1300 - 1400 in FUL B-LT. There are no lectures in the Summer term, only tutorials. In the spring term, the tutorials takes place on Tuesdays 1400 - 1500 in PEV1-2A11, Tuesdays 1500 - 1600 in PEV1-2A11, Tuesdays 1700 - 1800 in PEV1-2A3, Thursdays 1000 - 1100 in FUL-106, Thursdays 1100 - 1200 in FUL-106, Fridays 0900 - 1000 in BH-257. Tutorials start in Week 4. Dates and locations for the summer terms will be published later. The teaching timetable entry for the course is here.


$Id: index.html,v 1.3 2011/01/20 11:23:38 mfb21 Exp $