Nothing Special   »   [go: up one dir, main page]

Cssyll

Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

IV Semester Laboratory Component:

DESIGN AND ANALYSIS OF ALGORITHMS 1. Sort a given set of n integer elements using Selection Sort method and compute its time
Course Code 21CS42 CIE Marks 50 complexity. Run the program for varied values of n> 5000 and record the time taken to sort.
Teaching Hours/Week (L:T:P: S) 3:0:2:0 SEE Marks 50 Plot a graph of the time taken versus n. The elements can be read from a file or can be
Total Hours of Pedagogy 40 T + 20 P Total Marks 100 generated using the random number generator. Demonstrate using C++/Java how the brute
Credits 04 Exam Hours 03 force method works along with its time complexity analysis: worst case, average case and best
Course Learning Objectives: case.
CLO 1. Explain the methods of analysing the algorithms and to analyze performance of algorithms. Teaching-Learning Process 1. Problem based Learning.
CLO 2. State algorithm’s efficiencies using asymptotic notations. 2. Chalk & board, Active Learning.
CLO 3. Solve problems using algorithm design methods such as the brute force method, greedy method, 3. Laboratory Demonstration.
divide and conquer, decrease and conquer, transform and conquer, dynamic programming, Module-2
backtracking and branch and bound.
CLO 4. Choose the appropriate data structure and algorithm design method for a specified application. Divide and Conquer: General method, Recurrence equation for divide and conquer, solving it using
CLO 5. Introduce P and NP classes. Master’s theorem. , Divide and Conquer algorithms and complexity Analysis of Finding the maximum &
Teaching-Learning Process (General Instructions) minimum, Binary search, Merge sort, Quick sort.

These are sample Strategies, which teachers can use to accelerate the attainment of the various course Decrease and Conquer Approach: Introduction, Insertion sort, Graph searching algorithms,
outcomes. Topological Sorting. It’s efficiency analysis.

1. Lecturer method (L) does not mean only traditional lecture method, but different type of Textbook 2: Chapter 3(Sections 3.1,3.3,3.4,3.5,3.6)
teaching methods may be adopted to develop the outcomes. Textbook 1: Chapter 4 (Sections 4.1,4.2,4.3), Chapter 5(Section 5.1,5.2,5.3)
2. Show Video/animation films to explain functioning of various concepts.
3. Encourage collaborative (Group Learning) Learning in the class. Laboratory Component:
4. Ask at least three HOT (Higher order Thinking) questions in the class, which promotes critical
1. Sort a given set of n integer elements using Quick Sort method and compute its time
thinking.
5. Adopt Problem Based Learning (PBL), which fosters students’ Analytical skills, develop complexity. Run the program for varied values of n> 5000 and record the time taken to sort. Plot
thinking skills such as the ability to evaluate, generalize, and analyze information rather than a graph of the time taken versus n. The elements can be read from a file or can be generated
simply recall it. using the random number generator. Demonstrate using C++/Java how the divide-and-conquer
6. Topics will be introduced in a multiple representation. method works along with its time complexity analysis: worst case, average case and best case.
7. Show the different ways to solve the same problem and encourage the students to come up
with their own creative ways to solve them. 2. Sort a given set of n integer elements using Merge Sort method and compute its time
8. Discuss how every concept can be applied to the real world - and when that's possible, it helps complexity. Run the program for varied values of n> 5000, and record the time taken to sort.
improve the students' understanding. Plot a graph of the time taken versus n. The elements can be read from a file or can be generated
using the random number generator. Demonstrate using C++/Java how the divide-and-conquer
Module-1 method works along with its time complexity analysis: worst case, average case and best case.

Introduction: What is an Algorithm? It’s Properties. Algorithm Specification-using natural language, Teaching-Learning Process 1. Chalk & board, Active Learning, MOOC, Problem based
using Pseudo code convention, Fundamentals of Algorithmic Problem solving, Analysis Framework- Learning.
Time efficiency and space efficiency, Worst-case, Best-case and Average case efficiency. 2. Laboratory Demonstration.
Performance Analysis: Estimating Space complexity and Time complexity of algorithms. Module-3
Asymptotic Notations: Big-Oh notation (O), Omega notation (Ω), Theta notation ( ) with examples, Greedy Method: General method, Coin Change Problem, Knapsack Problem, solving Job sequencing
Basic efficiency classes, Mathematical analysis of Non-Recursive and Recursive Algorithms with with deadlines Problems.
Examples.
Minimum cost spanning trees: Prim’s Algorithm, Kruskal’s Algorithm with performance analysis.
Brute force design technique: Selection sort, sequential search, string matching algorithm with
Single source shortest paths: Dijkstra's Algorithm.
complexity Analysis.
Optimal Tree problem: Huffman Trees and Codes.
Textbook 1: Chapter 1 (Sections 1.1,1.2), Chapter 2(Sections 2.1,2.2,2.3,2.4), Chapter 3(Section
3.1,3.2) Transform and Conquer Approach: Introduction, Heaps and Heap Sort.

Textbook 2: Chapter 1(section 1.1,1.2,1.3) Textbook 2: Chapter 4(Sections 4.1,4.3,4.5)


