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

Latest Module Specifications

Current Academic Year 2025 - 2026

Module Title Systems Programming
Module Code CSC1038 (ITS: CA284)
Faculty Computing School Engineering & Computing
NFQ level 8 Credit Rating 5
Description

This course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required.

Learning Outcomes

1. Apply problem-solving tecniques to writing well-structured programs in the C programming language.
2. Recognise the relationship between programs expressed in C and in assembly code, including the implementation of expressions, control, procedures, and data structures.
3. Demonstrate ability to understand basic intention of a program through its binary representation and apply these skills to debugging programs.
4. Investigate the programmer’s interaction with the underlying system through the different APIs and abstractions.
5. Analyse the consequences of imperfect system usage, such as poor memory and CPU performance, crashes, and security vulnerabilities.
6. Apply analytical abilities to create reliable and efficient programs exercising the different components of a modern computing system.


WorkloadFull time hours per semester
TypeHoursDescription
Lecture24No Description
Laboratory22Practical programming session
Assignment Completion25Programming assignment
Independent Study54Students to practice skills acquired in lectures and labs and to carry out research and reading around the topic.
Total Workload: 125
Section Breakdown
CRN10214Part of TermSemester 1
Coursework0%Examination Weight0%
Grade Scale40PASSPass Both ElementsY
Resit CategoryRC1Best MarkN
Module Co-ordinatorTai MaiModule TeacherDenise Freir
Assessment Breakdown
TypeDescription% of totalAssessment Date
In Class TestPractical examination.10%Week 3
In Class TestPractical examination20%Week 6
In Class TestPractical examination20%Week 8
AssignmentProgramming assignment30%Week 12
AssignmentA series of programming exercises will be provided to students at the commencement of the semester. Students must complete these over the course of the semester.15%n/a
In Class TestA simple activity performed in labs, or online equivalent.5%Week 2
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

Introduction to C Language Syntax
Variable Declarations. Numeric Representations. Iteration and Control Flow. Functions (including parameters and return types. Arrays.

Machine-Level Representation of Programs
A historical perspective. Program Encodings. Data Formats. Arithmetic and Logic Operations. Control Procedures. Representation of Arrays. Representation of other datastructures.

Memory Management
Memory Models. Basic Arrays Pointers (near and far ) dynamic Memory Allocation Garbage Collection.

Input and Output
Basic I/O in the Unix Operating System File I/O. Opening and closing files. Reading and writing files. Reading file metadata. Reading directory contents. Sharing files. I/O redirection.

Indicative Reading List

Books:
  • Bryant & O’Hallaron: 2015, Computer Systems A Programmer’s Perspective, 3rd, 978-0-13-4092
  • Dennis Ritchie: 1988, The C Programming Language,


Articles:
None
Other Resources

None

<< Back to Module List View 2024/25 Module Record for CA284