Internal

CS2PJ20NU - Programming in Java

CS2PJ20NU-Programming in Java

Module Provider: Computer Science
Number of credits: 20 [10 ECTS credits]
Level:5
Semesters in which taught: Semester 1 / 2 module
Pre-requisites: CS1PC20NU Programming in C/C++
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2022/3

Module Convenor: Dr Sadhana Jha
Email: sadhana.jha@reading.ac.uk

NUIST Module Lead:
Email:

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.).



The Module leads at NUIST is TBD.


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.


Contact hours:
  Semester 1 Semester 2
Lectures 28 20
Practicals classes and workshops 20 28
Guided independent study:    
    Wider reading (independent) 10 10
    Advance preparation for classes 10 10
    Preparation of practical report 20 20
    Revision and preparation 10 10
    Reflection 2 2
     
Total hours by term 100 100
     
Total hours for module 200

Summative Assessment Methods:
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 (50%) 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.
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.


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: 22 February 2023

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

Things to do now