Textbook 1: Chapter 9(Section 9.1,9.2,9.3,9.4), Chapter 6( section 6.4) 1. Design and implement C++/Java Program to find a subset of a given set S = {Sl, S2,…, Sn} of n
positive integers whose SUM is equal to a given positive integer d. For example, if S = {1, 2, 5, 6,
Laboratory Component:
8} and d= 9, there are two solutions {1, 2, 6} and {1, 8}. Display a suitable message, if the given
Write & Execute C++/Java Program problem instance doesn't have a solution.

1. To solve Knapsack problem using Greedy method. 2. Design and implement C++/Java Program to find all Hamiltonian Cycles in a connected
2. To find shortest paths to other vertices from a given vertex in a weighted connected graph, using undirected Graph G of n vertices using backtracking principle.
Dijkstra's algorithm.
Teaching-Learning Process 1. Chalk & board, Active Learning, MOOC, Problem based
3. To find Minimum Cost Spanning Tree of a given connected undirected graph using Kruskal's learning.
algorithm. Use Union-Find algorithms in your program. 2. Laboratory Demonstration.
4. To find Minimum Cost Spanning Tree of a given connected undirected graph using Prim's Course outcome (Course Skill Set)
algorithm.
Teaching-Learning Process 1. Chalk & board, Active Learning, MOOC, Problem based At the end of the course the student will be able to:
Learning. CO 1. Analyze the performance of the algorithms, state the efficiency using asymptotic notations and
2. Laboratory Demonstration. analyze mathematically the complexity of the algorithm.
Module-4 CO 2. Apply divide and conquer approaches and decrease and conquer approaches in solving the
problems analyze the same
Dynamic Programming: General method with Examples, Multistage Graphs.
CO 3. Apply the appropriate algorithmic design technique like greedy method, transform and conquer
Transitive Closure: Warshall’s Algorithm. All Pairs Shortest Paths: Floyd's Algorithm, approaches and compare the efficiency of algorithms to solve the given problem.
CO 4. Apply and analyze dynamic programming approaches to solve some problems. and improve an
Knapsack problem, Bellman-Ford Algorithm, Travelling Sales Person problem.
algorithm time efficiency by sacrificing space.
Space-Time Tradeoffs: Introduction, Sorting by Counting, Input Enhancement in String Matching- CO 5. Apply and analyze backtracking, branch and bound methods and to describe P, NP and NP-
Harspool’s algorithm. Complete problems.
Assessment Details (both CIE and SEE)
Textbook 2: Chapter 5 (Sections 5.1,5.2,5.4,5.9)
The weightage of Continuous Internal Evaluation (CIE) is 50% and for Semester End Exam (SEE) is 50%.
Textbook 1: Chapter 8(Sections 8.2,8.4), Chapter 7 (Sections 7.1,7.2) The minimum passing mark for the CIE is 40% of the maximum marks (20 marks). A student shall be
deemed to have satisfied the academic requirements and earned the credits allotted to each subject/
Laboratory Component:
course if the student secures not less than 35% (18 Marks out of 50) in the semester-end examination
Write C++/ Java programs to (SEE), and a minimum of 40% (40 marks out of 100) in the sum total of the CIE (Continuous Internal
Evaluation) and SEE (Semester End Examination) taken together
1. Solve All-Pairs Shortest Paths problem using Floyd's algorithm.
2. Solve Travelling Sales Person problem using Dynamic programming. Continuous Internal Evaluation:
3. Solve 0/1 Knapsack problem using Dynamic Programming method.
Three Unit Tests each of 20 Marks (duration 01 hour)
Teaching-Learning Process 1. Chalk & board, Active Learning, MOOC, Problem based
Learning. 1. First test at the end of 5th week of the semester
2. Laboratory Demonstration. 2. Second test at the end of the 10th week of the semester
3. Third test at the end of the 15th week of the semester
Module-5
Two assignments each of 10 Marks
Backtracking: General method, solution using back tracking to N-Queens problem, Sum of subsets
problem, Graph coloring, Hamiltonian cycles Problems. 4. First assignment at the end of 4th week of the semester
5. Second assignment at the end of 9th week of the semester
Branch and Bound: Assignment Problem, Travelling Sales Person problem, 0/1 Knapsack problem

NP-Complete and NP-Hard problems: Basic concepts, non- deterministic algorithms, P, NP, NP-
Complete, and NP-Hard classes. Practical Sessions need to be assessed by appropriate rubrics and viva-voce method. This will contribute
to 20 marks.
Textbook 1: Chapter 12 (Sections 12.1,12.2) Chapter 11(11.3)

Textbook 2: Chapter 7 (Sections 7.1,7.2,7.3,7.4,7.5) Chapter 11 (Section 11.1)

Laboratory Component:
 Rubrics for each Experiment taken average for all Lab components – 15 Marks.
 Viva-Voce– 5 Marks (more emphasized on demonstration topics) IV Semester

MICROCONTROLLER AND EMBEDDED SYSTEMS


