Introduction to Object-Oriented Programming Using Java

Overview

Java is an excellent language to introduce object-oriented programming. After commencing with the traditional procedural programming constructs the course moves swiftly onto the object-oriented paradigm. During the course we will cover: the creation of classes, overloading constructors and methods, arrays, polymorphism, encapsulation, the public, protected and private interfaces, inheritance, abstract classes and graphics programming via the Abstract Window Toolkit (AWT), JSwing and JavaFX.

The course will also introduce elements of software engineering development models ranging from the Waterfall model to the Agile approach, in addition to testing strategies such as JUnit Testing, and 'black box' testing. The course will also include a lecture that will explain how some data structures can be conveniently implemented through Java's Collections Framework.

Programme details

Course begins: 16 Jan 2023

Week 0:  Course orientation

Week 1:   History of Java, JVM, Software Development, Variables, and I/O

Week 2:   Selection and Iteration

Week 3:   Methods and Arrays (including multi-dimensional arrays)

Week 4:   Classes and Objects

Week 5:   Collections, generics, enumerate types

Week 6:   Inheritance, abstract classes, interfaces

Week 7:   Graphics programming

Week 8:   Exception handling

Week 9:   File handling

Week 10:  Advanced graphics programming

Certification

Students who register for CATS points will receive a Record of CATS points on successful completion of their course assessment.

To earn credit (CATS points) you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Coursework is an integral part of all weekly classes and everyone enrolled will be expected to do coursework in order to benefit fully from the course. Only those who have registered for credit will be awarded CATS points for completing work at the required standard.

Students who do not register for CATS points during the enrolment process can either register for CATS points prior to the start of their course or retrospectively from the January 1st after the current full academic year has been completed. If you are enrolled on the Certificate of Higher Education you need to indicate this on the enrolment form but there is no additional registration fee.

Fees

Description Costs
Course Fee £260.00
Take this course for CATS points £10.00

Tutor

Dr Nicholas Day

Dr Nicholas Day teaches computer programming in C#, C++, Java and Python at both Buckinghamshire New University and Oxford University. Nicholas started his career as an Associate Lecturer at Buckinghamshire New University in late 2014, progressing to become a Graduate Teaching Associate in February 2020 and is now a Lecturer at the same institution, since August 2021. He completed the PGCert in Teaching and Learning in 2015 and also acquired fellowship of AdvanceHE (previously Higher Education Academy). Between 2016 and 2019, Nicholas assisted Dr Vasos Pavlika with the delivery of introductory programming courses in C++ and Java for the Department for Continuing Education at Oxford University. He was empanelled as a Department Tutor in 2019 and started delivered an Introduction to Object-Oriented Programming Using Java, later adapting the course for online delivery in 2022. He has also started researching and teaching Artificial Intelligence and Data Science material.

Nick’s scholarly interests are Computer Science Education (CSEd), Computing Education Research (CER), and online pedagogy. He completed his PhD in March 2020, which investigated the learning and teaching of computer science education, specialising in delivery of computer programming modules. Post-PhD completion, Nicholas is involved with Knowledge Transfer Partnership (KTP) applications and in discussion with data-driven companies regarding research projects and consultancy work. Nicholas also now supervises current PhD students in fields associated with Data Science and Virtual Reality, in addition to mentoring departmental colleagues who are undertaking PhD research. During the COVID-19 pandemic, Nicholas began teaching online and recording videos to increase access and engagement with educational material. He passionate about pedagogy and utilises his research findings to inform curriculum design.

Course aims

Java will be be used to introduce Object Oriented Programming, commencing at an introductory level. The course will cover encapsulation, inheritance, polymorphism, software engineering, graphics programming and exception handling.

Course Objectives

• To introduce Java syntax.

• To introduce the OO paradigm.

• To introduce graphics programming.

Teaching methods

In the online version of this course, there will be pre-recorded lecture recordings released weekly. Students are then expected to attempt the accompanying tutorial exercises and bring their solutions to the weekly live online sessions for review and discussion. Students are also encouraged to attempt the formative (unassessed) quizzes to review their understanding of the concepts and principles taught in the weekly lectures.

 

Learning outcomes

By the end of the course students will be expected to:

1. Understand Java syntax and program design;

2. Understand the OO paradigm;

3. Understand graphical objects used in Java.

After attending this course, students will know:

• Foundational programming concepts such as variables, selection and iterative statements, methods, and arrays.

• How to apply Object-Oriented Programming concepts (including inheritance, polymorphism and encapsulation) to basic Java applications.

• How to create basic front-end interfaces for Java applications through the use of Java's Abstract Window Toolkit (AWT) and JavaFX.

Assessment methods

One piece of coursework will be set which on successful completion will count towards the award of 10 CATS points. The assessment will be a set of ten questions that will enable students to demonstrate an understanding of the material discussed during each week of the course.

Students must submit a completed Declaration of Authorship form at the end of term when submitting your final piece of work. CATS points cannot be awarded without the aforementioned form - Declaration of Authorship form

Application

We will close for enrolments 7 days prior to the start date to allow us to complete the course set up. We will email you at that time (7 days before the course begins) with further information and joining instructions. As always, students will want to check spam and junk folders during this period to ensure that these emails are received.

To earn credit (CATS points) for your course you will need to register and pay an additional £10 fee per course. You can do this by ticking the relevant box at the bottom of the enrolment form or when enrolling online.

Please use the 'Book' or 'Apply' button on this page. Alternatively, please complete an application form.

Level and demands

Before attending this course, prospective students will know:

• Basic digital literacy skills and have experience with using computers.

• Previous programming experience (printing "Hello World" to the screen, declaring variables, writing loops etc.) is desirable but not essential.

• Basic understanding of mathematics, logic, and abstract reasoning skills may also be beneficial for solving unfamiliar computational problems.

Most of the Department's weekly classes have 10 or 20 CATS points assigned to them. 10 CATS points at FHEQ Level 4 usually consist of ten 2-hour sessions. 20 CATS points at FHEQ Level 4 usually consist of twenty 2-hour sessions. It is expected that, for every 2 hours of tuition you are given, you will engage in eight hours of private study.

Credit Accumulation and Transfer Scheme (CATS)