| CODE | CSA2205 | |||||||||||||||
| TITLE | Systems Programming | |||||||||||||||
| UM LEVEL | 02 - Years 2, 3 in Modular Undergraduate Course | |||||||||||||||
| MQF LEVEL | Not Applicable | |||||||||||||||
| ECTS CREDITS | 6 | |||||||||||||||
| DEPARTMENT | Computer Science | |||||||||||||||
| DESCRIPTION | Part 1: Systems Programming This part of the study-unit will be covered during Semester 2 and will assume that students have an aptitude for computer programming in an imperative programming language, and that students are familiar with programming concepts such as variables, functions, flow control, and linked lists. The teaching environment is UNIX-based, and so students are expected to know either UNIX System V or Berkeley UNIX. By the end of the course, students will be competent C programmers who will also appreciate the differences in how DOS/Windows and UNIX manage memory. Following a rapid introduction to the C language syntax, the course covers pointers, dynamic memory allocation, and data structures, as well as standard library routines for standard and file I/O and string handling. Program structuring using multiple files and header files will be encouraged. This part of the unit enforces the concepts introduced in Operating Systems module with a hands-on approach. The UNIX system and the C language will be used to experiment with operating system facilities in avenues such as low-level file input/output, process creation and manipulation, advanced signal handling and interprocess communication (such as pipes, fifo files, semaphores, shared memory and message queues). In addition, socket programming will be introduced to allow inter-processor communication through TCP/IP. The practical application of these concepts will then be examined through the allocated assignments. Part 2: Windows Programming This part of the study-unit will be covered during Semester 1. Microsoft Windows is the world's most popular operating system and it is easy to forget the sea of change that Windows brought to office and home desktop computing. The aim of this unit is to introduce the student to the core concepts and technologies that are used in programs and applications that run under this very important operating system. Topics covered are: • The history of Microsoft Windows; • Windows Architecture; • Windows, Events, Messages, and Callback functions; • The Win32 API; • Windows Multi-tasking and Multi-threading; • Building Windows Applications; • Building Dynamic Link Libraries (DLLs); • Window Font Technology and GDI; • The .NET framework (including CLR technology). It is assumed that students will have experience in programming. Textbooks: • W.R. Stevens. Advanced Programming in the UNIX Environment. Addison-Wesley 2005. ISBN 0201433079. • BW Kernighan, DM Ritchie. The C Programming Language. • K. Haviland, D. Gray and B. Salama. UNIX System Programming. 2nd Ed. Addison-Wesley 1998. ISBN 0 201-87758-9. • HM Deitel, PJ Deitel. C How to Program. • Website: www.cs.um.edu.mt/~jcord. • Charles Petzold, Programming Windows with C# (Core Reference), Microsoft Press, ISBN: 0735613702. Additional textbooks • Jeffrey Richter, Applied Microsoft .NET Framework Programming, Microsoft Press, ISBN: 0735614229. |
|||||||||||||||
| RULES/CONDITIONS | Before TAKING THIS UNIT YOU ARE ADVISED TO TAKE CSA2190 | |||||||||||||||
| STUDY-UNIT TYPE | Lecture | |||||||||||||||
| METHOD OF ASSESSMENT |
|
|||||||||||||||
| LECTURER/S | ||||||||||||||||
|
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints. Units not attracting a sufficient number of registrations may be withdrawn without notice. It should be noted that all the information in the description above applies to study-units available during the academic year 2025/6. It may be subject to change in subsequent years. |
||||||||||||||||