The sum of three tests, two assignments, and practical sessions will be out of 100 marks and will be Course Code 21CS43 CIE Marks 50
scaled down to 50 marks Teaching Hours/Week (L:T:P: S) 3:0:2:0 SEE Marks 50
(to have a less stressed CIE, the portion of the syllabus should not be common /repeated for any of the Total Hours of Pedagogy 40 T + 20 P Total Marks 100
Credits 04 Exam Hours 03
methods of the CIE. Each method of CIE should have a different syllabus portion of the course).
Course Learning Objectives:
CIE methods /question paper has to be designed to attain the different levels of Bloom’s CLO 1: Understand the fundamentals of ARM-based systems, including programming modules with
taxonomy as per the outcome defined for the course. registers and the CPSR.
CLO 2: Use the various instructions to program the ARM controller.
CLO 3: Program various embedded components using the embedded C program.
CLO 4: Identify various components, their purpose, and their application to the embedded system's
Semester End Examination:
applicability.
Theory SEE will be conducted by University as per the scheduled timetable, with common question CLO 5: Understand the embedded system's real-time operating system and its application in IoT.
papers for the subject (duration 03 hours) Teaching-Learning Process (General Instructions)

1. The question paper will have ten questions. Each question is set for 20 marks. Marks scored These are sample Strategies, which teachers can use to accelerate the attainment of the various course
shall be proportionally reduced to 50 marks outcomes.
2. There will be 2 questions from each module. Each of the two questions under a module (with a 1. The lecturer method (L) does not mean only the traditional lecture method, but different types
maximum of 3 sub-questions), should have a mix of topics under that module. of teaching methods may be adopted to develop the outcomes.
2. Show video/animation films to explain the functioning of various concepts.
The students have to answer 5 full questions, selecting one full question from each module.
3. Encourage collaborative (group learning) learning in the class.
Suggested Learning Resources: 4. Ask at least three HOT (Higher order Thinking) questions in the class, which promotes critical
thinking.
Textbooks 5. Adopt Problem Based Learning (PBL), which fosters students’ Analytical skills, develop
1. Introduction to the Design and Analysis of Algorithms, Anany Levitin: 2nd Edition, 2009. thinking skills such as the ability to evaluate, generalize, and analyze information rather than
Pearson. simply recall it.
2. Computer Algorithms/C++, Ellis Horowitz, SatrajSahni and Rajasekaran, 2nd Edition, 2014, 6. Topics will be introduced in multiple representations.
Universities Press. 7. Show the different ways to solve the same problem and encourage the students to come up
with their own creative ways to solve them.
Reference Books 8. Discuss how every concept can be applied to the real world, and when that's possible, it helps
improve the students' understanding.
1. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronal L. Rivest, Clifford
Module-1
Stein, 3rd Edition, PHI.
2. Design and Analysis of Algorithms, S. Sridhar, Oxford (Higher Education) Microprocessors versus Microcontrollers, ARM Embedded Systems: The RISC design philosophy, The
ARM Design Philosophy, Embedded System Hardware, Embedded System Software.
Weblinks and Video Lectures (e-Resources):

