CS1007 Computer Systems Fundamentals
Academic year
2024 to 2025 Semester 1
Curricular information may be subject to change
Further information on which modules are specific to your programme.
Key module information
SCOTCAT credits
20
SCQF level
SCQF level 7
Availability restrictions
There are no availability restrictions on first-year and visiting students. The module is available to other students studying in second year and above (including direct entrants to second year), but only up to a limit of 220 students in total enrolled on the module. If spaces are available at the end of the main advising period (after Wednesday in Orientation Week), a random ballot will be held for students in second year and above who have enrolled on the module with a preference given to those on degree programmes including Computer Science. Any student who is unsuccessful in the ballot will be contacted and asked to choose an alternative module.
Planned timetable
Lectures: 12:00-13:00 Thu and Fri, exercise classes: 12:00-13:00 Tue and Wed
Module Staff
To be arranged
Module description
This module introduces students to concepts and practicalities surrounding access and use of modern computer systems via a Unix environment. It will cover both local and remote interaction with Unix systems. Students will gain proficiency with operating system tools, especially the command line interface. They will master version control systems which can be applied to both programming and document management. They will learn about key based authentication and its use in modern computer systems. They will learn how to use a number of different productivity tools, and the place of machine virtualisation in the modern ecosystem.
Assessment pattern
Coursework = 100%
Re-assessment
Coursework assignment = 100%
Learning and teaching methods and delivery
Weekly contact
2 lectures, 2 exercise classes, 1 tutorial and 1 x 3-hour practical support session.
Scheduled learning hours
79
Guided independent study hours
120
Intended learning outcomes
- Understand and be able to apply concepts relating to operating systems and remote access to computer systems
- Be able to use Unix like environments from the command line
- Be able to use Unix editors to change files
- Be able to write shell scripts
- Understand how to use Version Control Software (GIT)
- Be able to interact with remote Unix systems