THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2011/2012
- ARCHIVE as at 1 September 2011 for reference only
THIS PAGE IS OUT OF DATE

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Informatics 1 - Java for Software Engineering (INFR08021)

Course Outline
School School of Informatics College College of Science and Engineering
Course type Standard Availability Available to all students
Credit level (Normal year taken) SCQF Level 8 (Year 1 Undergraduate) Credits 10
Home subject area Informatics Other subject area None
Course website None Taught in Gaelic? No
Course description The course will extend the material presented in INF1-OP to cover more advanced features of Java, and motivate them in the context of software engineering and collaborative code development.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Students MUST have passed: Informatics 1 - Functional Programming (INFR08013)
Co-requisites Students MUST also take: Informatics 1 - Data and Analysis (INFR08015)
Prohibited Combinations Students MUST NOT also be taking Informatics 1 - Object-Oriented Programming (INFR08014)
Other requirements None
Additional Costs None
Information for Visiting Students
Pre-requisites None
Displayed in Visiting Students Prospectus? No
Course Delivery Information
Not being delivered
Summary of Intended Learning Outcomes
- Design object-oriented software systems; communicate the design to others; and implement software that meets the design.

- Set up a shared project on a version control system, supply meaningful commit messages, submit bug reports to an issues tracker, accept responsibility for bug-fixing and develop working code collaboratively in a small group.

- Use Javadoc to document their code so that other developers can program to their API without referring to the source code.

- Given a design scenario, determine which Java language features and libraries should be used; write code that uses these resources.

- Design and implement JUnit tests and use the tests to guide the development of conformant code.

- Write code that is 'defensive' in the sense that it verifies that program data satisfies consistency conditions.

- Identify code duplication and other kinds of 'code smell'; use refactoring to make the code more readable and maintainable; and use regression testing to ensure that functionality has been preserved.
Assessment Information
Written Examination: 90%
Assessed Assignments: 10%
Special Arrangements
None
Additional Information
Academic description Not entered
Syllabus Java features and development tools to be covered include:
- Inheritance, interfaces and polymorphism
- Generics and the Collections framework
- Exceptions
- Streams and file I/O
- JUnit
- Javadoc
- Version control

Optional special topics to include concurrency; network programming; web applications; and GUI development.

Practical work will include exercises on collaborative software development; using loose coupling and "programming to an interface"; code refactoring.

The course will be delivered using the standard lecture format (i.e., an allocation of 20 lecture slots in total). There will be weekly lab sessions in which students will carry out formatively assessed practical work. In addition, each student will be assigned to a project team, managed by a tutor, which will carry out
incremental code development for the duration of the course.
Transferable skills Not entered
Reading list - Cay Horstmann (2010) Big Java (most recent edition is 4th) Wiley
- Jeff Langr (2005) Agile Java, Prentice-Hall
- Steve McConnell (2004) Code Complete, Microsoft Press
Study Abroad Not entered
Study Pattern Lectures 20
Tutorials 10
Timetabled Laboratories 10
Coursework Assessed for Credit 0
Other Coursework / Private Study 60
Total 100
Keywords Not entered
Contacts
Course organiser Dr Ewan Klein
Tel: (0131 6)50 2705
Email: ewan.klein@ed.ac.uk
Course secretary Ms Kirsten Belk
Tel: (0131 6)50 5194
Email: kbelk@exseed.ed.ac.uk
Navigation
Help & Information
Home
Introduction
Glossary
Search DPTs and Courses
Regulations
Regulations
Degree Programmes
Introduction
Browse DPTs
Courses
Introduction
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Timetab
Prospectuses
Important Information
 
copyright 2011 The University of Edinburgh - 1 September 2011 6:17 am