1. http://elearning.vtu.ac.in/econtent/courses/video/CSE/06CS43.html ARM Processor Fundamentals: Registers, Current Program Status Register, Pipeline, Exceptions,
2. https://nptel.ac.in/courses/106/101/106101060/ Interrupts, and the Vector Table, Core Extensions
3. http://elearning.vtu.ac.in/econtent/courses/video/FEP/ADA.html
4. http://cse01-iiith.vlabs.ac.in/ Textbook 1: Chapter 1 - 1.1 to 1.4, Chapter 2 - 2.1 to 2.5
5. http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms Laboratory Component:
1. Using Keil software, observe the various registers, dump, CPSR, with a simple ALP programme.
Activity Based Learning (Suggested Activities in Class)/ Practical Based learning Teaching-Learning Process 1. Demonstration of registers, memory access, and CPSR in a
1. Real world problem solving and puzzles using group discussion. E.g., Fake coin identification, programme module.
Peasant, wolf, goat, cabbage puzzle, Konigsberg bridge puzzle etc., 2. For concepts, numerical, and discussion, use chalk and a
2. Demonstration of solution to a problem through programming. whiteboard, as well as a PowerPoint presentation.
Module-2
Introduction to the ARM Instruction Set: Data Processing Instructions , Branch Instructions,
Software Interrupt Instructions, Program Status Register Instructions, Coprocessor Instructions,
Loading Constants
C Compilers and Optimization :Basic C Data Types, C Looping Structures, Register Allocation, Function RTOS and IDE for Embedded System Design: Operating System basics, Types of operating systems,
Calls, Pointer Aliasing, Task, process and threads (Only POSIX Threads with an example program), Thread preemption,
Multiprocessing and Multitasking, Task Communication (without any program), Task synchronization
Textbook 1: Chapter 3: Sections 3.1 to 3.6 (Excluding 3.5.2), Chapter 5 issues – Racing and Deadlock, Concept of Binary and counting semaphores (Mutex example without
Laboratory Component: any program), How to choose an RTOS, Integration and testing of Embedded hardware and firmware,
2. Write a program to find the sum of the first 10 integer numbers. Embedded system Development Environment – Block diagram (excluding Keil),
3. Write a program to find the factorial of a number. Disassembler/decompiler, simulator, emulator and debugging techniques, target hardware debugging,
4. Write a program to add an array of 16 bit numbers and store the 32 bit result in internal RAM. boundary scan.
5. Write a program to find the square of a number (1 to 10) using a look-up table.
6. Write a program to find the largest or smallest number in an array of 32 numbers. Textbook 2: Chapter-10 (Sections 10.1, 10.2, 10.3, 10.4 , 10.7, 10.8.1.1, 10.8.1.2, 10.8.2.2, 10.10
only), Chapter 12, Chapter-13 ( block diagram before 13.1, 13.3, 13.4, 13.5, 13.6 only)
Teaching-Learning Process 1. Demonstration of sample code using Keil software.
2. Laboratory Demonstration Laboratory Component:
Module-3 1. Demonstration of IoT applications by using Arduino and Raspberry Pi
C Compilers and Optimization :Structure Arrangement, Bit-fields, Unaligned Data and Endianness, Teaching-Learning Process 1. Chalk and Board for numerical and discussion
Division, Floating Point, Inline Functions and Inline Assembly, Portability Issues. 2. Significance of real time operating system[RTOS] using
raspberry pi
ARM programming using Assembly language: Writing Assembly code, Profiling and cycle counting, Course outcome (Course Skill Set)
instruction scheduling, Register Allocation, Conditional Execution, Looping Constructs At the end of the course, the student will be able to:
CO 1. Explain C-Compilers and optimization
Textbook 1: Chapter-5,6 CO 2. Describe the ARM microcontroller's architectural features and program module.
Laboratory Component: CO 3. Apply the knowledge gained from programming on ARM to different applications.
1. Write a program to arrange a series of 32 bit numbers in ascending/descending order. CO 4. Program the basic hardware components and their application selection method.
2. Write a program to count the number of ones and zeros in two consecutive memory CO 5. Demonstrate the need for a real-time operating system for embedded system applications.
locations. Assessment Details (both CIE and SEE)
3. Display “Hello World” message using Internal UART. The weightage of Continuous Internal Evaluation (CIE) is 50% and for Semester End Exam (SEE) is 50%.
The minimum passing mark for the CIE is 40% of the maximum marks (20 marks). A student shall be
Teaching-Learning Process 1. Demonstration of sample code using Keil software. deemed to have satisfied the academic requirements and earned the credits allotted to each subject/
2. Chalk and Board for numerical course if the student secures not less than 35% (18 Marks out of 50) in the semester-end examination
Module-4 (SEE), and a minimum of 40% (40 marks out of 100) in the sum total of the CIE (Continuous Internal
Embedded System Components: Embedded Vs General computing system, History of embedded Evaluation) and SEE (Semester End Examination) taken together
systems, Classification of Embedded systems, Major applications areas of embedded systems, purpose Continuous Internal Evaluation:
of embedded systems. Three Unit Tests each of 20 Marks (duration 01 hour)
Core of an Embedded System including all types of processor/controller, Memory, Sensors, Actuators, 1. First test at the end of 5th week of the semester
LED, 7 segment LED display, stepper motor, Keyboard, Push button switch, Communication Interface 2. Second test at the end of the 10th week of the semester
(onboard and external types), Embedded firmware, Other system components. 3. Third test at the end of the 15th week of the semester
Two assignments each of 10 Marks
Textbook 2: Chapter 1 (Sections 1.2 to 1.6), Chapter 2 (Sections 2.1 to 2.6) 4. First assignment at the end of 4th week of the semester
Laboratory Component: 5. Second assignment at the end of 9th week of the semester
1. Interface and Control a DC Motor.
2. Interface a Stepper motor and rotate it in clockwise and anti-clockwise direction. Practical Sessions need to be assessed by appropriate rubrics and viva-voce method. This will contribute
3. Determine Digital output for a given Analog input using Internal ADC of ARM controller. to 20 marks.
4. Interface a DAC and generate Triangular and Square waveforms.
5. Interface a 4x4 keyboard and display the key code on an LCD.  Rubrics for each Experiment taken average for all Lab components – 15 Marks.
6. Demonstrate the use of an external interrupt to toggle an LED On/Off.
 Viva-Voce– 5 Marks (more emphasized on demonstration topics)
