CS307 Operating Systems


CS307 Operating Systems

Syllabus   |  International University of Sarajevo  -  Last Update on Sep 09, 2025

Referencing Curricula

HOSTED BY

Computer Sciences and Engineering

Academic Year
2025 - 2026
Semester
Fall
Course Code
CS307
Weekly Hours
3 Teaching + 2 Practice
ECTS
6
Prerequisites
Teaching Mode Delivery
Face-to-face
Prerequisite For
Teaching Mode Delivery Notes
-
Cycle
I Cycle
Prof. Jane Doe

Ali Almisreb

Course Lecturer

Position
Associate Professor Dr.
Phone
033 957 243
Assistant(s)
HARUN HADŽO
Assistant E-mail

Course Objectives

Upon successful completion of this course, students will be able to:

  1. Demonstrate a comprehensive understanding of the architecture and operational principles of contemporary operating systems.
  2. Implement core components of operating system functionality, including process management, thread synchronization, and CPU scheduling algorithms.
  3. Design and simulate mechanisms for memory management, with emphasis on virtual memory systems.
  4. Develop and manage file systems and input/output operations within an operating system context.
  5. Critically analyze deadlock conditions and apply appropriate strategies for their resolution.
  6. Examine the architectural frameworks and design considerations of mobile operating systems, such as Android and iOS.
  7. Apply theoretical knowledge through practical case studies involving the internal structures of Linux and Windows operating systems.
  8. Utilize virtualization technologies and articulate their significance in modern computing environments.

Learning Outcomes

After successful completion of the course, the student will be able to:

1
Describe process management, storage management, I/O and File systems
2
Describe and apply basic algorithms associated with distributed process management
3
Apply regression and correlation analysis techniques correctly using popular software
4
Analyze a concurrent programming application and apply appropriate techniques to avoid control problems: mutual exclusion, deadlock, and starvation
5
Describe and apply virtual memory concepts, concept of a process and list the various process state transitions and scheduling on process and file management

Course Materials

Required Textbook

A. Silberschatz, P. B. Galvin, and G. Gagne, Operating System Concepts, 10th ed. Hoboken, NJ: Wiley, 2018.

Additional Literature
  1. A. S. Tanenbaum and H. Bos, Modern Operating Systems, 5th ed. Harlow, Essex: Pearson, 2024.
  2. W. Stallings, Operating Systems: Internals and Design Principles, 9th ed. Harlow, Essex: Pearson Education Limited, 2018.

Teaching Methods

    Lectures:
  • Deliver structured lectures that introduce core concepts and theories
