CS2PJ20-Programming in Java
Module Provider: School of Mathematical, Physical and Computational Sciences
Number of credits: 20 [10 ECTS credits]
Level:5
Terms in which taught: Autumn / Spring term module
Pre-requisites: CS1PR16 Programming or CS1PC20 Programming in C/C++
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2021/2
Module Convenor: Dr Varun Ojha
Email: v.k.ojha@reading.ac.uk
Type of module:
Summary module description:
The module introduces the students to Object-Oriented programming with the Java language. The module covers the discipline, methodologies, and techniques of software development in Java. Knowledge of the C language syntax and experience of structured programming is a pre-requisite. The module is designed for students with some programming experience. The module is delivered in two terms. In the Autumn term the module introduces the basics of Object-Oriented Programming in Java (e.g. classes, objects, inheritance hierarchies, I/O, etc.). In the Spring term the module covers the advanced topics and techniques (e.g. data structures, networking, GUI, etc.).
Aims:
This module improves students’ programming skills. It exposes the students to advanced programming techniques and methodologies. The practical activities of this module are fundamental to build sufficient skills and confidence to approach part 3 modules which require programming activities and the final year project.
This module also encourages students to develop a set of professional skills such as problem solving, software design and development and creativity.
Assessable learning outcomes:
Students are expected to master the Java language and be able to develop complete stand-alone and network applications with a Graphical User Interface. They will also be able to describe the main elements of Object-Oriented programming in general and with respect to the syntax of the Java programming language in particular. Upon completion of this module, students will be able to:
- Compile and run a Java application from the command l ine and within IDEs.
- Understand the role of the Java Virtual Machine and the Java bytecode in achieving platform independence.
- Navigate through the API docs.
- Generates API documentation for their own software.
- Understand the Object Oriented paradigm and correctly use it in Java programs.
- Understand the division of classes into Java packages.
- Use Exceptions to handle run time errors.
- Select the proper I/O class among those provided by the JDK.
- Select the proper data structures among those provided in the JCF.
- Use threads in order to create more efficient Java programs.
- Use network protocol within Java applications.
- Design and develop GUIs.
Additional outcomes:
Students will become familiar with the Standard Java API (Application Programming Interface) and cross-platform libraries. They will also learn how to improve programming proficiency by exploiting the advanced features of Integrated Development Environments like Eclipse.
Outline content:
- Object-Oriented programming;
- Abstraction, Encapsulation, Inheritance, Polymorphism;
- Java Virtual Machine and the Java 2 Platforms;
- Overview of the Java programming language;
- Java syntax and code conventions;
- Classes, Objects, Interfaces, Abstract Classes;
- Java cross-platform libraries (API);
- Threads, Exception handling, Garbage collection;
- Java Input/Out put system;
- Java Collections Framework;
- Java Foundation Classes, model-delegate GUI design and event-driven programming;
- Client/Server applications and Internet protocols;
- Unit testing;
- Java in Mobile Computing (Android).
Brief description of teaching and learning methods:
The module is delivered in flipped mode using videos and practical activities. Practical work is in the form of tutorials, programming exercises and assessed coursework. Students will incrementally develop software applications by extending example code to reinforce most of the topics presented in the lectures.
Autumn | Spring | Summer | |
Lectures | 5 | 5 | |
Practicals classes and workshops | 15 | 15 | |
Guided independent study: | |||
Wider reading (independent) | 22 | 22 | |
Wider reading (directed) | 10 | 10 | |
Exam revision/preparation | 6 | ||
Advance preparation for classes | 25 | 25 | |
Preparation for presentations | 8 | 8 | |
Completion of formative assessment tasks | 4 | ||
Reflection | 10 | 10 | |
Total hours by term | 99 | 101 | 0 |
Total hours for module | 200 |
Method | Percentage |
Set exercise | 100 |
Summative assessment- Examinations:
Summative assessment- Coursework and in-class tests:
The assessment comprises:
- One program in Java (40%), and an online test of key aspects of Java (10%) in the Autumn Term;
- One program in Android (40%), and an online test of key aspects of Android (10%) in the Spring Term;
Formative assessment methods:
Weekly online tests associated with practical sessions, providing opportunities for feedback.
Penalties for late submission:
The Support Centres will apply the following penalties for work submitted late:
- where the piece of work is submitted after the original deadline (or any formally agreed extension to the deadline): 10% of the total marks available for that piece of work will be deducted from the mark for each working day (or part thereof) following the deadline up to a total of five working days;
- where the piece of work is submitted more than five working days after the original deadline (or any formally agreed extension to the deadline): a mark of zero will be recorded.
You are strongly advised to ensure that coursework is submitted by the relevant deadline. You should note that it is advisable to submit work in an unfinished state rather than to fail to submit any work.
Assessment requirements for a pass:
A mark of 40% overall.
Reassessment arrangements:
One 3-hour examination paper in August/September.
Additional Costs (specified where applicable):
1) Required text books: None
2) Specialist equipment or materials: None
3) Specialist clothing, footwear or headgear: None
4) Printing and binding: None
5) Computers and devices with a particular specification: None
6) Travel, accommodation and subsistence: None
Last updated: 29 July 2021
THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.