7. Display the Hex digits 0 to F on a 7-segment LED interface, with an appropriate delay in
between.
The sum of three tests, two assignments, and practical sessions will be out of 100 marks and will be
Teaching-Learning Process 1. Demonstration of sample code for various embedded
scaled down to 50 marks
components using keil.
(to have a less stressed CIE, the portion of the syllabus should not be common /repeated for any of the
2. Chalk and Board for numerical and discussion
methods of the CIE. Each method of CIE should have a different syllabus portion of the course).
Module-5
CIE methods /question paper has to be designed to attain the different levels of Bloom’s IV Semester
taxonomy as per the outcome defined for the course.
OPERATING SYSTEMS
Course Code: 21CS44 CIE Marks 50
Semester End Examination: Teaching Hours/Week (L:T:P:S) 2:020:0 SEE Marks 50
Theory SEE will be conducted by University as per the scheduled timetable, with common question Total Hours of Pedagogy 40 Total Marks 100
papers for the subject (duration 03 hours) Credits 03 Exam Hours 03
1. The question paper will have ten questions. Each question is set for 20 marks. Marks scored Course Objectives:
shall be proportionally reduced to 50 marks
2. There will be 2 questions from each module. Each of the two questions under a module (with a CLO 1. Demonstrate the need for OS and different types of OS
maximum of 3 sub-questions), should have a mix of topics under that module. CLO 2. Apply suitable techniques for management of different resources
CLO 3. Use processor, memory, storage and file system commands
The students have to answer 5 full questions, selecting one full question from each module. CLO 4. Realize the different concepts of OS in platform of usage through case studies
Teaching-Learning Process (General Instructions)
Suggested Learning Resources:
Textbooks These are sample Strategies, which teachers can use to accelerate the attainment of the various course
1. Andrew N Sloss, Dominic Symes and Chris Wright, ARM system developers guide, Elsevier, outcomes.
Morgan Kaufman publishers, 2008. 1. Lecturer methods (L) need not to be only traditional lecture method, but alternative effective
2. Shibu K V, “Introduction to Embedded Systems”, Tata McGraw Hill Education, Private Limited, teaching methods could be adopted to attain the outcomes.
2nd Edition. 2. Use of Video/Animation to explain functioning of various concepts.
Reference Books 3. Encourage collaborative (Group Learning) Learning in the class.
1. Raghunandan. G.H, Microcontroller (ARM) and Embedded System, Cengage learning 4. Ask at least three HOT (Higher order Thinking) questions in the class, which promotes critical
Publication,2019 thinking.
2. The Insider’s Guide to the ARM7 Based Microcontrollers, Hitex Ltd.,1st edition, 2005. 5. Adopt Problem Based Learning (PBL), which fosters students’ Analytical skills, develop design
3. Steve Furber, ARM System-on-Chip Architecture, Second Edition, Pearson, 2015. thinking skills such as the ability to design, evaluate, generalize, and analyze information
4. Raj Kamal, Embedded System, Tata McGraw-Hill Publishers, 2nd Edition, 2008. rather than simply recall it.
Weblinks and Video Lectures (e-Resources): 6. IntroduceTopics in manifold representations.
7. Show the different ways to solve the same problem and encourage the students to come up
with their own creative ways to solve them.
Activity Based Learning (Suggested Activities in Class)/ Practical Based learning 8. Discuss how every concept can be applied to the real world - and when that's possible, it helps
improve the students' understanding.
Module-1
Introduction to operating systems, System structures: What operating systems do; Computer System
organization; Computer System architecture; Operating System structure; Operating System operations;
Process management; Memory management; Storage management; Protection and Security; Distributed
system; Special-purpose systems; Computing environments.

Operating System Services: User - Operating System interface; System calls; Types of system calls;
System programs; Operating system design and implementation; Operating System structure; Virtual
machines; Operating System generation; System boot.

Process Management: Process concept; Process scheduling; Operations on processes; Inter process
communication

Textbook 1: Chapter - 1,2,3


Teaching-Learning Process Active learning and problem solving
1. https://www.youtube.com/watch?v=vBURTt97EkA&list=PLBlnK
6fEyqRiVhbXDGLXDk_OQAeuVcp2O
2. https://www.youtube.com/watch?v=a2B69vCtjOU&list=PL3-
wYxbt4yCjpcfUDz-TgD_ainZ2K3MUZ&index=2

Module-2
Multi-threaded Programming: Overview; Multithreading models; Thread Libraries; Threading issues. At the end of the course the student will be able to:
Process Scheduling: Basic concepts; Scheduling Criteria; Scheduling Algorithms; Multiple-processor CO 1. Identify the structure of an operating system and its scheduling mechanism.
scheduling; Thread scheduling. CO 2. Demonstrate the allocation of resources for a process using scheduling algorithm.
CO 3. Identify root causes of deadlock and provide the solution for deadlock elimination
Process Synchronization: Synchronization: The critical section problem; Peterson’s solution; CO 4. Explore about the storage structures and learn about the Linux Operating system.
Synchronization hardware; Semaphores; Classical problems of synchronization; Monitors. CO 5. Analyze Storage Structures and Implement Customized Case study

Textbook 1: Chapter - 4,5 Assessment Details (both CIE and SEE)


