Module Specifications
Academic Year 2026 - 2027
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Description This module provides an intermediate introduction to computer programming using Python, designed for students who have already mastered fundamental concepts like variables, basic data types, and simple I/O. Students will learn to implement complex logic, design algorithms, and manage data effectively. Key topics covered include advanced flow control (nested conditionals and loops), data collections (lists, tuples, dictionaries), modularity and code reuse through functions, file I/O, and an introductory understanding of computational complexity. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Learning Outcomes 1. Implement complex decision-making logic using nested conditionals and logical operators. 2. Use various loop structures (while, for) and data collections (list, dict) to solve iterative problems. 3. Define and utilize functions to create modular, reusable, and readable code. 4. Design and implement algorithms for searching, filtering, and processing text and numeric data. 5. Informally reason about the computational cost of loops and nested loops. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Content and Learning Activities
Control Flow and Iteration Complex decision-making using nested conditionals, truth tables, and logical operators. Repetition structures including while loops, for loops, and sequence iteration. Foundational Algorithms Design and implementation of numeric and string-processing algorithms. Topics include min/max finding, running averages, simple searching, and text normalization. Data Collections Utilizing built-in Python data structures to manage multiple items. Covers the creation and manipulation of lists, tuples, and dictionaries, including mutability and key-value pairings. Functions and Modularity Applying the DRY (Don't Repeat Yourself) principle by designing reusable functions. Topics include parameters, return statements, local vs. global scope, and problem decomposition. Algorithm Design and Complexity Stepwise refinement, systematic testing, and debugging techniques. Introduction to informal computational complexity and performance observation via tracing nested loops. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Reading List Books: None Articles: None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Other Resources None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| New code is CSC1195 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||