THE UNIVERSITY of EDINBURGH

DEGREE REGULATIONS & PROGRAMMES OF STUDY 2012/2013

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
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Course typeStandard AvailabilityAvailable to all students
Credit level (Normal year taken)SCQF Level 8 (Year 1 Undergraduate) Credits10
Home subject areaInformatics Other subject areaNone
Course website None Taught in Gaelic?No
Course descriptionThe 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-requisitesNone
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
KeywordsNot entered
Contacts
Course organiserDr Ewan Klein
Tel: (0131 6)50 2705
Email:
Course secretaryMs Kirsten Belk
Tel: (0131 6)50 5194
Email:
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 2012 The University of Edinburgh - 6 March 2012 6:09 am