Teaching-Learning Process Active Learning and problem solving The weightage of Continuous Internal Evaluation (CIE) is 50% and for Semester End Exam (SEE) is 50%.
1. https://www.youtube.com/watch?v=HW2Wcx-ktsc The minimum passing mark for the CIE is 40% of the maximum marks (20 marks). A student shall be
2. https://www.youtube.com/watch?v=9YRxhlvt9Zo deemed to have satisfied the academic requirements and earned the credits allotted to each subject/
Module-3 course if the student secures not less than 35% (18 Marks out of 50) in the semester-end examination
Deadlocks: Deadlocks; System model; Deadlock characterization; Methods for handling deadlocks; (SEE), and a minimum of 40% (40 marks out of 100) in the sum total of the CIE (Continuous Internal
Deadlock prevention; Deadlock avoidance; Deadlock detection and recovery from deadlock. Evaluation) and SEE (Semester End Examination) taken together
Continuous Internal Evaluation:
Memory Management: Memory management strategies: Background; Swapping; Contiguous memory Three Unit Tests each of 20 Marks (duration 01 hour)
allocation; Paging; Structure of page table; Segmentation. 1. First test at the end of 5th week of the semester
2. Second test at the end of the 10th week of the semester
Textbook 1: Chapter - 7,8
3. Third test at the end of the 15th week of the semester
Teaching-Learning Process Active Learning, Problem solving based on deadlock with animation
Two assignments each of 10 Marks
1. https://www.youtube.com/watch?v=MYgmmJJfdBg
4. First assignment at the end of 4th week of the semester
2. https://www.youtube.com/watch?v=Y14b7_T3AEw&list=P
5. Second assignment at the end of 9th week of the semester
LEJxKK7AcSEGPOCFtQTJhOElU44J_JAun&index=30
Group discussion/Seminar/quiz any one of three suitably planned to attain the COs and POs for 20
Module-4
Marks (duration 01 hours)
Virtual Memory Management: Background; Demand paging; Copy-on-write; Page replacement;
6. At the end of the 13th week of the semester
Allocation of frames; Thrashing.
The sum of three tests, two assignments, and quiz/seminar/group discussion will be out of 100 marks
File System, Implementation of File System: File system: File concept; Access methods; Directory and will be scaled down to 50 marks
structure; File system mounting; File sharing; Protection: Implementing File system: File system (to have less stressed CIE, the portion of the syllabus should not be common /repeated for any of the
structure; File system implementation; Directory implementation; Allocation methods; Free space methods of the CIE. Each method of CIE should have a different syllabus portion of the course).
management. CIE methods /question paper has to be designed to attain the different levels of Bloom’s
taxonomy as per the outcome defined for the course.
Textbook 1: Chapter - 9,10,11 Semester End Examination:
Teaching-Learning Process Active learning about memory management and File system Theory SEE will be conducted by University as per the scheduled timetable, with common question
1. https://www.youtube.com/watch?v=pJ6qrCB8pDw&list=P papers for the subject (duration 03 hours)
LIY8eNdw5tW-BxRY0yK3fYTYVqytw8qhp 1. The question paper will have ten questions. Each question is set for 20 marks. Marks scred shall
2. https://www.youtube.com/watch?v=-orfFhvNBzY be proportionally reduced to 50 marks
Module-5 2. There will be 2 questions from each module. Each of the two questions under a module (with a
Secondary Storage Structures, Protection: Mass storage structures; Disk structure; Disk attachment; maximum of 3 sub-questions), should have a mix of topics under that module.
Disk scheduling; Disk management; Swap space management. Protection: Goals of protection, Principles
of protection, Domain of protection, Access matrix, Implementation of access matrix, Access control, The students have to answer 5 full questions, selecting one full question from each module.
Revocation of access rights, Capability- Based systems. Suggested Learning Resources:
Textbooks
Case Study: The Linux Operating System: Linux history; Design principles; Kernel modules; Process
1. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Operating System Principles 7th edition,
management; Scheduling; Memory Management; File systems, Input and output; Inter-process
Wiley-India, 2006
communication.

Reference Books
Textbook 1: Chapter - 2,21
Teaching-Learning Process Active learning about case studies
1. Ann McHoes Ida M Fylnn, Understanding Operating System, Cengage Learning, 6th Edition
1. https://www.youtube.com/watch?v=TTBkc5eiju4
2. D.M Dhamdhere, Operating Systems: A Concept Based Approach 3rd Ed, McGraw- Hill, 2013.
2. https://www.youtube.com/watch?v=8hkvMRGTzCM&list= 3. P.C.P. Bhatt, An Introduction to Operating Systems: Concepts and Practice 4th Edition,
PLEAYkSg4uSQ2PAch478muxnoeTNz_QeUJ&index=36 PHI(EEE), 2014.
3. https://www.youtube.com/watch?v=mX1FEur4VCw 4. William Stallings Operating Systems: Internals and Design Principles, 6th Edition, Pearson.
Course Outcomes (Course Skill Set) Weblinks and Video Lectures (e-Resources):
1. https://www.youtube.com/watch?v=vBURTt97EkA&list=PLBlnK6fEyqRiVhbXDGLXDk_OQAe IV Semester
uVcp2O
2. https://www.youtube.com/watch?v=783KAB- PYTHON PROGRAMMING LABORATORY
tuE4&list=PLIemF3uozcAKTgsCIj82voMK3TMR0YE_f Course Code 21CSL46 CIE Marks 50
3. https://www.youtube.com/watch?v=3- Teaching Hours/Weeks (L: T: P: S) 0: 0: 2: 0 SEE Marks 50
ITLMMeeXY&list=PL3pGy4HtqwD0n7bQfHjPnsWzkeR-n6mkO
Total Hours of Pedagogy 24 Total Marks 100
Activity Based Learning (Suggested Activities in Class)/ Practical Based learning Credits 01 Exam Hours 03
 Real world problem solving using group discussion. Course Objectives:
CLO 1. Demonstrate the use of IDLE or PyCharm IDE to create Python Applications
 Role play for process scheduling.
CLO 2. Using Python programming language to develop programs for solving real-world problems
 Present animation for Deadlock.
CLO 3. Implement the Object-Oriented Programming concepts in Python.
 Real world examples of memory management concepts
