CS 4
CS 4
Syllabus for Four Years Bachelor of Technology Degree Course as per NEP-2020 Model Curriculum
July-2023
SUBJECT Exam Contact Hours per Week Max. Min Pass
Credits
Code Title Duration L T P Marks Marks
CS-4401 Operating System 3 Hours 3 1 2 5 70 22
Course Descriptions:
This course will provide an introduction to operating system design and implementation. The
course starts with evolution and then covers the major components of operating systems. The
discussion will cover the tradeoffs that can be made between performance and functionality
during the design and implementation of an operating system. Particular emphasis will be given
to three major OS subsystems: process management (processes, threads, CPU scheduling,
synchronization, and deadlock), memory management (segmentation, paging swapping) and file
systems. Linux/Unix and shell programming.
Course Objectives:
• To learn the fundamentals of Operating Systems functions, features and services.
• To understand the concepts of process and resource management
• To understand the memory hierarchy, memory technologies and memory management.
• To apply the commands on Linux/Unix system.
• To analysis the operating system performance through appropriate abstraction of CPU
memory, files, processes etc.
Syllabus:
Unit-I
Operating System Introduction: Operating systems objectives, functions, architecture,
structures, operations, Evolution. Services, Design and Implementation issues. System calls,
system programs, virtual machine
Unit-II
Process Management: Process concept, Inter process communication, multithreading-concepts,
issues, examples CPU scheduling: concepts, performance, criteria, algorithms, multiprocessor
scheduling
Unit-III
Process Coordination: Critical section problem, software and hardware solutions, semaphores,
monitors, atomic transactions, classical synchronization problems. Deadlock: characterization,
Prevention, Avoidance and Detection, Recovery, combined approach to handle deadlocks.
Unit-IV
Memory and File Systems: Memory management Virtual Memory concepts Partitioning,
Paging. Segmentation, page replacement, cache memory organization. File system: File
Concepts: File organization and access mechanism, File Directories, File sharing and
implementation issues.
Unit-V
LINUX/UNIX Systems: History and evolution, Design Principals. Process management and
scheduling, memory management, file systems, IPC. System calls, Shell Programming.
Course Outcomes:
At the end of the course students will:
• Gain an insight into how programming languages, operating systems, and architectures
interact and provide an environment to the user.
• Analysis the tradeoffs that can be made between performance and functionality during
the design and implementation of an operating system.
• Demonstrate about different functions of operating system i.e. Process Management,
resource management.
• Be able to conceptualize the components involved in designing a contemporary
Operating system.
Text Books:
• Operating System Concepts. By Silberschatz and Galvin, Wiley India, 8th edition.
• Operating System. By William Stalling, Pearson Education, 6th edition.
Reference Books:
• Modern Operating Systems, By Andrew S. Tanenbaum, Pearson Education, 4th Edition
• Operating System, By Achyut S Godbole and Atul Kahate, TMH. 3rd edition.
• Operating Systems a Concept Based Approach, By Dhananjay Dhamdhere, TMH, 3rd
edition.
LIST OF EXPERIMENTS:
• Basics of LINUX/UNIX commands.
• Write a program to study basic and user status commands in Linux.
• Write a program to find greatest number among the given numbers.
• Write a program to find the factorial of a number.
• Write a program to find the leap year among the given years.
• Write a program to develop a calculator or a switch case.
• Implementation of CPU scheduling a) Round Robin b) SJF c) FCFS d) Priority
• Implement all file allocation strategies.
• Implement Semaphores
• Implement II File Organization Techniques a
• Implement Bankers algorithm for Dead Lock Avoidance
• Implement an Algorithm for Dead Lock Detection
• Implement the all page replacement algorithms a) FIFO b) LRU c) LFU
• Implement Shared memory and IPC
• Implement Paging Technique f memory management.
*These are the General List of Experiments & the list of Experiments may vary as per course
Instructor.
Computer Science & Engineering, UEC, Ujjain.
Syllabus for Four Years Bachelor of Technology Degree Course as per NEP-2020 Model Curriculum
July-2023
SUBJECT Exam Contact Hours per Week Max. Min Pass
Credits
Code Title Duration L T P Marks Marks
CS-4402 Analysis and Design of Algorithm 3 Hours 2 1 2 4 70 22
Course Descriptions:
The course emphasizes the relationship between algorithms and programming, and
introduces basic performance measures and analysis techniques for algorithms. Also it
introduces the classic algorithms in various domains.
Course Objectives:
● To learn the fundamental techniques for effective problem solving in computing.
● To Understand the different algorithmic design strategies
● To analysis the performance of algorithms using time and space complexity theory.
● To explain different computational models (e.g., divide-and-conquer), order notation
and various complexity measures (e.g., running time, disk space) .
Syllabus :
Unit - I Introduction
Algorithm’s specification and performance analysis, asymptotic notations. Divide-and-Conquer
Method: The general method, application to binary search, merge sort, quick sort. Finding the
maximum and minimum, the problem of selection and Strassen's matrix multiplication.
Text Book :
st
i. Algorithms , by Dasgupta ,TMH, 1 edition.
th
ii. Algorithms Design and Analysis by Udit Agarwal ,Dhanpat Rai Publications, 6
edition.
References Book :
i. Introduction to Algorithms ,by Coremen Thomas,Leiserson CE, Rivest RL, PHI,
rd
3 edition.
st
ii. Analysis & Design of Algorithm , by Ullmann , 1 edition.
rd
iii. Algorithm Design ,by Michael T Goodrich, Robarto Tamassia, Wiely India , 3 edition
.
nd
iv. Analysis & Design of Algorithm, by Horowitz & Sahani , 2 edition .
List of Experiments:
1. To implement the following using array as data structure and analyze its time complexity
● Insertion sort, Selection sort, Bubble sort
● Quick sort, Merge sort
● Shell sort, Radix sort, Heap sort
2. To implement Linear and Binary search and analyze its time complexity
3. To implement Matrix Chain Multiplication and analyze its time complexity
4. To implement Longest Common Subsequence problem and analyze its time complexity
5. To implement Huffman coding and analyze its time complexity
6. To implement Dijkstra’s algorithm and analyze its time complexity
7. To implement Bellman Ford algorithm and analyze its time complexity
8. To implement DFS and BFS and analyze their time complexities.
*These are the General List of Experiments & the list of Experiments may vary as per course
Instructor.
Computer Science & Engineering, UEC, Ujjain.
Syllabus for Four Years Bachelor of Technology Degree Course as per NEP-2020 Model Curriculum
July-2023
SUBJECT Exam Contact Hours per Week Max. Min Pass
Credits
Code Title Duration L T P Marks Marks
CS-4303 Computer Organization & Architecture 3 Hours 3 1 0 4 70 22
Course Description:
Students will learn the concepts of computer organization for several engineering computing
systems. The course emphasizes on instruction set design, pipelining, memory technology.
memory hierarchy, virtual memory management, and I/O systems.
Course Objectives:
• Understand the basic principles on which computers work, analyze their performance and
appreciate the issues affecting modern processors.
• Understand concepts of register transfer logic and different operations.
• Explain different types of addressing modes and memory organization
• Summarize the Instruction execution stages and Pipelining
Syllabus:
Unit-I
Computer Basics and CPU: Von Newman model, various subsystems, CPU, Memory, I/O,
System Bus, CPU and Memory registers. Program Counter, Accumulator, Instruction register,
Micro operations, Register Transfer Language, Instruction Fetch, decode and execution, data
movement and manipulation, Instruction formats and addressing modes of basic computer, 8085
microprocessor organization.
Unit-II
Control Unit Organization: Hardwired control unit. Micro and nano programmed control unit,
Control Memory, Address Sequencing. Micro Instruction formats, Micro program sequencer.
Microprogramming, Arithmetic and Logic Unit: Arithmetic Processor, Addition, subtraction,
multiplication and division. Floating point and decimal arithmetic, arithmetic units, design of
arithmetic unit.
Unit-III:
Input Output Organization: Modes of data transfer-program controlled, interrupt driven and
direct memory access, Interrupt structures, I/O Interface. Asynchronous data transfer, I/O
processor, 8085 I/O structure, 8085 instruction set and basic programming. Data transfer-
Serial /parallel, synchronous/asynchronous, simplex/half duplex and full duplex.
Unit-IV:
Memory organization: Memory Maps, Memory Hierarchy, Cache Memory - Organization and
mappings. Associative memory, Virtual memory. Memory Management Hardware,
Unit V:
Multiprocessors: Pipeline and Vector processing, Instruction and arithmetic pipelines, Vector
and array processors, Parallel architecture: On-chip parallelism, Interconnection structure and
inter-processor communication.
Course Outcome:
• Understand the theory and Basic architecture of CPU.
• Understanding of different number systems, binary addition and subtraction, 2's
complement representation and operations with this representation.
• Analysis of different mode of transfer.
• To explain the function of each element of a memory hierarchy.
• Learn the concepts of parallel processing, pipelining and interprocessor communication.
Reference Books:
• Morris Mano; Computer System Architecture, PHI.
• Tanenbaum: Structured Computer Organization, Pearson Education
• J.P. Hayes, Computer Architecture and Organisations, Mc Graw Hills, New Delhi
• Gaonkar: Microprocessor Architecture, Programming. Applications with 8085; Penram
Int.
• William Stallings: Computer Organization and Architecture, PHI
• ISRD group: Computer orgOrganization; TMH
• Carter, Computer Architecture (Schaum); TMH 8. Carl Hamacher: Computer
Organization, TMH
Computer Science & Engineering, UEC, Ujjain.
Syllabus for Four Years Bachelor of Technology Degree Course as per NEP-2020 Model Curriculum
July-2023
SUBJECT Exam Contact Hours per Week Max. Min Pass
Credits
Code Title Duration L T P Marks Marks
CS-4304 Database Management System 3 Hours 3 1 2 5 70 22
Course Descriptions:
A database management system (DBMS) is designed to manage a large body of information.
This course is Emphasis on data dictionaries, normalization, data integrity, data modeling, and
creation of simple tables, queries, reports, and forms. Upon completion, students should be able
to design and implement normalized database structures by creating simple database tables,
queries, and reports.
Objectives:
To understand the basic concepts and the applications of database systems
To master the basics of SQL and construct queries using SQL
To understand the relational database design principles
To become familiar with the basic issues of transaction processing and concurrency control
Syllabus:
Unit I:
DBMS Concepts and architecture: Introduction, Database approach v/s Traditional file
accessing approach. Database schemas and Instances. Database users, functions of DBA and
database Designer. Various data models, basic concepts of Hierarchical data model, Network
data model, and Relational data model, Comparison between the three types of models.
Unit II:
ER data model: Entitles and attributes, Entity types, Defining the E-R diagram. Concept of
Generalization, Aggregation, and Specialization. Transforming the ER diagram into the tables.
Relational Data models: Domains, Tuples, Attributes, Relations, Characteristics of relations,
Keys, Key attributes of relation, Relational database schemas, Integrity constraints (Referential
integrity, Intension, and Extension).Data independence.
Unit III:
Relational algebra and relational calculus: Relational algebra operations like select, Project,
Join, Division, outer union. Types of relational calculus i.e. Tuple oriented and domain oriented
relational calculus and its operations. Relational Query languages: SQL- DDL, DML. Complex
queries, various joitns, indexing, triggers and views.
Unit IV:
Database Design: Introduction to normalization, Normal forms. Functional dependency.
Decomposition, Dependency preservation, and lossless and lossy join. Concurrency Cont
Techniques: Concurrency Control, locking Techniques for concurrency control, time- stamping
protocols for concurrency control, validation based protocol. Recovery with the concurrent
transaction
Unit V:
Transaction Processing Concepts: Transaction System, Testing of Serializability,
Serializability of schedules, conflict & view serializable schedule, recoverability.Data Storage
and indexing: Single level and multi level indexing, Dynamic Multi level indexing using B Trees
and B Trees, Query processing and Query Optimization.
Text Books:
• Date CJ. "An Introduction to Database System". Pearson Educations
• Konth, Silbertz Sudarshan, "Fundamental of Database System", McGraw Hill
Reference Books:
• Understanding SQL by Martin Gruber, BPB
• An introduction to Database Systems, CJ Date. Addition-Wesley.
Course Outcome:
After learning the course the students should be able to:
• Evaluate business information problem and find the requirements of a problem in terms
of data.
• Understand the uses of the database schema and the need for normalization.
• Design the database schema with the use of appropriate data types for storage of data in
the database.
• Apply and relate the concept of transaction, concurrency control and recovery in
database.
• Identify the purpose of query processing and optimization and also demonstrate the basis
of query evaluation.
LIST OF EXPERIMENTS:
• Design a Database and create required tables. For e.g. Bank, College Database
• Apply the constraints like Primary Key, Foreign key, NOT NULL to the tables.
• Write a sql statement for implementing ALTER.UPDATE and DELETE
• Write the queries to implement the joins
• Write the query for implementing The following functions: MAX, MIN, AVG, COUNT.
• Write the query to implement the concept of Intergrity constrains.
• Write the query to create the views.
• Perform the queries for triggers.
• Perform the operations for demonstrating the insertion, updation, and deletion using the
referential integrity constraints.
• Write the query for creating the users and their role.
*These are the General List of Experiments & the list of Experiments may vary as per course
Instructor.
Computer Science & Engineering, UEC, Ujjain.
Syllabus for Four Years Bachelor of Technology Degree Course as per NEP-2020 Model Curriculum
July-2023
SUBJECT Exam Contact Hours per Week Max. Min Pass
Credits
Code Title Duration L T P Marks Marks
CS-4405 Python for Data Analysis 3 3 1 2 5 70 22
Course Description:
The goal of this course is to provide students with an understanding of basic concepts of Python
Programming Language along with its features and application areas, cloud management and
cloud security. This course provides a concise introduction to the python for data analysis. Learn
various tools and programming language prevalent in solving real world problems. We can
choose appropriate machine learning techniques and tools to solve problems.
Course Objective:
To be able to introduce core programming basics of Python programming language. To
demonstrate about Python data structures like Lists, Tuples, Sets and dictionaries. To understand
about Functions, Modules and Regular Expressions in Python Programming.
Unit 1
Introduction to Python and history of Python, Unique features of Python, Install Python and
Environment Setup, First Python Program, Identifiers, Keywords. Data types and various
operators used in python. List, Set, Dictionary, Tuple, Understanding Iterators, Generators,
Ranges. If-else Statements, Looping Statements.
Unit 2
Numpy: Introduction to Numpy, Creating arrays, Indexing Arrays, Array Transposition,
Universal Array Function. Python built in function: Python objects and Functions, Number and
Maths. Python user defined functions.
Unit 3
Pandas: Introduction of pandas, Series in pandas, Index objects, Reindex, Drop Entry, Selecting
Entries, Data Alignment, Ranking and Sorting, Index hierarchy. Case study using pandas.
Unit 4
Introduction of Data analysis, Importance of data analysis, Techniques of data analysis,
application of data analysis. Data Processing: Data Cleaning, Data Integration and
Transformation. Data Reduction, Statistical analysis of data with python.
Unit 5
Python built in Modules and Packages used for data analysis, Module used for Supervise
Learning, Module used for Unsupervised Learning. Data Visualization using Matplotlib.
Course Outcome:
● After completion of this syllabus students will be able to:
● Apply the principles python programming.
● Write clear and effective python code.
● Create applications using python programming.
● Implementing database using SQL.
● Access database using python programming.
Text Books
1. Learning Python, Mark Lutz, Orielly, 3 Edition 2007.
2. Python Programming: A Modern Approach, Vamsi Kurama, Pearson, 2017.
Reference Books
1) Think Python, 2 Edition, 2017 Allen Downey, Green Tea Press
2) Core Python Programming, 2016 W.Chun, Pearson.
3) Introduction to Python, 2015 Kenneth A. Lambert, Cengages
4) https://www.w3schools.com/python/python_reference.asp
5) https://www.python.org/doc/
List of Practical:
1. Write a python program to print Hello World.
2. Write a program to perform different Arithmetic Operations on numbers in Python.
3. Write python program to calculate the area of circle.
4. Write python program to show use of conditional statement.
5. Write a python program to swap two variables with using third variable.
6. Write a python program to swap two variables without using third variable.
7. Write python program to print list of numbers using for loop.
8. Write a python program to find factorial of a number using loop.
9. Write python program to store strings in list and then print them.
10. Write a program to create, append, and remove lists in python.
11. Write a program to demonstrate working with tuples in python.
12. Write a program to demonstrate working with dictionaries in python
13. Write a program to check prime number or not using python.
14. Create a list and perform the following methods
a) insert() b) remove() c) append() d) len() e) pop() f)clear()
15. Write python program in which a function is defined and calling that function prints Hello
World.
16. Write a program to print all prime numbers using python.
17. Write a program to display the multiplication table using python.
18. Write a python program to create 3D array.
19. Write a python program to create an empty and a full numpy array.
Computer Science & Engineering, UEC, Ujjain.
Syllabus for Four Years Bachelor of Technology Degree Course as per NEP-2020 Model Curriculum
July-2023
SUBJECT Exam Contact Hours per Week Max. Min Pass
Credits
Code Title Duration L T P Marks Marks
CS-4306 Mobile Application Development Lab 2 Hours 0 0 2 1 30 10
Course Description:
This course is concerned with the development of applications on mobile and wireless
computing platforms. Android/iOS will be used as a basis for teaching programming techniques
and design patterns related to the development of standalone applications and mobile portals to
enterprise and commerce systems.
Course Objectives:
1. To facilitate students to understand android SDK.
2. To help students to gain a basic understanding of Android/iOS application development.
3. To inculcate working knowledge of Android Studio development tool.
List of Practical:-
01. Introduction to Mobile Application.
02. Describe Android Studio and its installation process.
03. What is flutter; describe the installation process of flutter.
04. Widget tags and their use in flutter.
05. Create your First Application in Flutter.
06. Create an AppBar using ‘AppBar’ Widget in Flutter.
07. Create a table using ‘Table’ widget in Flutter.
08. Stateless and State-full widgets in Flutter.
09. Write a program to create a form in Flutter.
10. Write a program to create a calculator in Flutter.
11. Write a program to create a Bottom Navigation in Flutter.
12. Write an application of Calculator app using flutter.
Course Outcome:
● To explain the basics of mobile application development
● Develop Android application with User interface, networking and animation.
● Use simulator tools to test and publish the application.
Books :-
1. Beginning App Development with Flutter By Rap Payne
2. Beginning Flutter: A Hands On Guide to App Development By Marco L. Napoli
3. Flutter Complete Reference 2.0 By Alberto Miola