CS4001 - Programming (2021/22)
|Module specification||Module approved to run in 2021/22|
|Module level||Certificate (04)|
|Credit rating for module||30|
|School||School of Computing and Digital Media|
|Total study hours||300|
|Running in 2021/22||
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.
The student is also expected to develop their confidence needed to program solutions to problems through a series of practical programming exercises.
Assessment: Coursework 1 (30%) + Coursework 2 (30%) + Multiple choice test (40%) [Pass on aggregate]
Designing, coding, documenting and testing programs using an appropriate environment. LO5, LO6
Object-oriented elements, including the use of classes and objects. LO1, LO3
Data storage and memory concepts. LO1, LO2
Method calls and parameter passing. LO1, LO2
Iteration and selection constructs. LO1, LO2
Relational, logical and arithmetic operators. LO1, LO2
Inheritance and polymorphism. LO3
Abstract classes and interfaces. LO2, LO3
Introduction to collections. LO3
Graphical user interfaces. LO3, LO4
Exception handling and assertions. LO1, LO3
Command prompt compilation and execution. LO7
Balance of independent study and scheduled teaching activity
Students will 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 approaches and technologies, such as, the University’s VLE and online tools, will be used to facilitate and support student learning to:
• deliver content;
• encourage active learning;
• provide formative and summative assessments, and prompt feedback;
• enhance student engagement and learning experience.
Students will be expected and encouraged to produce reflective commentaries and an action plan for personal development on the learning activities and tasks that they carry out to complete their work, e.g. in the form of an assessed section of their coursework report.
On completing the module, the student 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.
Coursework 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 at the end of the module.
Consistent with University policy, formative and summative feedback will be provided at various points throughout the teaching year.
Where possible, the most current version of reading materials is used during the delivery of this module. Comprehensive reading lists are provided to students in their handbooks. Reading Lists will be updated annually.
• Barnes, D.J. & Kölling, M., 2016, Objects First with Java (6th edition), Pearson.
• Deitel, H. and Deitel, P., 2018, Java How to Program, 11th edition (or later). Pearson.
• Savitch, W., 2019, Java: An Introduction to Problem Solving and Programming, Global Edition, 8/E. Pearson.
• Gaddis, T., 2019, Starting Out with Java: From Control Structures through Objects, 7/E, Pearson.
• The Computer Journal of the British Computer Society, ISSN 1460-2067 (Electronic); Publisher: Oxford: Oxford Journals, Oxford, UK: Oxford University Press.
• BlueJ: http://www.bluej.org/
• Java API: http://download.oracle.com/javase/7/docs/api/
• Oracle Java home page: http://www.oracle.com/technetwork/java/index.html
• Safari Books Online
Electronic Databases (available from the University Library)
• ACM Digital Library
• IEEE Xplore/IET Digital Library