CS2JA16-Java
Module Provider: Computer Science
Number of credits: 20 [10 ECTS credits]
Level:5
Terms in which taught: Autumn / Spring term module
Pre-requisites: CS1PR16 Programming
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2019/0
Email: r.j.mitchell@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 line 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/Output 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 | 3 | 1 | |
Practicals classes and workshops | 20 | 20 | |
Guided independent study: | 77 | 79 | |
Total hours by term | 100 | 100 | |
Total hours for module | 200 |
Method | Percentage |
Set exercise | 100 |
Summative assessment- Examinations:
N/A.
Summative assessment- Coursework and in-class tests:
The assessment will comprise two major programs in Java each worth 40% of the marks, a set of weekly quizzes worth 10% and an online test on aspects of Java worth 10%.
Formative assessment methods:
Weekly practicals with opportunities for feedback.
Penalties for late submission:
The Module Convener will apply the following penalties for work submitted late:
The University policy statement on penalties for late submission can be found at: http://www.reading.ac.uk/web/FILES/qualitysupport/penaltiesforlatesubmission.pdf
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:
Examination only.
One 2-hour examination paper in August/September.
Additional Costs (specified where applicable):
1) Required text books:
2) Specialist equipment or materials:
3) Specialist clothing, footwear or headgear:
4) Printing and binding:
5) Computers and devices with a particular specification:
6) Travel, accommodation and subsistence:
Last updated: 8 April 2019
THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.