Use slides and visual aids to illustrate complex ideas, such as OS architectures and algorithms
    Hands-on Labs:
  • Incorporate weekly lab sessions where students can apply theoretical concepts in practical scenarios
  • This includes programming assignments and simulations of OS functions (e
    G
    , process scheduling, memory management)
  • Use environments like Linux or virtual machines for hands-on experience
    • Group Projects:
    • Assign collaborative group projects that encourage teamwork
    Students can work together to design and implement an OS feature or conduct a case study on a specific operating system (e
    G
    , Android, Linux)
  • Facilitate peer-to-peer learning and promote discussions around design choices and challenges
    • Case Studies:
    • Analyze real-world operating systems (e
    G
    , Linux, Windows, Android) through case studies
    Discuss their design principles, features, and how they handle various OS functions
  • Encourage students to critically evaluate the strengths and weaknesses of different operating systems
    • Problem-Solving Sessions:
    • Organize sessions focused on solving common operating system problems, such as synchronization issues or deadlock scenarios
    Engage students in discussions to brainstorm solutions
      Flipped Classroom:
    • Implement a flipped classroom approach, where students learn new content at home (through videos or readings) and use class time for discussions, problem-solving, and hands-on practice
    This method encourages active participation and deeper understanding
      Interactive Discussions:
    • Foster an interactive learning environment through discussions and Q&A sessions
    Encourage students to ask questions and share their insights on topics being covered
      Online Resources and Forums:
    • Utilize online platforms (e
    G
    , discussion boards, chat groups) for students to discuss course topics, ask questions, and collaborate on projects
    This encourages continuous engagement outside of classroom hours
      Regular Assessments and Feedback:
    • Conduct regular quizzes, assignments, and exams to assess student understanding and provide timely feedback
    Use formative assessments to gauge student progress and adjust teaching methods accordingly
      Use of Simulation Tools:
    • Integrate simulation tools or software to demonstrate OS concepts (e
    G
    , scheduling algorithms, memory management)
    These tools can provide visualizations that enhance comprehension

    Weekly Topics

    This weekly planning is subject to change with advance notice.
    Week Topic Readings / References
    1 Introduction and OS Structures Chapter 1: Introduction & Chapter 2: OS Structures
    2 Processes Chapter 3: Processes
    3 Threads and Concurrency Chapter 4: Threads and Concurrency
    4 CPU Scheduling Chapter 5: CPU Scheduling
    5 Synchronization Tools Chapter 6: Synchronization Tools
    6 Synchronization Examples Chapter 7: Synchronization Examples
    7 Deadlocks Chapter 8: Deadlocks
    8 Midterm
    9 Main Memory Chapter 9: Main Memory
    10 Virtual Memory Chapter 10: Virtual Memory
    11 Mass-Storage Structure Chapter 11: Mass-Storage Structure
    12 I/O Systems Chapter 12: I/O Systems
    13 File-System Interface Chapter 13: File-System Interface
    14 File-System Implementation Chapter 14: File-System Implementation
    15 Android and Android File Management AL [1]: Chapter 10, AL[2]: Chapter 12

    Course Schedule (All Sections)

    SectionTypeDay 1Venue 1Day 2Venue 2
    CS307.1 Course Tuesday 14:00 - 16:50 B F1.23 - Amphitheater I - -
    CS307.1 Tutorial Friday 14:00 - 15:50 A F1.17 - -
    CS307.2 Tutorial Wednesday 17:00 - 18:50 A F1.23 - -
    CS307.3 Tutorial Wednesday 14:00 - 15:50 A F1.17 - -

    Office Hours & Room

    DayTimeOfficeNotes
    Thursday 09:00 - 11:55 A F2.6
    Friday 09:00 - 11:55 A F2.6

    Assessment Methods and Criteria

    Assessment Components

    40%x1
    Final Exam
    AI: Not Allowed

    Alignment with Learning Outcomes :  1  2  3  4  5

    30%x1
    Midterm exam
    AI: Not Allowed

    Alignment with Learning Outcomes :  1  2  3  4

    20%x2
    Project
    AI: Not Allowed

    Alignment with Learning Outcomes :  1  2  3  4  5

    10%x2
    Quizzes
    AI: Not Allowed

    Alignment with Learning Outcomes :  1  2  3  4  5

    IUS Grading System

    Grading Scale IUS Grading System IUS Coeff. Letter (B&H) Numerical (B&H)
    0 - 44 F 0 F 5
    45 - 54 E 1
    55 - 64 C 2 E 6
    65 - 69 C+ 2.3 D 7
    70 -74 B- 2.7
    75 - 79 B 3 C 8
    80 - 84 B+ 3.3
    85 - 94 A- 3.7 B 9
    95 - 100 A 4 A 10

    Late Work Policy

    Information about late submission policies will be shared during class and posted in this section. Please check back for official guidelines.

    ECTS Credit Calculation

    📚 Student Workload

    This 6 ECTS credit course corresponds to 150 hours of total student workload, distributed as follows:

    Lecture Hours

    45 hours ⏳ (15 week × 3 h)

    Project

    20 hours ⏳ (2 week × 10 h)

    Final exam study

    16 hours ⏳ (1 week × 16 h)

    Home study

    42 hours ⏳ (14 week × 3 h)

    In-term exam study

    11 hours ⏳ (1 week × 11 h)

    Quizzes

    16 hours ⏳ (4 week × 4 h)

    150 Total Workload Hours

    6 ECTS Credits


    Course Policies

    Academic Integrity

    All work submitted must be your own. Plagiarism, cheating, or any form of academic dishonesty will result in disciplinary action according to university policies. When in doubt about citation practices, consult the instructor.

    Attendance Policy

    Students are expected to adhere to the attendance requirements as outlined in the International University of Sarajevo Study Rules and Regulations. Excessive absences, whether excused or unexcused, may impact academic performance and eligibility for assessment. Mandatory sessions (e.g., labs, workshops) require attendance unless formally exempted. For detailed policies on absences, documentation, and penalties, please refer to the official university regulations.

    Technology & AI Policy

    Laptops/tablets may be used for note-taking only during lectures. Phones should be silenced and put away during all class sessions. Audio/video recording requires prior permission from the instructor.

    Artificial Intelligence (AI) Usage: The use of AI tools (e.g., ChatGPT, Copilot, Gemini) varies by assessment component. Please refer to the AI usage indicator next to each assessment item in the Assessment Methods and Criteria section above. Submitting AI-generated content as your own work, where AI is not explicitly allowed, constitutes an academic integrity violation.

    Communication Policy

    All course-related communication should occur through official university channels (institutional email or SIS). Emails should include [CS307] in the subject line.

    Academic Quality Assurance Policy

    Course Academic Quality Assurance is achieved through Semester Student Survey. At the end of each academic year, the institution of higher education is obliged to evaluate work of the academic staff, or the success of realization of the curricula.

    More info

    Learning Tips

    Engage Actively

    Be prepared to contribute thoughtfully during class discussions, labs, or collaborative work. Active participation deepens understanding and encourages critical thinking.

    Read and Review Purposefully

    Complete assigned readings or prep materials before class. Take notes, highlight key ideas, and jot down questions. Aim to grasp core concepts and their applications—not just facts.

    Think Critically in Assignments

    Use course frameworks or methodologies to analyze problems, case studies, or projects. Begin early to allow time for reflection and refinement. Seek feedback to improve your work.

    Ask Questions Early

    Don’t hesitate to reach out when something is unclear. Use office hours, discussion boards, or peer networks to clarify concepts and stay on track.

    Syllabus Last Updated on Sep 09, 2025 | International University of Sarajevo

    Print Syllabus