CMU410

Introduction to Programming

A first-year Python module building the foundational logic, data structures, and algorithmic thinking students need to write functional software, with a focus on habits and mental models that transfer across languages and contexts.

When
2024/25, Semester 2
Institution
Birmingham Newman University
Level
Undergraduate
Credits
20 credits
Birmingham Newman University

Python is often the first language students write seriously, and how they learn it shapes how they think about programming for years after. This module is designed to give first-year students a solid foundation: not just Python syntax, but the underlying logic, structure, and problem-solving habits that transfer to any language and any context.

Why it matters

Programming is the literacy of the digital economy. Whether students continue into web development, data science, cyber security, or systems engineering, the ability to write code that works, and to understand why it works, is a prerequisite. First-year programming modules carry a disproportionate responsibility: they establish habits and mental models that persist, both good and bad.

The module pays particular attention to the transition from thinking procedurally to thinking in terms of functions, data structures, and objects. These are not Python-specific concepts; they are the vocabulary of programming, and learning them through Python gives students a clean, readable language in which to build fluency before the syntax gets in the way.

Module design

The syllabus moves through a natural progression: from fundamentals (variables, types, operators, control flow) through abstraction (functions and modular programming) to data management (lists, tuples, dictionaries, file I/O) and error handling. Object-oriented programming is introduced toward the end, once students have enough procedural grounding to understand what objects are solving.

The module closes with a mini-project in which students apply everything covered to build a functional application. The project is the point where syntax becomes software, and where the difference between following a tutorial and solving a problem becomes clear.

Syllabus

  1. Introduction to Python and programming fundamentals
  2. Variables, data types, and operators
  3. Control flow: if statements and loops
  4. Functions and modular programming
  5. Data structures: lists, tuples, and dictionaries
  6. File handling and I/O
  7. Error handling and debugging
  8. Introduction to object-oriented programming
  9. Mini-project development

What students leave with

Students can write well-structured Python programs to solve practical problems, use functions and data structures effectively, handle files and errors, and read and reason about code they did not write themselves. These are the foundations every subsequent programming module builds on.