Internal

CS2PJ20 - Programming in Java

CS2PJ20-Programming in Java

Module Provider: Computer Science
Number of credits: 20 [10 ECTS credits]
Level:5
Terms in which taught: Autumn / Spring term module
Pre-requisites: CS1PC20 Programming in C/C++
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2023/4

Module Convenor: Prof Richard Mitchell
Email: r.j.mitchell@reading.ac.uk

Type of module:

Summary module description:

This module introduces to students the fundamentals of programming using Java and its usage in developing real world applications. It will be delivered in two parts and will comprise of in-person lectures and practical sessions to provide students with hands-on experience of writing Java programs using integrated development environment tools. The first part will focus on the syntax, semantics and idioms of Java programming language and in the second part focus will be on introducing concepts of Android programming using Java.


Aims:

This module will make students able to write their own Java programs, understand, debug, analyse and improve prewritten java programs. It will equip students with the skills needed to make web and android applications using Java. Also, the students will get encouraged to develop a set of professional skills like efficient approach for problem solving, software design and development, creativity, technical report writing and working in team.   


Assessable learning outcomes:

On completion of this module, students will be able to




  • Implement object-oriented designs with Java.

  • Identify Java language components and how they work together in applications.

  • Design, program and debug Java applications

  • Extend Java classes with inheritance and dynamic binding

  • Use the Java Collections API and generates API documentation for their own application

  • Understand how the various components of an Android app work

  • Develop deployable android apps


Additional outcomes:

Students will have a more logical approach towards solving a programming problem. They will be able to understand and learn semantics of any new programming languages easily. They will learn how to improve the efficiency of applications by exploiting the advanced features of Integrated Development Environments. They will understand the benefits of team work and learn to present their work in professional way.


Outline content:


  • Introduction to Java Programming

  • Object Oriented Programming in Java using classes

  • Structure of the Java Language 

  • Developing GUIs (Widgets, Event driven Programming)

  • Storing and Retrieving Data with File I/O

  • Working with Databases (JDBC, MySQL)

  • Java development tools (JDK, JAR, IDEs)

  • Android app development


Brief description of teaching and learning methods:

The module is delivered in two terms and will include both in-person offline classes of weekly one-hour and weekly two hours practical sessions.  Lab sessions will be  in the form of  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. The summative assessment will include two pieces of written coursework.


Contact hours:
  Autumn Spring Summer
Lectures 10 10
Practicals classes and workshops 20 20
Guided independent study:      
    Wider reading (independent) 10 10
    Wider reading (directed) 10 10
    Exam revision/preparation 10 10
    Advance preparation for classes 10 10
    Preparation for presentations 5 5
    Completion of formative assessment tasks 10 10
    Dissertation writing 5 5
    Reflection 10 10
       
Total hours by term 100 100 0
       
Total hours for module 200

Summative Assessment Methods:
Method Percentage
Set exercise 100

Summative assessment- Examinations:

Summative assessment- Coursework and in-class tests:

The coursework comprises:




  • One Java based web application (50%) in Autumn Term

  • One Android app (50%) in Spring Term


Formative assessment methods:

Weekly group-based exercises which students need to solve and submit the solution before the next practical session, 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.
The University policy statement on penalties for late submission can be found at: https://www.reading.ac.uk/cqsd/-/media/project/functions/cqsd/documents/cqsd-old-site-documents/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:

One 3-hour examination paper in August/September.  Note that the resit module mark will be the higher of (a) the mark from this resit exam and (b) an average of this resit exam mark and previous coursework marks, weighted as per the first attempt (30% exam, 70% coursework).


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: 7 August 2023

THE INFORMATION CONTAINED IN THIS MODULE DESCRIPTION DOES NOT FORM ANY PART OF A STUDENT'S CONTRACT.

Things to do now