COMP20300 Java Programming (Mixed Delive

Academic Year 2021/2022

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


Seminar (or Webinar)


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) 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 will afford students the opportunity to define their own aims and objectives towards a specific theme (e.g. developing a board game, or database system etc.) 
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
Continuous Assessment: Weekly Micro Assignments, Exercises, or Tests 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


Practical Examination: An open book 2 hour in-class programming exam Week 10 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
Alessandro Ragano 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 Mon 09:00 - 09:50