COMP20300 Java Programming (Mixed Delive

Academic Year 2022/2023

This module aims to introduce learners to the fundamentals of Java and develop high quality, working software that solves real-world problems. The module assumes prior learning of at least one high-level language (Python, C, C++, or similar): it is not a general introduction to programming. Learners with no prior programming experience are not advised to take this module.

The module will introduce the fundamental data types, loops, conditionals etc., to acquaint the learner with Java core concepts. More emphasis will be placed on to class and object design (including associated unit testing and exception handling). In the final part, inheritance, polymorphism, and interfaces. Throughout the module, case studies, practicals and examples that utilise UI components will be leveraged.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

When students have successfully completed this module they should be able to:
1. Develop and test Java programs that have a range of properties (e.g. I/O, Events, UI, etc.)
2. Show fluency in selecting and using core Java components
3. Show an understanding of the theoretical underpinnings of the Java language
4. Design, implement, and extend basic Object-Oriented systems in Java
5. Become familiar with the core Java API.

Indicative Module Content:

Part I - Fundamentals: Data types, Loops, Conditionals, Arrays / Collections
Part II - Class Design, Intro to Object-Oriented Programming, Unit Testing, Exceptions
Part III - Inheritance, Polymorphism, and Interfaces

Student Effort Hours: 
Student Effort Type Hours
Autonomous Student Learning




Online Learning




Approaches to Teaching and Learning:
As a mixed delivery module, much of the teaching and learning will be through video-lectures supported by online tutorials (a flipped classroom approach, i.e. students are expected to attend tutorials having completed / attempted the current week's work) to afford discussion and additional coverage of core topics and concepts. The module as a whole will be problems focussed where students will solve practical programming challenges for each of the topics covered. A significant project (a JavaFX game) will afford students the opportunity to define their own aims and objectives within a specific context. 
Requirements, Exclusions and Recommendations
Learning Requirements:

Familiarity of at least one high-level programming language

Module Requisites and Incompatibles
COMP20250 - Introduction to Java, COMP30820 - Java Programming (Conv)

Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Practical Examination: An open book THREE hour programming exam 2 hour End of Trimester Exam n/a Alternative linear conversion grade scale 40% No


Continuous Assessment: Weekly Micro Assignments Throughout the Trimester n/a Alternative linear conversion grade scale 40% No


Assignment: Individual Project Coursework (End of Trimester) n/a Alternative linear conversion grade scale 40% No


Carry forward of passed components
Resit In Terminal Exam
Spring Yes - 2 Hour
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Online automated feedback

How will my Feedback be Delivered?

For the in-class practical examination, and project, individual feedback will be provided. For the weekly CAs, feedback will comprise online automated feedback.

Name Role
Mr David Kilroy Tutor
Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Practical Offering 1 Week(s) - Autumn: All Weeks Tues 09:00 - 10:50