Introduction to Programming (G6089A)
Introduction to Programming
Module G6089A
Module details for 2024/25.
15 credits
FHEQ Level 4
Module Outline
This module provides an introduction to programming concepts and techniques, as well as elementary software development principles. Both for absolute beginners and for those with prior programming experience, the module introduces the fundamentals of object-oriented programming, including: classes and objects, variables and assignment, primitive and object types, methods, control structures, collections, iteration and recursion. The module also provides an introduction to basic software development issues such as class design, testing, debugging and documentation.
Core Texts:
Barnes, D. and M. Kölling (2011) Objects First with Java: A Practical Introduction Using BlueJ, Pearson.
Vickers, P. (2009) How to Think like a Courser: Program Design Solutions for the Bewildered, Cengage Learning
Apprentices will demonstrate knowledge of fundamental imperative programming concepts such as variables and assignment, conditional statements, loops and methods. They will code an application in a suitable object-oriented programming language, from a detailed software specification. They will demonstrate knowledge of basic concepts and principles of object-orientation such as objects and classes, encapsulation, object state, coupling, cohesion and modularity. They will show awareness of basic principles of software design and development including appropriate naming of variables and classes, code lay out, testing and debugging, and documentation.
Module learning outcomes
Demonstrate knowledge of fundamental imperative programming concepts such as variables and assignment, conditional statements, loops and methods
Code an application in a suitable object-oriented programming language, from a detailed software specification
Evidence knowledge of basic concepts and principles of object-orientation such as objects and classes, encapsulation, object state, coupling, cohesion and modularity
Show awareness of basic principles of software design and development including appropriate naming of variables and classes, code lay out, testing and debugging, and documentation
Type | Timing | Weighting |
---|---|---|
Coursework | 100.00% | |
Coursework components. Weighted as shown below. | ||
Project | VACATION Week 8 | 40.00% |
Computer Based Exam | VACATION Week 9 (1 hour 30 minutes) | 60.00% |
Timing
Submission deadlines may vary for different types of assignment/groups of students.
Weighting
Coursework components (if listed) total 100% of the overall coursework weighting value.
Term | Method | Duration | Week pattern |
---|---|---|---|
Summer Teaching | Online Lecture | 2 hours | 101 |
Summer Teaching | Workshop | 3 hours | 010 |
Summer Teaching | Online Seminar | 1 hour | 000 |
How to read the week pattern
The numbers indicate the weeks of the term and how many events take place each week.
Please note that the University will use all reasonable endeavours to deliver courses and modules in accordance with the descriptions set out here. However, the University keeps its courses and modules under review with the aim of enhancing quality. Some changes may therefore be made to the form or content of courses or modules shown as part of the normal process of curriculum management.
The University reserves the right to make changes to the contents or methods of delivery of, or to discontinue, merge or combine modules, if such action is reasonably considered necessary by the University. If there are not sufficient student numbers to make a module viable, the University reserves the right to cancel such a module. If the University withdraws or discontinues a module, it will use its reasonable endeavours to provide a suitable alternative module.