Object-Oriented Programming

The details
Computer Science and Electronic Engineering (School of)
Colchester Campus
Undergraduate: Level 4
Monday 17 January 2022
Friday 25 March 2022
23 June 2021


Requisites for this module



Key module for

BSC C831 Cognitive Science,
BSC C832 Cognitive Science (Including Year Abroad),
BSC C833 Cognitive Science (Including Placement Year),
BSC C834 Cognitive Science (Including Foundation Year),
BSC G610 Computer Games,
BSC G612 Computer Games (Including Year Abroad),
BSC G620 Computer Games (Including Foundation Year),
BSC I610 Computer Games (Including Placement Year),
BENGG420 Computer Networks,
BENGG421 Computer Networks (Including Year Abroad),
BENGG520 Computer Networks (Including Foundation Year),
BENGI120 Computer Networks (Including Placement Year),
BSC G400 Computer Science,
BSC G401 Computer Science (Including Year Abroad),
BSC G403 Computer Science (Including Foundation Year),
BSC I101 Computer Science (Including Placement Year),
MSCIG402 Computer Science,
MSCII100 Computer Science (Integrated Masters, Including Placement Year),
BENGH650 Computer Systems Engineering,
BENGH651 Computer Systems Engineering (Including Year Abroad),
BENGH750 Computer Systems Engineering (Including Foundation Year),
BENGHP50 Computer Systems Engineering (Including Placement Year),
BENGGH46 Computers with Electronics (Including Foundation Year),
BENGGH4P Computers with Electronics,
BENGGH4Q Computers with Electronics (Including Year Abroad),
BENGI1H6 Computers with Electronics (Including Placement Year),
BSC GH56 Information and Communication Technology,
BSC G1G4 Mathematics with Computing (Including Year Abroad),
BSC G1G8 Mathematics with Computing (Including Foundation Year),
BSC G1GK Mathematics with Computing,
BSC G1IK Mathematics with Computing (Including Placement Year),
BSC I1G3 Data Science and Analytics,
BSC I1GB Data Science and Analytics (Including Placement Year),
BSC I1GC Data Science and Analytics (Including Year Abroad),
BSC I1GF Data Science and Analytics (Including Foundation Year),
BENGH615 Robotic Engineering,
BENGH616 Robotic Engineering (Including Year Abroad),
BENGH617 Robotic Engineering (Including Placement Year),
BENGH618 Robotic Engineering (Including Foundation Year),
BSC G111 Computing,
BSC G112 Computing (Including Year Abroad),
BSC G113 Computing (Including Placement Year),
BSC GH01 Computing and Electronics,
BSC GH02 Computing and Electronics (Including Year Abroad),
BSC GH03 Computing and Electronics (Including Placement Year),
BSC GH3P Computing and Electronics (Including Foundation Year),
BSC LG01 Economics with Computing,
BSC LG02 Economics with Computing (Including Year Abroad),
BSC LG03 Economics with Computing (Including Placement Year),
BSC LG04 Economics with Computing (Including Foundation Year),
BENGH730 Mechatronic Systems,
BENGH731 Mechatronic Systems (Including Year Abroad),
BENGH732 Mechatronic Systems (Including Placement Year),
BENGH733 Mechatronic Systems (Including Foundation Year),
BSC L310 Sociology with Data Science,
BSC L311 Sociology with Data Science (including Year Abroad),
BSC L312 Sociology with Data Science (including Placement Year),
BSC L313 Sociology with Data Science (including foundation Year),
BSC H737 Mechatronics,
BSC H738 Mechatronics (including Placement Year),
BSC H739 Mechatronics (including Year Abroad),
BSC H717 Robotics,
BSC H718 Robotics (including Placement Year),
BSC H719 Robotics (including Year Abroad),
BSC LL20 Politics with Data Science,
BSC LL21 Politics with Data Science,
BSC LL22 Politics with Data Science,
BSC I400 Artificial Intelligence,
BSC I401 Artificial Intelligence (including Foundation Year),
BSC I402 Artificial Intelligence (including Placement Year),
BSC I403 Artificial Intelligence (including Year Abroad)

Module description

The module will provide an introduction to the fundamentals of object-oriented programming using Java. Students will analyse, write and explain Java programs using a range of control structures. They will define classes and use objects of those classes. Students will study inheritance and polymorphism and perform file-based I/O, event handling and some simple graphical components.

Module aims

The aim of this module is to provide an introduction to the fundamentals of object-oriented programming using Java.

Module learning outcomes

After successfully completing this module, students will be able to:

1. analyse, write and explain Java programs that utilise primitive and reference types and make use of a range of control structures including iteration, recursion and exception handling.
2. analyse, write and explain programs that define classes and use objects of those classes.
3. analyse, write and explain programs that utilise inheritance and polymorphism.
4. analyse, write and explain programs that use parts of a platform API to perform file-based I/O, event handling and display of simple graphical components.
5. demonstrate an understanding of the programming constructs and techniques introduced in this module.

Module information

Outline Syllabus

Introduction to Object-Oriented Programming
Primitive and reference types (Classes, Objects and Arrays)
Inheritance and Polymorphism
Flow of Control (iteration, try-catch blocks, recursion)
File I/O
Dealing with Collections of Objects (Lists and Maps)
GUI Programming

Learning and teaching methods

Lectures and Laboratories


The above list is indicative of the essential reading for the course. The library makes provision for all reading list items, with digital provision where possible, and these resources are shared between students. Further reading can be obtained from this module's reading list.

Assessment items, weightings and deadlines

Coursework / exam Description Deadline Weighting
Coursework   Progress Test     20% 
Coursework   Lab Exercise 1 - Week 18  04/02/2022  10% 
Coursework   Lab Exercise 2 - Week 21  25/02/2022  10% 
Coursework   Lab Exercise 3 - Week 24  18/03/2022  10% 
Coursework   Java Programming Exercise  26/04/2022  50% 
Exam  120 minutes during January (Reassessment) 

Overall assessment

Coursework Exam
100% 0%


Coursework Exam
100% 0%
Module supervisor and teaching staff
Dr Sebastian Halder, email: s.halder@essex.ac.uk.
Dr Sebastian Halder, Dr David Richerby
CSEE School Office, email: csee-schooloffice (non-Essex users should add @essex.ac.uk to create full e-mail address), Telephone 01206 872770



External examiner

No external examiner information available for this module.
Available via Moodle
Of 1643 hours, 80 (4.9%) hours available to students:
1563 hours not recorded due to service coverage or fault;
0 hours not recorded due to opt-out by lecturer(s).


Further information

Disclaimer: The University makes every effort to ensure that this information on its Module Directory is accurate and up-to-date. Exceptionally it can be necessary to make changes, for example to programmes, modules, facilities or fees. Examples of such reasons might include a change of law or regulatory requirements, industrial action, lack of demand, departure of key personnel, change in government policy, or withdrawal/reduction of funding. Changes to modules may for example consist of variations to the content and method of delivery or assessment of modules and other services, to discontinue modules and other services and to merge or combine modules. The University will endeavour to keep such changes to a minimum, and will also keep students informed appropriately by updating our programme specifications and module directory.

The full Procedures, Rules and Regulations of the University governing how it operates are set out in the Charter, Statutes and Ordinances and in the University Regulations, Policy and Procedures.