Programming - 2024 entry
MODULE TITLE | Programming | CREDIT VALUE | 15 |
---|---|---|---|
MODULE CODE | ECM1400 | MODULE CONVENER | Dr Matt Collison (Coordinator) |
DURATION: TERM | 1 | 2 | 3 |
---|---|---|---|
DURATION: WEEKS | 11 | 0 | 0 |
Number of Students Taking Module (anticipated) | 97 |
---|
We use computers in almost all aspects of our daily lives and throughout science, so it is easy to take them for granted. However, in order that we can use computers to solve new problems and create new things, we have to be able to program them. This module introduces you to programming and problem solving with a computer. You will learn how to formulate an algorithm to solve a problem, and you will acquire the skills to write, test and debug programs.
This module is an introductory course in computer programming and will introduce you to the fundamental concepts of computer algorithms and programming, with a strong emphasis on practical implementation. You will also learn how to apply analytical and problem-solving skills to the design and implementation of small applications.
On successful completion of this module, you should be able to:
Module Specific Skills and Knowledge:
1 design an algorithm, using sequence, iteration and selection;
2 write, compile, test, and debug a computer program;
3 explain how a program written in a procedural language is translated into a form that allows it to be executed on a computer;
4 systematically test your programs;
5 document software to accepted standards;
6 design an algorithm, using a divide and conquer strategy;
7 demonstrate familiarity with basic numerical and discrete algorithms;
Discipline Specific Skills and Knowledge:
9 systematically break down a problem into its components;
10 understand and choose appropriate programming techniques.
Personal and Key Transferable/ Employment Skills and Knowledge:
11 analyse a problem and synthesise a solution;
12 use technical manuals and books to interpret specifications and technical errors.
Problem solving and programming overview: algorithms, flow charts; pseudo-code; compilers and interpreters;
Python as a language: statements, comments and simple arithmetic operations;
variables, and data types;
functions: encapsulation and abstraction; arguments and return values; namespaces and scope;
sequences and iteration: lists, loops, nested loops; accumulation as a programming idiom;
flow control: conditional expressions, while loops; searching by bisection and bracketing;
integer and floating point representation; numerical precision;
mutable and immutable variables, and sequences: tuples, lists and strings;
simulation: pseudo-random numbers;
larger programs; encapsulation and program organisation;
input/output and exceptions;
recursion: divide and conquer algorithms; memoisation;
associative arrays, hashing and dictionaries;
basic functional programming constructions: map, filter, reduce, anonymous functions;
searching and sorting: linear search versus bisection; insertion sort, bubble sort, merge sort.
Scheduled Learning & Teaching Activities | 42 | Guided Independent Study | 108 | Placement / Study Abroad | 0 |
---|
Category | Hours of study time | Description |
Scheduled learning and teaching activities | 22 | Lectures |
Scheduled learning and teaching activities | 20 | Workshops/tutorials |
Guided independent study | 66 | Individual assessed work |
Guided independent study | 42 | Lecture and assessment preparation |
Form of Assessment | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|
Workshop Exercises | 2 hours per week | 1-12 | Model Answers and verbal feedback |
Coursework | 100 | Written Exams | 0 | Practical Exams | 0 |
---|
Form of Assessment | % of Credit | Size of Assessment (e.g. duration/length) | ILOs Assessed | Feedback Method |
---|---|---|---|---|
Coursework 1 | 30% | 40 hours | All | Written |
Coursework 2 | 70% | 40 hours | All | Written |
Original Form of Assessment | Form of Re-assessment | ILOs Re-assessed | Time Scale for Re-assessment |
---|---|---|---|
Coursework 1 | Coursework (30%) | All | Completed over the summer with a deadline in August |
Coursework 2 | Coursework (70%) | All | Completed over the summer with a deadline in August |
Reassessment will be by coursework in the failed or deferred element only. For referred candidates, the module mark will be capped at 40%. For deferred candidates, the module mark will be uncapped.
information that you are expected to consult. Further guidance will be provided by the Module Convener
Web based and Electronic Resources:
Think Python website: http://www.greenteapress.com/thinkpython/
Python language website: http://www.python.org
Reading list for this module:
Type | Author | Title | Edition | Publisher | Year | ISBN |
---|---|---|---|---|---|---|
Set | Allen B. Downey | Think Python: How to think like a Computer Scientist | O`Reilly Media | 2012 | 978-1449330729 | |
Set | Zelle, J. | Python Programming: An Introduction to Computer Science | 2nd Edition | Franklin, Beedle & Associates | 2010 | 978-1590282410 |
Set | Summerfield Mark | Programming in Python3 | 2nd Edition | Addison Wesley | 2010 | 978-0321680563 |
Set | Hunt, Andrew; Thomas, David | The Pragmatic Programmer | 1st | Pearson | 1999 | 978-0201616224 |
CREDIT VALUE | 15 | ECTS VALUE | 7.5 |
---|---|---|---|
PRE-REQUISITE MODULES | None |
---|---|
CO-REQUISITE MODULES | None |
NQF LEVEL (FHEQ) | 4 | AVAILABLE AS DISTANCE LEARNING | No |
---|---|---|---|
ORIGIN DATE | Tuesday 10th July 2018 | LAST REVISION DATE | Tuesday 10th September 2024 |
KEY WORDS SEARCH | Computer; programming; algorithms; problem solving; Python. |
---|
Please note that all modules are subject to change, please get in touch if you have any questions about this module.