Module Code - Title:
CS4443
-
COMPUTATION AND ARCHITECTURE 2
Year Last Offered:
2024/5
Hours Per Week:
Grading Type:
N
Prerequisite Modules:
Rationale and Purpose of the Module:
This is Block 4b (6 ECTS) on the 3+1 Integrated BSc/MSc Immersive Software Engineering and runs Year 1 Weeks 1 to 3 (3 Weeks) in the summer semester.
This block is a continuation of Block 4a Computation and Architecture Part 1. Both Blocks 4a and 4b should be seen as one cohesive unit, but a division was necessary to align with a semester based academic calendar.
This block revisits the introductory elements of theory and methods already embedded in the previous blocks and deepens them to a systematic and organized understanding of the fundamental elements underlying the design and functioning of IT systems.
This block provides the theoretical and practical depth necessary to satisfy a diverse set of residency opportunities. We reinforce the learning of previous blocks by re-visiting previous projects with more systemic knowledge of how a computer is architected.
Syllabus:
1. Operating Systems: processes, threading, an overview of mutual exclusion techniques, scheduling, memory management, I/O, and kernels.
2. Understanding the resources available to a computer system, and how to measure their utilization.
3. Inter-Process Communication (IPC) using pipes and filters, shared memory, sockets, shells and batch scripting
4. Preparing for Residency Part 4b: series of professional seminars covering:
- Technical reporting and scientific writing
- Understanding group dynamics
- Insights into Creative and Critical thinking
Learning Outcomes:
Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)
On successful completion of this module, students will be able to:
- Describe the objectives and logical structure of an operating system
- Model the lifecycle of a process
- Design and implement multithreaded applications with competing and collaborating - processes, for example, a synchronised multi-threaded multiple-producer multiple-consumer application with a shared resource; identify the scenarios that lead to deadlock, livelock, and starvation; and mechanisms for their resolution
- Design and implement applications that use IPC
- Describe process scheduling, I/O mapping, and virtual memory algorithms
- Demonstrate competency in technical reporting and scientific writing
Affective (Attitudes and Values)
On successful completion of this module, students will be able to:
- To elicit criteria, and learn how to build the basis for a competent professional judgement.
- To identify an appropriate strategy for resolving issues in group based dynamics
Psychomotor (Physical Skills)
On successful completion of this module, students will be able to:
How the Module will be Taught and what will be the Learning Experiences of the Students:
The block is taught using the problem-based learning, the flipped classroom concept, and blended learning in a state of the art laboratory setting with an emphasis on collaborative practice and technical excellence. Learning and teaching will be research led with a focus on translating theory into practice, innovation and knowledge creation.
Research Findings Incorporated in to the Syllabus (If Relevant):
Prime Texts:
A. S. Tanenbaum (2014) (2014)
Modern Operating Systems, 4th Edition.
, Pearson Education
Other Relevant Texts:
Programme(s) in which this Module is Offered:
Semester(s) Module is Offered:
Summer
Module Leader:
colin.venters@ul.ie