COMPGC04 - Systems Infrastructure
This database contains 2017-18 versions of the syllabuses. For current versions please see here.
|Prerequisites||This course should be taken in conjunction with the core courses for this programme (ie GC01, GC02, GC03 and GC05)|
John Dowell (50%)
Rae Harbird (25%)
Ghita Kouadri Mostefaoui (25%)
|Aims||This course is an amalgam of three different aspects of systems design and construction - operating systems, compilers and databases - each having approximately equal weight. The course is a fundamental one in the programme as a whole, in the sense that it introduces material that is built on elsewhere and, consequently, much of the material will be aimed at providing a basic understanding of the role that different systems components play within real computer systems, and how they go about achieving this.|
|Learning Outcomes||Students should be able to describe and discuss the fundamentals of systems infrastructure outlined below and their interrelationships and interdependencies with other aspects drawn from the core MSc curriculum. They should be able to discriminate between different possible solutions to practical problems and, consequently, apply the knowledge gained in a practical way.|
A historical perspective
A brief history of operating systems, compilers and databases; milestones in their development and changes driven by changes in both use and in the underlying hardware
Process creation and management
The virtual machine concept; data structures needed by operating systems
Process state transition
Scheduling algorithms and metrics for the analysis of performance
Single and multi-level paging algorithms
Compilation vs. interpretation
This will only be a brief overview to introduce the subject:
1. Database management systems (DBMS) and the relational database:essential concepts, data model, architecture and and primary functions of the DBMS.
2. SQL: use of SQL as a language for database construction and data manipulation.
3. Database design: a structured method for designing relational databases through data modelling, schema specification, validation and normalisation.
Method of Instruction
Compilers and Operating Systems are taught conventionally by lecture presentation and associated class problems. Databases is taught with online videos watched in advance and followed up with tutorial-style lectures.
The course has the following assessment components:
- Coursework Section (3 pieces, 15%)
- Written Examination (2.5 hours, 85%)
To pass this course, students must:
- Obtain an overall pass mark of 50% for all sections combined.
Reading list available via the UCL Library catalogue.