You are on page 1of 11

IT576 Computer Systems (3-0-2-4)

Lecture schedule (CEP 108)


Mondays (10:00 – 10:50)
Wednesdays (10:00- 10:50)
Fridays (11:00 – 11:50)

Lab schedule: TBA


Course Outline (tentative)
• Module 1: Topics in Basic Data Structures and Algorithms [6-7 weeks]
• Basic problem solving techniques - inductive approach; recursive approach;
iterative approach.
• Basic data structures - stack, queue, list; graph representations.
• Divide and Conquer approach - binary search, sorting, tree traversal.
• Greedy approach - graph traversal, shortest path algorithms, minimum
spanning tree.
• Dynamic programming approach

• Module 2: Topics in Operating Systems [6-7 weeks]


• Process management: processes, threads; process states, process control
block, context switch, scheduling algorithms.
• Memory management: paging, virtual addressing, address translation,
memory virtualization, protection.
• Synchronization: critical-section problem; mutual exclusion; deadlocks;
semaphores.
Recommended Books

• Algorithms (Selected chapters) --


Dasgupta, Papadimitriou, Vazirani [TMH].

• Introduction to Algorithms (Selected chapters) --


Cormen, Leiserson, Rivest, Stein [MIT Press].

• Operating Systems: Internals and Design Principles


(Selected chapters) -- Stallings [Pearson]

• Operating System Concepts (Selected chapters) --


Silberschatz, Galvin and Gagne [Wiley].
Grading Policy

• Class participation: 20 %

• First In-semester exam: 20 %

• Lab performance/exam: 20 %

• End-semester exam: 40 %
Algorithm

An algorithm is a well-defined procedure to solve a


problem.
– a sequence of unambiguous instructions.
Algorithm design
Logical Thinking: Methods of reasoning, a set of rules and
techniques to determine whether a statement is valid.
– chip design
– operating system
– safety-critical system
– networking
– software development
– artificial intelligence
– database system, an so on.
Algorithm design
Relational Thinking
– Sets: Collections of well-defined objects.
– Relations: Relations among objects and equivalence
class.

– Properties of graphs and trees and their applications


in real-world problems.
Algorithm design

Recursive Thinking
– Recursion
– Induction
– Reduction
Algorithm design

Quantitative Thinking
– Counting principles

– Estimation, optimization
Algorithm design

Analytical Thinking
– Functions and Recursive Algorithms

– Iterative Algorithms

– Optimization, Quantification, Analysis

Task is to check
– Correctness: prevents us from fooling ourselves.
– Completeness: allows anyone to verify the result.
Inductive approach to solve problems

Sum of the first n (≥ 1) integers is n(n+1)/2.

Sum of the first n (≥ 1) odd integers is n2.

Prove that for n ≥ 7 , 3n < n!

You might also like