CS3101 - Programming (2024/25)
Module specification | Module approved to run in 2024/25 | ||||||||||||||||
Module title | Programming | ||||||||||||||||
Module level | Foundation (03) | ||||||||||||||||
Credit rating for module | 30 | ||||||||||||||||
School | School of Computing and Digital Media | ||||||||||||||||
Total study hours | 300 | ||||||||||||||||
|
|||||||||||||||||
Assessment components |
|
||||||||||||||||
Running in 2024/25(Please note that module timeslots are subject to change) |
|
Module summary
The module introduces students to theoretical concepts underpinning computer software design; and to programming using a high-level language concentrating on sequence, selection, iteration (loops) and list processing. It is assessed by three individual online tests (30%, 30%, and 40% weighting).
It aims to enable the student to use a programming language in a familiar and confident way in a variety of practical situations, and to use an integrated programming development environment competently.
It also enables the student to design and write simple programs during workshop time, using the programming language constructs described in the syllabus below.
Syllabus
• Program development using a PC editor and an interpreter/compiler and other elements of an integrated development environment such as help screens.
• Introduction to input and output by displaying messages, displaying prompts and accepting input.
• Writing simple programs using the correct syntax and layout, use of comment lines. Understanding error messages, debugging programs.
• Variables: types of values including strings, integers, floats and characters.
• The use of functions; assignment statements; arithmetic operators +, -, *, /, modulus and integer division.
• Conditional execution. Repetition using loops.
• In built data types including lists and list processing.
• Taking a problem and breaking it down into manageable chunks using stepwise refinement.
• Use of pseudo code and/or structure charts, and translating a problem solution into a program structure.
Learning Outcomes LO1 - LO4
Balance of independent study and scheduled teaching activity
A combination of:
• Lectures for defining theoretical concepts and to provide support for the workshop practical sessions
• Workshops for demonstrating and using software tools to acquire hands-on experience and build solutions. Open learning materials will encourage the students to work at their own speed and develop their self-learning skills.
• Progress tests, both formative and summative, will take place throughout this year long module to enable feedback for learning. Students are expected to spend time on directed reading and additional exercises to prepare for the progress tests and to attend all tests and face to face feedback sessions.
• Blended learning through the use of a Virtual Learning Environment (VLE) for providing open learning study materials, setting problem scenarios, providing prepared solutions. Students will be encouraged to use the VLE to manage their own learning.
• Demonstration of software solutions for evaluation and reflection of individual learning.
Learning outcomes
LO1: Describe and use the main elements of computer systems and be able to use these systems and present information in an ethical and professional manner.
LO2: Appreciate the need and relevance of I/O, data types, including arrays, numbering systems, functions, algorithms, loops, etc.
LO3: Use a high level programming language together with its integrated development environment and develop tests to find faults and improve software robustness and correctness based on the workshop tasks.
LO4: Analyse a problem and produce an algorithm and then a structured program to solve the problem using a top down technique such as stepwise refinement of pseudo-code.
Bibliography
https://rl.talis.com/3/londonmet/lists/76B5E35C-956B-0B89-CA3D-A3DC2E91C8E0.html
Core:
• Zelle, John M. 2016; Python Programming: An Introduction to Computer Science, 3rd Edition; Publisher: Franklin, Beedle & Associates Inc; ISBN 1590282752, 9781590282755
• Fletcher Bader, Dan; etc., 2021; Python Basics: A Practical Introduction to Python 3; Publisher: Real Python (Realpyton.com); ISBN: 1775093328, 9781775093329
• Module website on WebLearn https://bblearn.londonmet.ac.uk/ultra/courses/_52765_1/outline
Additional (URLs):
• Free Python Books: https://www.onlineprogrammingbooks.com/free-python-books/
• W3Schools: https://www.w3schools.in/python-tutorial