Chapter One
How This Practical Is Examined: the Journal, the 80 Per Cent Rule and the Two Questions
Syllabus topic MU's evaluation scheme for practical courses, and rows 2 to 8 of her particulars table for this paper
In one line
This paper is worth 50 marks and you never write a theory answer for any of them: 20 come from your laboratory work and your journal during the term, and 30 come from two hours at a computer at the end of it, answering one question on Module 1 and one on Module 2.
In the wording a student can write down: Computer Science Practical 3 is a Major practical course of 2 credits and 60 hours, assessed 40 per cent internally and 60 per cent by a Semester End Practical Examination of two hours, in which Q.1 is set on Module 1 for 15 marks and Q.2 on Module 2 for 15 marks.
Why this chapter comes first
Because marks are lost here before a single program is written.
A student who does not keep a journal cannot sit the examination at all. A student who has done fifteen of the twenty practicals has not met the University's own minimum. And a student who has been told by a senior that there is a viva worth 6 marks will spend the last week of term learning definitions instead of learning to type a working program in an hour, which is the only thing this paper actually tests.
So: read the numbers, then start on Module 1.
What MU says this paper is
Read off her particulars table for the course.
| Row | Particular | What she prints |
|---|---|---|
| 2 | Vertical | Major |
| 3 | Type | Practical |
| 4 | Credits | 2 credits, 1 credit = 30 hours of practical work in a semester |
| 5 | Hours Allotted | 60 hours |
| 6 | Marks Allotted | 50 Marks |
| 12 | Split | Internal Continuous Assessment: 40%, Semester End Examination: 60% |
Two things in that table are worth a second look.
Sixty hours is the biggest single block of contact time in the semester. A 2-credit theory paper is 30 hours, because a theory credit is 15 hours of lectures. A practical credit is 30 hours of laboratory work, so a 2-credit practical is 60. Principles of Operating Systems and Data Structures are 30 hours each; this one paper is as long as both of them together.
"Type: Practical" means there is no theory paper for it. No 1-hour written examination, no class tests on Module 1 and Module 2. Everything is the work and the machine.
The internal 20 marks, and the arithmetic behind them
Forty per cent of 50 is 20, and MU splits those 20 in two.
| Component | Marks |
|---|---|
| Practical assignments, experiments, hands-on tests, presentations, demonstrations, online class tests, case studies | 15 |
| Journal | 5 |
| Total | 20 |
The first line is a list of seven things and your college will use two or three of them. In most colleges it is the twenty practicals themselves: you do the practical, the teacher sees it running, you write it up, and a mark goes into a register. The second line is the journal as an object: is it complete, is it neat, is it signed.
How This Practical Is Examined: the Journal, the 80 Per Cent Rule and the Two Questions
Note what is not in that list: there is no "attendance" component and no "internal test" that can rescue a term of missed practicals. The 15 marks are the work.
The certified journal, and the 80 per cent rule
MU prints two sentences under the practical paper pattern, and both are conditions on being allowed to sit the examination at all.
Certified Journal is compulsory for appearing at the time of Practical Exam
Minimum 80% practical are required to be completed
Certified means signed by the teacher who watched you do the work, and stamped by the department. An unsigned journal full of correct programs is not a certified journal.
Eighty per cent of twenty practicals is sixteen. There are twenty exercises in this paper, ten in Module 1 and ten in Module 2, so the rule says at least sixteen of them must be in your journal, completed. It does not say which sixteen, and it does not say eight from each module, but a journal with all ten of Module 2 and only six of Module 1 is a student who cannot answer Q.1, which is half the paper.
The safe reading, and the one every college applies: do all twenty. The four you are allowed to miss are there for the week you were ill, not for the four you found hard.
[Keeping the Journal, and What Goes on the Page] is the chapter on what one entry looks like.
The semester end examination
Sixty per cent of 50 is 30, and this is MU's printed pattern for it, word for word from her own table.
| Question | Practical question based on | Marks |
|---|---|---|
| Q.1 | Module 1 | 15 |
| Q.2 | Module 2 | 15 |
Two hours. Two questions. Thirty marks.
That is the whole paper, and three things follow from it that are worth saying plainly.
There is no viva question. The first year's practical papers, set under item 6.5 (R), print Q.1 for 12, Q.2 for 12 and a viva for 6. This paper, set under item 6.14 (N), prints no third question. An examiner at your machine will still ask you what your program does, because that is how a practical examination is conducted anywhere, and those questions feed the assessment of your work; but there is no separate question in the paper carrying marks for them.
Each question is worth half the paper. A student who is fluent in Module 2 and has never compiled a C program has a ceiling of 15 out of 30. The two modules are in two different languages and both of them have to work.
How This Practical Is Examined: the Journal, the 80 Per Cent Rule and the Two Questions
An hour per question is not much. A bounded-buffer program with two semaphores and a mutex is about sixty lines. An AVL tree with all four rotations is about a hundred. You will not design either of them in the hall; you will remember them. That is what the journal is for, and it is why every chapter in this book prints the whole program rather than an outline of it.
What MU says you should be able to do
Her Course Objectives (CO) and Course Outcomes (OC) are the other half of the contract, and they are a fair list of what an examiner is looking for.
Course Objectives. To develop hands-on skills in implementing core concepts of operating systems and data structures. To simulate and solve real-world problems using process management, synchronization, and memory management. To strengthen understanding of data abstraction and manipulation using linked structures, trees, graphs, and hashing. To enable students to analyze and compare algorithmic strategies for CPU scheduling, buffer control, and structured data operations. To foster problem-solving abilities through coding, debugging, and testing.
Course Outcomes. After this course a student can design and implement solutions using inter-process communication techniques such as shared memory and message passing; apply multithreading, synchronization mechanisms, and scheduling algorithms; construct and manipulate linear and non-linear data structures using custom implementations; demonstrate effective use of stack, queue, trees, graphs, and hash tables; analyze and evaluate the performance of memory and disk management techniques; and apply the result to real-time, scalable system-level applications.
Read OC 5 again: analyze and evaluate the performance. Three of the ten exercises in Module 1 are about measuring something, not just making it work: hit and miss ratios in [Practical 9: Memory Management, FIFO and LRU Page Replacement], total head movement in [Practical 10: Disk Scheduling], and waiting and turnaround time in [Practical 7: CPU Scheduling, FCFS and Non-preemptive Scheduling]. A program that prints the schedule and not the averages has answered half the question.
The two languages, and why
MU names the languages twice and both times indirectly.
Module 1 is C. She sets shared memory, semaphores and message queues, which on a Unix system are the System V interfaces, and she names pthreads where she names a threading library. Her Text Book for this module is Silberschatz, Galvin and Gagne, Operating System Concepts , 10th edition, and every program in it is C. This book therefore writes Module 1 in C on Ubuntu Linux.
Module 2 is Python. Her Text Book for this module is Aho, Ullman and Lam, Data Structures and Algorithms in Python , and one of her two Reference Books is Kanetkar, Data Structures Through Python . This course also teaches Python in Semester 1, so it is the language a second-year student already has. This book therefore writes Module 2 in Python 3.
How This Practical Is Examined: the Journal, the 80 Per Cent Rule and the Two Questions
MU writes "e.g., pthreads or Java threads" in Module 1, and her other Reference Book is Goodrich's Java edition, so a college may run either module in Java instead. If yours does, the structures and the algorithms in this book are unchanged and the chapters say where the Java form differs. What never changes is the reasoning, and that is what carries the marks.
The shape of every chapter in this book
Each of the twenty exercises is one journal entry, so each is a chapter, and each chapter is laid out the way a journal entry is laid out.
- Aim. MU's own words for the exercise.
- What you need to know before you start. The idea, in plain English, before any code.
- The program, complete, with the reasoning for every part that is not obvious.
- The run, which is the output the program actually produced.
- Procedure, which is what you type, in order.
- Result, which is the one sentence you write in the journal.
- Where marks are lost, which is the list of things that go wrong in the hall.
- For the journal, which is what goes on the page.
- Quick revision and Questions you should be able to answer.
Six of the twenty exercises are split over two chapters, because MU's own bullets under them ask for two different programs. Practical 1 is the shared memory segment and then the race condition; Practical 2 is pipes and then message queues; Practical 10 is disk scheduling and then a file system; Practical 15 is the stack and then the expression conversion; Practical 18 is the AVL tree and then the heap. They are still one journal entry each.
What it does not mean
It does not mean the theory does not matter. It means the theory is examined in the two theory papers this practical pairs with, Principles of Operating Systems and Data Structures. What is examined here is whether you can make the thing run. In practice the students who can make it run are the students who understood it, which is why every chapter explains before it codes.
It does not mean you may skip Module 1 because C is harder. Q.1 is 15 of the 30 marks.
It does not mean the journal can be written in the last week. It is signed as the term goes on, by a teacher who was present. A journal produced complete on the last day is not certified, whatever is written in it.
How This Practical Is Examined: the Journal, the 80 Per Cent Rule and the Two Questions
Quick revision
- 2 credits, 60 hours, 50 marks. Type: Practical, so there is no theory paper.
- Internal 20: work and hands-on assessment 15, journal 5.
- External 30: two hours, Q.1 on Module 1 for 15, Q.2 on Module 2 for 15. No viva question in this
scheme.
- A certified journal is compulsory to appear, and at least 80 per cent of the practicals, which
is 16 of the 20, must be completed.
- Twenty exercises: ten on Principles of Operating Systems in C, ten on Data Structures in Python.
- Scheme: NEP 2020, MU item 6.14 (N), AC 20 May 2025, in force from 2025-26.
Questions you should be able to answer
1. How many marks does this paper carry and how are they split? Fifty. Twenty internal, which is 15 for the practical work and 5 for the journal, and thirty external, which is a two-hour practical examination of two questions worth 15 each.
2. How many practicals must be completed to be allowed to sit the examination? At least 80 per cent of them, which is 16 of the 20, and the journal must be certified.
3. Is there a viva in the semester end examination for this paper? Not as a question carrying its own marks. MU's printed pattern for this paper is Q.1 and Q.2 only. The first-year practical papers do print a viva question worth 6 marks, which is where the confusion comes from.
4. Why is a 2-credit practical 60 hours when a 2-credit theory paper is 30? Because MU counts one practical credit as 30 hours of laboratory work, against 15 hours of lectures for a theory credit.
5. Which of the two modules is examined first? Q.1 is set on Module 1, which is the operating systems half. Neither module is optional.