This module is a first course in computer programming.
The principal aim of this module is to introduce students to problem solving and structured and object oriented programming.
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Fundamentals of programming
Introduction to programming: Programming paradigms; From Specification through Algorithms to Implementation; Program compilation and testing.
Building Elements: Preconditions and postconditions; Basic data types; Variables, identifiers and scope.
Control structures: Conditionals; Case statements and loops; Correctness issues when programming with loops.
Methods: Comparison between iteration and recursion.
Object oriented programming
Programming with objects and classes: Complex data types; Parameter passing by reference and by value; Encapsulation.
Arrays and strings
Class inheritance: Dynamic binding; Multiple inheritance; Interfaces and abstract classes.
Design, construction and testing
Program specifications
Error handling
Methods of testing
By the end of the module, students should be able to:
Please see Talis Aspire link for most up to date list.
View reading list on Talis Aspire
Experience with the Java programming language
Understanding of Data Types
Iterative Statements
Conditional Statements
Imperative Programming
Object Oriented Programming
Inheritance
Error Handling
Passing by value vs passing by reference.
Learning to thinking programatically and algorithmically and how to take a specification and turn it into a plan for a program.
Coding
Problem solving
Communication skills (verbal)
Critical thinking
Type | Required |
---|---|
Lectures | 20 sessions of 1 hour (13%) |
Practical classes | 10 sessions of 1 hour (7%) |
Private study | 120 hours (80%) |
Total | 150 hours |
A significant proportion of independent study should be spent with the coursework assignments, and also completing the problems sheets. The rest should be revision of the material and practising the concepts discussed.
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Students can register for this module without taking any assessment.
Weighting | Study time | |
---|---|---|
Programming assignment 1 | 20% | |
Programming assignment 2 | 20% | |
In-person Examination | 60% | |
Exam
|
Weighting | Study time | |
---|---|---|
In-person Examination - Resit | 100% | |
Resit Exam
|
Written feedback via Tabula.
If you pass this module, you can take:
This module is Core for: