This module will introduce you to object-oriented problem-solving methods and provide you with object-oriented (OO) techniques for the analysis, design and implementation of solutions. You will be introduced to these concepts and develop skills with a new programming language, and you will learn to apply these skills to design and implement small applications.
Full module specification
|Module title:||Object-Oriented Programming|
ECM1408, ECM1409 or equivalent
|Duration of module:||
Duration (weeks) - term 1: |
0Duration (weeks) - term 2:
11Duration (weeks) - term 3:
The module aims to provide you with a thorough grounding in the fundamentals of object-oriented design concepts, alongside the fundamentals of the Java programming language, and general object-orientated design concepts. It will also introduce you to widely used components of the unified modelling language (UML), and teach you how to interpret and implement a Java program from these higher-level designs.
ILO: Module-specific skills
- 1. demonstrate an appreciation of object-oriented modelling techniques;
- 2. interpret and modify program fragments in an object-oriented language;
- 3. follow an object-oriented development method to produce a design from a specification;
- 4. systematically test programs developed;
- 5. document software to accepted standards.
ILO: Discipline-specific skills
- 6. interpret a requirements specification;
- 7. systematically break down a problem into its components;
- 8. understand and choose between programming languages, and basic techniques.
ILO: Personal and key skills
- 9. use technical manuals and books to interpret technical errors;
- 10. analyse a problem and synthesise a solution.
Learning activities and teaching methods (given in hours of study time)
|Scheduled Learning and Teaching Activities||Guided independent study||Placement / study abroad|
Details of learning activities and teaching methods
|Category||Hours of study time||Description|
|Scheduled learning and teaching activities||22||Lectures|
|Scheduled learning and teaching activities||20||Workshops/tutorials|
|Scheduled learning and teaching activities||9||Surgeries|
|Guided independent study||54||Individual assessed work|
|Guided independent study||45||Wider reading and exam preparation|
|Form of assessment||Size of the assessment (eg length / duration)||ILOs assessed||Feedback method|
|Practical programming assignments and formative class test||23 hours||All||In model answer discussion in surgeries|
|Formative class test||1 hour||All||Written on marked class test, and model answer discussion in surgeries|
Summative assessment (% of credit)
|Coursework||Written exams||Practical exams|
Details of summative assessment
|Form of assessment||% of credit||Size of the assessment (eg length / duration)||ILOs assessed||Feedback method|
|Written exam - Closed book||70||2 hours||1, 2, 3, 6, 7, 8||None (can request marked scripts)|
|Coursework Practical programming assignments||30||30 hours||All||Comments directly on individual code, on individual feedback sheet, and in model answer discussion in surgeries.|
Details of re-assessment (where required by referral or deferral)
|Original form of assessment||Form of re-assessment||ILOs re-assessed||Timescale for re-assessment|
|All above||Written exam (100%)||All||August Ref/Def period|
Reassessment will be by examination only. For referred candidates the mark will be capped at 40%. Deferred candidates will be awarded the higher of the uncapped exam mark alone and the uncapped exam mark combined with marks for previously completed coursework in the ratio 70:30.
The module syllabus is based on the three themes below, each individual topic listed being related to at least one of these themes:
- introduction to object-oriented concepts and fundamentals: classes, methods, attributes, procedural versus object-oriented programming, object state, scope, inheritance (single and multiple), polymorphism, object persistence;
- programming in the Java language: overview (compilation, intermediate and machine code, virtual machines), Java primitives, fundamental classes, conditionals, variables, statements, equivalence, passing by value, iteration, arrays as objects, assertions, exceptions, stack and heap, packages, shadowing versus overriding;
- design documentation tools: the unified modelling language (UML): UML Algorithms, UML class diagrams, UML advanced class diagrams, UML state machine diagrams, UML sequence diagrams, programming by contract, JavaDoc, annotations.
Indicative learning resources - Basic reading
ELE – http://vle.exeter.ac.uk
- Introduction to Programming and Object Orientated Design Using Java,James Nino and Frederick A. Horsch,3rd,Wiley,2008
- Learning UML 2.0,Miles, Russell, Hamilton, Kim,,O'Reilly,2006,005.117 MIL,978-0596009823
- Objects first with Java: a practical introduction using BlueJ,Barnes, D, Kolling, M,5th,Pearson,2012,005.133 BAR,978-0132835541
- Learning Java,Niemeyer, Patrick and Knudsen, Jonathan,3rd,O'Reilly,2005,001.6424/JAV NIE
- Java Cookbook,Darwin, Ian,2nd,O'Reilly,2004,001.6424/JAV DAR,978-0596007010
- Effective Java: Programming Language Guide ,Bloch, Joshua,2nd,Addison Wesley,2008,001.6424/JAV BLO,978-0321356680
- Developing Java Software,Winder, Russel and Roberts, Graham,3rd,Wiley,2006,001.6424/JAV WIN
Module has an active ELE page?
Indicative learning resources - Web based and electronic resources
Downey, Allen "How to think like a Computer Scientist: Java version", 4th Edition, Green Tree Press (2004).
This is an open source book and is available freely online at 19/11/12 14/5/13
Last revision date