Latest Module Specifications
Current Academic Year 2025 - 2026
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. 1E261EEB-F69D-0001-3E5C-E9741F0D1646 2. Apply problem-solving tecniques to writing well-structured programs in the C programming language. 3. 4. 7,6,23,8,9 5. 1 6. 1E261EEE-7084-0001-6770-1D82773DBFB0 7. Recognise the relationship between programs expressed in C and in assembly code, including the implementation of expressions, control, procedures, and data structures. 8. 9. 17,18,7,6,23,11,9,10 10. 2 11. 1E261EEE-B623-0001-929B-BA1018691CB3 12. Demonstrate ability to understand basic intention of a program through its binary representation and apply these skills to debugging programs. 13. 14. 7,8,11,9,10 15. 3 16. 1E261EEE-FFF1-0001-D898-DA8F10B6190E 17. Investigate the programmer’s interaction with the underlying system through the different APIs and abstractions. 18. 19. 22,17,15,8,21,9 20. 4 21. 1E261EEF-1874-0001-4A67-7BD04DA0101D 22. Analyse the consequences of imperfect system usage, such as poor memory and CPU performance, crashes, and security vulnerabilities. 23. 24. 7,9,10 25. 5 26. 1E261EEF-3AE2-0001-9A49-1A0863C0184D 27. Apply analytical abilities to create reliable and efficient programs exercising the different components of a modern computing system. 28. 29. 7,6,8,9 30. 6 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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:
Articles: None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Other Resources None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||