DCU Home | Our Courses | Loop | Registry | Library | Search DCU
<< Back to Module List

Module Specifications

Academic Year 2026 - 2027

Module Title Programming I
Module Code CSC1195 (ITS: CA177)
Faculty Engineering & Computing School Computing
NFQ level 8 Credit Rating 5
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.


WorkloadFull time hours per semester
TypeHoursDescription
Lecture24Weekly 2-hour lecture covering core concepts, examples, and live coding demos.
Laboratory24Weekly 2-hour practical lab session for guided programming exercises and tasks.
Independent Study24Independent review of course materials and completion of weekly formative exercises.
Independent Study53Independent programming practice and preparation for the two mid-semester practical CA exams and the final exam.
Total Workload: 125
Section Breakdown
CRN21437Part of TermSemester 2
Coursework50%Examination Weight50%
Grade Scale40PASSPass Both ElementsN
Resit CategoryRC1Best MarkN
Module Co-ordinatorHossein JavidniaModule TeacherBrian Davis
Assessment Breakdown
TypeDescription% of totalAssessment Date
Loop QuizMid-semester practical programming exam covering logic, loops, and basic collections.25%Week 5
Loop QuizLate-semester practical programming exam covering modularity, algorithms, and file I/O.25%Week 11
Formal ExaminationComprehensive final examination covering all module content.50%End-of-Semester
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
RC1: A resit is available for both* components of the module.
RC2: No resit is available for a 100% coursework module.
RC3: No resit is available for the coursework component where there is a coursework and summative examination element.

* ‘Both’ is used in the context of the module having a coursework/summative examination split; where the module is 100% coursework, there will also be a resit of the assessment

Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

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

<< Back to Module ListView 2024/25 Module Record for CSC1195