module specification

CS4001 - Programming (2017/18)

Module specification Module approved to run in 2017/18
Module title Programming
Module level Certificate (04)
Credit rating for module 30
School School of Computing and Digital Media
Total study hours 300
81 hours Scheduled learning & teaching activities
219 hours Guided independent study
Assessment components
Type Weighting Qualifying mark Description
Coursework 30%   Coursework 1 online submission 1200 words + software
Coursework 30%   Coursework 2 online submission 1200 words + software
In-Course Test 40%   Online multiple choice test 1.5 hours
Running in 2017/18
Period Campus Day Time Module Leader
Year (Spring and Summer) North Wednesday Morning
Year North Tuesday Afternoon

Module summary

This is an introductory programming module, designed to develop interest, ability and confidence in using a programming language. Students will gain the basic knowledge and experience to solve simple programming problems using established techniques in program design, development and documentation.

Prior learning requirements


Module aims

This module aims to develop the student's ability to design, analyse, implement and document computer programs. It also aims to give the student the opportunity to develop the confidence needed to program solutions to problems.


The main topics of study include:
designing, coding, documenting and testing programs using an appropriate environment
object-oriented elements, including the use of classes and objects
data storage and memory concepts
method calls and parameter passing
iteration and selection constructs
relational, logical and arithmetic operators
inheritance and polymorphism
abstract classes and interfaces
introduction to collections
graphical user interfaces
exception handling and assertions
command prompt compilation and execution

Learning and teaching

Students develop theoretical understanding and practical programming skills based on weekly lectures and workshops. Workshops consist of programming exercises designed to test and reinforce concepts that are introduced during the lectures.

Appropriate blended learning technologies, such as the University’s virtual learning environment, will be used to facilitate and support student learning, in particular to:
• deliver content;
• encourage active learning;
• provide formative and summative assessments with prompt feedback; 
• enhance student engagement and learning.

Students are encouraged to produce reflective commentaries on the tasks that they carry out for the coursework. They are expected to study the module materials and continue to work on the exercises and coursework outside the scheduled learning and teaching hours.

Learning outcomes

On successful completion of this module, students will be able to:

LO1 - Demonstrate an understanding of programming concepts
LO2 - Analyse a requirements specification and provide a software design satisfying the requirements
LO3 - Apply object-oriented concepts to solve programming problems in software implementation
LO4 - Build graphical user interfaces
LO5 - Describe and utilise known techniques for documenting and testing software
LO6 - Critically evaluate and reflect on their learning, development and achievements within the context of program development
LO7 - Use the command prompt  for program compilation and execution


Assessment strategy

Coursework [LO1, LO2, LO3, LO4, LO5, LO6, LO7] consists of two parts and takes the form of software development including documentation. It integrates concepts that have been assessed formatively by workshop exercises. Short practice tests prepare students for the multiple choice test [LO1, LO3, LO4, LO5, LO7] at the end of the module.



Indicative bibliography:
Barnes, D.J. & Kölling, M., Objects First with Java (5th edition), Pearson Education, 2011.
Bell, D. & Parr, M., Java for Students (6th edition), Prentice Hall, 2010.
Deitel, P.J. & Deitel H.M., Java – How to Program (9th edition) Pearson Education, 2011.

Key on-line resources:
Java API: