Page 1 of 1

Module Code - Title:

CS4443 - COMPUTATION AND ARCHITECTURE 2

Year Last Offered:

2024/5

Hours Per Week:

Lecture

1

Lab

6

Tutorial

1

Other

0

Private

2

Credits

6

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