CLO 4. Appraise the need for working with various documents like Excel, PDF, Word and Others
CLO 5. Demonstrate regular expression using python programming
Note: two hours tutorial is suggested for each laboratory sessions.
Prerequisite
 Students should be familiarized about Python installation and setting Python environment
 Usage of IDLE or IDE like PyCharm should be introduced
Python Installation: https://www.youtube.com/watch?v=Kn1HF3oD19c
PyCharm Installation: https://www.youtube.com/watch?v=SZUNUB6nz3g
Sl. No. PART A – List of problems for which student should develop program and execute in
the Laboratory
Aim: Introduce the Python fundamentals, data types, operators, flow control and exception
handling in Python

a) Write a python program to find the best of two test average marks out of three test’s
marks accepted from the user.
b) Develop a Python program to check whether a given number is palindrome or not and
also count the number of occurrences of each digit in the input number.
1
Datatypes: https://www.youtube.com/watch?v=gCCVsvgR2KU
Operators: https://www.youtube.com/watch?v=v5MR5JnKcZI
Flow Control: https://www.youtube.com/watch?v=PqFKRqpHrjw
For loop: https://www.youtube.com/watch?v=0ZvaDa8eT5s
While loop: https://www.youtube.com/watch?v=HZARImviDxg
Exceptions: https://www.youtube.com/watch?v=6SPDvPK38tw

Aim: Demonstrating creation of functions, passing parameters and return values

a) Defined as a function F as Fn = Fn-1 + Fn-2. Write a Python program which accepts a


value for N (where N >0) as input and pass this value to the function. Display suitable
error message if the condition for input value is not followed.
b) Develop a python program to convert binary to decimal, octal to hexadecimal using
2
functions.

Functions: https://www.youtube.com/watch?v=BVfCWuca9nw
Arguments: https://www.youtube.com/watch?v=ijXMGpoMkhQ
Return value: https://www.youtube.com/watch?v=nuNXiEDnM44

Aim: Demonstration of manipulation of strings using string methods

3
a) Write a Python program that accepts a sentence and find the number of words, digits,
uppercase letters and lowercase letters.
b) Write a Python program to find the string similarity between two given strings a) By using the concept of inheritance write a python program to find the area of triangle,
Sample Output: Sample Output: circle and rectangle.
Original string: Original string: b) Write a python program by creating a class called Employee to store the details of
Python Exercises Python Exercises Name, Employee_ID, Department and Salary, and implement a method to update salary
Python Exercises Python Exercise of employees belonging to a given department.
Similarity between two said strings: Similarity between two said strings:
1.0 0.967741935483871 OOP’s concepts: https://www.youtube.com/watch?v=qiSCMNBIP2g
Inheritance: https://www.youtube.com/watch?v=Cn7AkDb4pIU
Strings: https://www.youtube.com/watch?v=lSItwlnF0eU
String functions: https://www.youtube.com/watch?v=9a3CxJyTq00 Aim: Demonstration of classes and methods with polymorphism and overriding

Aim: Discuss different collections like list, tuple and dictionary a) Write a python program to find the whether the given input is palindrome or not (for
8
both string and integer) using the concept of polymorphism and inheritance.
a) Write a python program to implement insertion sort and merge sort using lists
b) Write a program to convert roman numbers in to integer values using dictionaries. Overriding: https://www.youtube.com/watch?v=CcTzTuIsoFk
Aim: Demonstration of working with excel spreadsheets and web scraping
Lists: https://www.youtube.com/watch?v=Eaz5e6M8tL4
4 a) Write a python program to download the all XKCD comics
List methods: https://www.youtube.com/watch?v=8-RDVWGktuI
Tuples: https://www.youtube.com/watch?v=bdS4dHIJGBc b) Demonstrate python program to read the data from the spreadsheet and write the data
Tuple operations: https://www.youtube.com/watch?v=TItKabcTTQ4 in to the spreadsheet
9
Dictionary: https://www.youtube.com/watch?v=4Q0pW8XBOkc
Dictionary methods: https://www.youtube.com/watch?v=oLeNHuORpNY Web scraping: https://www.youtube.com/watch?v=ng2o98k983k

Aim: Demonstration of pattern recognition with and without using regular expressions Excel: https://www.youtube.com/watch?v=nsKNPHJ9iPc

