
Description:
The Operating Systems module provides a comprehensive introduction to the fundamental concepts, functions, and design principles of operating systems, which serve as the backbone of all computer systems. An operating system (OS) acts as an intermediary between computer hardware and the user, managing hardware resources and providing essential services for application software.
This module explores key topics such as process and memory management, file systems, device management, scheduling algorithms, system calls, and security features. Students will gain both theoretical knowledge and practical experience in understanding how modern operating systems function and how they manage system resources efficiently.
Through this course, learners will examine different types of operating systems, including batch, time-sharing, distributed, real-time, and mobile operating systems, with practical examples from popular OS platforms like Windows, Linux, and Android.
By the end of the module, students will have a solid foundation in operating system concepts and be prepared to troubleshoot, configure, and optimize OS environments in real-world computing scenarios.
Course code: CSE 430
Course credit: 10
Pre-requisites: None
Academic year: 2024-2025
Lecturer: CHEBET K ASUMANI
MOBILE: 0786555370
EMAIL: ckasumani@gmail.com
ckasumani@eaur.ac.rw
Course Objectives:By the end of this module, students should be able to:
-
Understand the role and functions of an operating system in managing computer hardware and software resources.
-
Explain key operating system concepts such as processes, threads, memory management, file systems, and input/output control.
-
Describe different types of operating systems, including batch, time-sharing, distributed, real-time, networked, and mobile systems.
-
Analyze how operating systems manage system resources, including CPU scheduling, memory allocation, and device management.
-
Understand and evaluate various process scheduling algorithms and their impact on system performance.
-
Explore memory management techniques such as paging, segmentation, and virtual memory.
-
Examine file system structures and file management techniques used in modern operating systems.
-
Gain insight into system security and protection mechanisms provided by operating systems.
-
Develop basic skills in using and navigating popular operating systems, particularly Linux/UNIX and Windows environments.
-
Apply theoretical knowledge through practical exercises and simulations, reinforcing the operation and configuration of an OS.
This module equips students with a deep understanding of how operating systems function, laying the groundwork for further study in system programming, computer architecture, and network administration.
Course Learning Outcomes:By the end of the Operating Systems module, students will be able to:
-
Define the core functions of an operating system and explain its role in computer systems.
-
Describe and differentiate between various types of operating systems, including batch, time-sharing, distributed, real-time, and mobile OS.
-
Analyze and explain process management concepts, including scheduling, synchronization, deadlock, and inter-process communication.
-
Apply memory management techniques such as paging, segmentation, and virtual memory in theoretical or practical contexts.
-
Explain the structure and functionality of file systems, including file organization, access methods, and storage allocation strategies.
-
Identify and describe device management techniques used by operating systems to control and communicate with hardware.
-
Evaluate different CPU scheduling algorithms and determine their effectiveness in different scenarios.
-
Demonstrate understanding of operating system security and protection mechanisms, including user authentication, access control, and data protection.
-
Use command-line interfaces and system utilities in popular operating systems such as Linux and Windows for basic system operations and troubleshooting.
-
Apply theoretical knowledge to solve real-world problems related to operating system functionality through lab exercises, assignments, and simulations.
These outcomes ensure that students gain both conceptual understanding and practical skills in operating systems, preparing them for careers in IT, software development, and system administration.
- Teacher: ict office

Description:
The Basic Mathematics for Computing module provides students with fundamental mathematical concepts and techniques essential for understanding and solving problems in computer science and information technology. This module serves as a foundation for computational thinking, algorithm development, and data analysis, equipping students with the mathematical tools required for programming, data structures, artificial intelligence, and other computing-related disciplines.
Students will explore key areas such as logic, set theory, functions, matrices, probability, number systems, and discrete mathematics, all of which play a critical role in the design and analysis of computer systems. The module also emphasizes practical applications, including binary arithmetic, Boolean algebra, and algorithmic problem-solving, which are crucial in areas like software development, database management, and networking.
Through lectures, problem-solving exercises, and hands-on applications, students will develop a strong mathematical foundation that will enhance their ability to write efficient algorithms, analyze data structures, and optimize computing processes.
Key Topics Covered:
-
Number Systems β Binary, octal, decimal, and hexadecimal conversions.
-
Set Theory and Logic β Boolean logic, logical operators, and their applications in computing.
-
Functions and Relations β Understanding mappings, recursion, and mathematical functions relevant to programming.
-
Matrices and Linear Algebra β Applications in graphics, cryptography, and machine learning.
-
Combinatorics and Probability β Counting principles, permutations, combinations, and their role in computing.
-
Graph Theory β Fundamental concepts used in networking, database structures, and AI.
-
Discrete Mathematics β Sequences, series, and algorithmic problem-solving.
By the end of this module, students will have a solid mathematical foundation for computing applications, allowing them to better understand programming logic, algorithms, and computational models, thereby preparing them for more advanced computing courses and practical industry applications.
Course code: CSE 2302
Level: 7,Trim 3
September Intake 2024/2025
Lecturer: Mr. MUKURU SSESSAZI ALFRED
Tel: 0786679403
Eaur.ass.ar@gmail.com
Learning Objectives:
Learning outcomes:
- Teacher: ict office