a) Write a function called isphonenumber () to recognize a pattern 415-555-4242 Aim: Demonstration of working with PDF, word and JSON files
without using regular expression and also write the code to recognize the same pattern
using regular expression. a) Write a python program to combine select pages from many PDFs
5 b) Write a python program to fetch current weather data from the JSON file
b) Develop a python program that could search the text in a file for phone numbers
(+919900889977) and email addresses (sample@gmail.com)
PDFs: https://www.youtube.com/watch?v=q70xzDG6nls
Regular expressions: https://www.youtube.com/watch?v=LnzFnZfHLS4 10 https://www.youtube.com/watch?v=JhQVD7Y1bsA
https://www.youtube.com/watch?v=FcrW-ESdY-A
Aim: Demonstration of reading, writing and organizing files.
Word files: https://www.youtube.com/watch?v=ZU3cSl51jWE
a) Write a python program to accept a file name from the user and perform the
following operations JSON files: https://www.youtube.com/watch?v=9N6a-VLBa2I
1. Display the first N line of the file
2. Find the frequency of occurrence of the word accepted from the user in the Python (Full Course): https://www.youtube.com/watch?v=_uQrJ0TkZlc
file For the above experiments the following pedagogy can be considered. Problem based
Pedagogy
6 b) Write a python program to create a ZIP file of a particular folder which contains learning, Active learning, MOOC, Chalk &Talk
several files inside it. PART B – Practical Based Learning
A problem statement for each batch is to be generated in consultation with the co-examiner and student
Files: https://www.youtube.com/watch?v=vuyb7CxZgbU should develop an algorithm, program and execute the program for the given problem with appropriate
https://www.youtube.com/watch?v=FqcjKewJTQ0 outputs.
Course Outcomes:
CO 1. Demonstrate proficiency in handling of loops and creation of functions.
File organization: https://www.youtube.com/watch?v=MRuq3SRXses CO 2. Identify the methods to create and manipulate lists, tuples and dictionaries.
CO 3. Discover the commonly used operations involving regular expressions and file system.
7 Aim: Demonstration of the concepts of classes, methods, objects and inheritance CO 4. Interpret the concepts of Object-Oriented Programming as used in Python.
CO 5. Determine the need for scraping websites and working with PDF, JSON and other file formats.
Assessment Details (both CIE and SEE) develop an algorithm, program, execute and demonstrate the results with appropriate output for
The weightage of Continuous Internal Evaluation (CIE) is 50% and for Semester End Exam (SEE) is the given problem.
50%. The minimum passing mark for the CIE is 40% of the maximum marks (20 marks). A student  Weightage of marks for PART A is 80% and for PART B is 20%. General rubrics suggested to be
shall be deemed to have satisfied the academic requirements and earned the credits allotted to each followed for part A and part B.
course. The student has to secure not less than 35% (18 Marks out of 50) in the semester-end  Change of experiment is allowed only once and Marks allotted to the procedure part to be
examination (SEE). The student has to secure 40% of sum of the maximum marks of CIE and SEE to made zero (Not allowed for Part B).
qualify in the course.  The duration of SEE is 03 hours
Rubrics suggested in Annexure-II of Regulation book
Continuous Internal Evaluation (CIE): Textbooks:
1. Al Sweigart, “Automate the Boring Stuff with Python”,1stEdition, No Starch Press, 2015.
CIE marks for the practical course is 50 Marks. (Available under CC-BY-NC-SA license at https://automatetheboringstuff.com/)
2. Reema Thareja “Python Programming Using Problem Solving Approach” Oxford University
Press.
The split-up of CIE marks for record/ journal and test are in the ratio 60:40.
3. Allen B. Downey, “Think Python: How to Think Like a Computer Scientist”,
 Each experiment to be evaluated for conduction with observation sheet and record write-up. 2nd Edition, Green Tea Press, 2015. (Available under CC-BY-NC license at
Rubrics for the evaluation of the journal/write-up for hardware/software experiments designed http://greenteapress.com/thinkpython2/thinkpython2.pdf)
by the faculty who is handling the laboratory session and is made known to students at the
beginning of the practical session.
 Record should contain all the specified experiments in the syllabus and each experiment write-up
will be evaluated for 10 marks.
 Total marks scored by the students are scaled downed to 30 marks (60% of maximum marks).
 Weightage to be given for neatness and submission of record/write-up on time.
 Department shall conduct 02 tests for 100 marks, the first test shall be conducted after the 8 th
week of the semester and the second test shall be conducted after the 14 th week of the semester.
 In each test, test write-up, conduction of experiment, acceptable result, and procedural knowledge
will carry a weightage of 60% and the rest 40% for viva-voce.
 The suitable rubrics can be designed to evaluate each student’s performance and learning ability.
Rubrics suggested in Annexure-II of Regulation book
 The average of 02 tests is scaled down to 20 marks (40% of the maximum marks).

The Sum of scaled-down marks scored in the report write-up/journal and average marks of two tests is
the total CIE marks scored by the student.
Semester End Evaluation (SEE):

 SEE marks for the practical course is 50 Marks.


 SEE shall be conducted jointly by the two examiners of the same institute, examiners are
appointed by the University
 All laboratory experiments are to be included for practical examination.
 (Rubrics) Breakup of marks and the instructions printed on the cover page of the answer
script to be strictly adhered to by the examiners. OR based on the course requirement
evaluation rubrics shall be decided jointly by examiners.
 Students can pick one question (experiment) from the questions lot prepared by the internal
/external examiners jointly.
 Evaluation of test write-up/ conduction procedure and result/viva will be conducted jointly
by examiners.
 General rubrics suggested for SEE are mentioned here, writeup-20%, Conduction procedure
and result in -60%, Viva-voce 20% of maximum marks. SEE for practical shall be evaluated for
100 marks and scored marks shall be scaled down to 50 marks (however, based on course
type, rubrics shall be decided by the examiners)
 Students can pick one experiment from the questions lot of PART A with equal choice to all the
students in a batch. For PART B examiners should frame a question for each batch, student should

You might also like