R25PCC201 Operating Systems
Credits : 3 CIE:30 SEE:70 Hrs/Week : 3L
Course Objectives
To gain an understanding of operating systems, with a focus on Unix operating systems.
To comprehend the details of the process.
To learn about the types and architecture of computer memory.
To study file systems and their implementation.
To apply operating system concepts through case studies.
Course Outcomes
CO1 : Understand operating systems and Unix OS, and illustrate the workings of various OS components.
CO2 : Analyze the process, its states, and process scheduling algorithms.
CO3 : Discuss paging, demand paging, page replacement, and segmentation with illustrations. CO4 : Elaborate on file access, allocation methods, and mass storage structures.
CO5 : Describe the concrete implementations of the Linux system and Windows .
UNIT-I 9 Hrs
Unix : Introduction, commands, file system, security and file permissions, regular expressions and grep, shell programming.
Introduction to Operating Systems : OS structure and strategies, process concepts, multithreaded programming, process scheduling, process synchronization, cpu scheduling ,deadlocks.
UNIT-II 9 Hrs
Memory Management Strategies with Example Architectures : Swapping, contiguous allocation, paging, segmentation, segmentation with paging.
Virtual Memory Management : Demand paging, page replacement.
UNIT-III 8 Hrs
File System Interface : File concepts, access methods, and protection.
File System Implementation : File system structure, allocation methods, directory implementation, mass storage structures, I/O systems.
UNIT-IV 8 Hrs
System Protection : Principles and domains, access matrix and implementation, access control and access rights, capability-based systems, language-based protection.
System Security: Problem, program threats, cryptography, user authentication, implementing security defenses, firewalls, computer security classification.
UNIT-V 9 Hrs
Case Studies: The Linux System-Design principles, Kemel modules, Process management, Scheduling, Memory management, File systems, Input and Output, Inter process. communication.
Windows - Design principles, System components, Networking, Programmer interface.
Suggested readings
Abraham Silberschatz, Peter B. Galvin, Operating System Concepts, 9th edition, Wiley, 2016.
William Stallings, Operating Systems: Internals and Design Principles, 8th edition, Pearson, 2014.
Andrew S. Tanenbaum, Modern Operating Systems, 4th edition, Pearson, 2016.
R25PCC202 Database Management Systems
Credits : 4 CIE:30 SEE:70 Hrs/Week : 4L Course Objectives
Introduce database concepts along with ER modeling.
Learn about relational databases and SQL query language.
Define advanced SQL.
Study database transactions and explore concurrency concepts.
Introduce NoSQL.
Course Outcomes
CO1 : Apply Entity-Relationship (E-R) modeling to design robust relational databases based on real-world requirements.
CO2 : Apply relational algebra and formulate SQL queries to retrieve and manipulate data, including complex queries, nested sub-queries, and views.
CO3 :Apply normalization techniques using functional dependencies to achieve optimal database design.
CO4 : Explain and implement indexing and hashing techniques, and understand transaction concepts.
CO5 :Analyze and implement concurrency control techniques and recover evaluate emerging database technologies like NoSQL including key-value, document, column-family, and graph databases.
UNIT-I 10 Hrs
Introduction : Database system applications, purpose of database systems, views of values, nested sub-queries, complex queries, views, modification of the database, joined relations data, database languages, relational databases, database design, object-based and semi-structured databases, data storage and querying, transaction management, data mining and analysis, database architecture,
database users and administrators.
Database Design and the E-R Model : Overview of the design process, the entity-relationship model, constraints, entity-relationship diagrams, entity-relationship design issues, weak entity sets, extended E-R features, database design for a banking enterprise, reduction to relational schemas, and other
aspects of database design.
UNIT-II 9 Hrs
Relational Model : Structure of relational databases, fundamental relational algebra operations, additional relational algebra operations, extended relational algebra operations, null values, modification of databases.
Structured Query Language (SQL) : Data definition, basic structure of SQL queries, set operations, aggregate functions, null.
UNIT-III 9 Hrs
Advanced SQL : SQL data types and schemas, integrity constraints, authorization, embedded SQL, dynamic SQL, functions and procedural constructs, recursive queries, and advanced SQL features.
Relational Database Design : Features of good relational design, atomic domains and first normal form, functional dependency theory, decomposition using functional dependencies.
UNIT-IV 8 Hrs
Indexing and Hashing : Basic concepts, ordered indices, B+ tree index files, B tree index files, multiple-key access, static hashing, dynamic hashing, comparison of ordered indexing and hashing, bitmap indices.
Index Definition in SQL Transactions : transaction concepts, transaction states, implementation of atomicity and durability, concurrent executions, serializability, recoverability, implementation of isolation, testing for serializability.
UNIT-V 10 Hrs
Concurrency Control : Lock-based protocols, timestamp-based protocols, validation-based protocols, multiple granularity, multi-version schemes, deadlock handling, insert and delete operations, weak
levels of consistency, concurrency of index structures.
Recovery System : Failure classification, storage structure, recovery and atomicity, log-based recovery, recovery with concurrent transactions, buffer management, failure with loss of nonvolatile storage, advanced recovery techniques, remote backup systems.
NoSQL : Need for NoSQL, aggregate data models, more details on data models, distribution models, consistency, version stamps, map-reduce, key-value databases, document databases, column-family stores, graph databases, schema migrations.
Suggested readings
Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts, McGraw- Hill International Edition, 6th Edition, 2010.
Ramakrishnan, Gehrke, Database Management Systems, McGraw-Hill International Edition, 3rd Edition, 2003.
Elmasri, Navathe, Somayajulu, Fundamentals of Database Systems, Pearson Education, 4th Edition, 2004.
Shashank Tiwari, Professional NoSQL, 1st Edition, Wiley Publishers, 2011.
R25PCC203 Design and Analysis of Algorithms
Credits : 3 CIE:30 SEE:70 Hrs/Week : 3L
Course Objectives
Learn algorithms time complexity
Learn divide and conquer approach
Learn greedy method
Learn dynamic programming
Learn backtracking
Course Outcomes
CO1 : Understand and analyze the foundations of algorithms, and implement basic data structures like stacks, queues, trees, graphs, and disjoint sets.
CO2 : Apply divide and greedy techniques to solve problems such as searching, sorting, aa matrix operations, and optimization problems like minimum-cost spanning trees
and shortest paths.
CO3 : Implement graph traversal techniques for analyzing connectivity.
CO4 : Apply backtracking and branch-and-bound strategies to solve combinatorial problems. CO5 : Understand the theory of NP-Hard and NP-Complete problems
UNIT-I 9 Hrs
Introduction to Algorithms : Algorithm Specifications, Performance Analysis, Randomized Algorithms.
Elementary Data Structures : Stacks and Queues, Trees, Dictionaries, Priority Queues, Sets and Disjoint Set Union, Graphs.
UNIT-II 9 Hrs
Divide and Conquer : Binary Search, Finding the Maximum and Minimum, Merge Sort, Quick Sort, Strassen Matrix Multiplication, Convex Hull.
The Greedy Method : Knapsack Problem, Tree Vertex Splitting, Job Sequencing with Deadlines, Minimum-Cost Spanning Trees, Single Source Shortest Paths.
UNIT-III 10 Hrs
Dynamic Programming : General Method, Multistage Graphs, All-Pairs Shortest Paths,
Single-Source Shortest Paths, Optimal Binary Search Trees, 0/1 Knapsack, The Traveling Salesperson Problem.
Basic Traversal and Search Techniques : Techniques for Binary Trees, Techniques for Graphs, Connected Components and Spanning Trees, Biconnected Components and DFS.
UNIT-IV 9 Hrs
Back Tracking : General Method, 8-Queens Problem, Sum of Subsets, Graph Coloring, Hamiltonian Cycles, Knapsack Problem.
Branch-Bound : The Method, 0/1 Knapsack Problem, Traveling Sales Person.
UNIT-V 8 Hrs
NP-Hard and NP-Completed Problems : Basic Concepts, Cooks Theorem, NP-Hard Graph Problems, NP-Hard Scheduling Problems, NP-Hard Code Generation, Some Simplified NP-Hard Problems.
Suggested Readings
E Horowitz, S Sahni, S Rajasekaran, Fundamentals of Computer Algorithms, Second Edition, Universities Press 2007.
R.Pannerselvan, Design Analysis and Algorithm, PHI, 2007.
Hari Mohan Pandey, Design analysis and Algorithm, University Science Press, 2009.
TH Cormen, CE Leiserson, RL Rivert, C Stein, Introduction to Algorithms, Third Edition, PHI, 2010.
R25PCC204 Data Engineering with Python
Credits : 3 CIE:30 SEE:70 Hrs/Week : 3L Course Objectives
How to extract raw data
Clean the data
Perform transformations on data
Load data and visualize the data
Course Outcomes
CO1 : Develop Python programs using built-in data structures like lists, tuples, dictionari
and apply file operations and regular expressions for text processing.
CO2 : Understand the data science workflow, including data acquisition, analysis, and reporting, and work with various file formats such as CSV, JSON, XML, and HTML using Python.
CO3 : apply Pandas for efficient data manipulation, transformation, and visualization using
Matplotlib and Pandas plotting tools.
CO4 : Apply statistical and probability techniques using Python to analyze datasets, compute
statistical measures.
CO5 : Implement basic machine learning algorithms including linear regression, K-means clustering, and decision forests to build predictive models and analyze real-world data
.
UNIT-I 8 Hrs
Introduction, parts of Python Programming Language, Control Flow Statements, Functions, Strings [Reference 2 - Chapter 1 or Chapter 5]
UNIT-II 8 Hrs
Lists, Dictonaries, Tuples and sets, Files, Regular Expressions [ Reference 2- Chapter 6 to Chapter 10]
UNIT-III 10 Hrs
Introduction to Data Science [ Reference 2-Chapter 12], Data Science: Data Analysis Sequence, Data Acquisition Pipeline, Report Structure [ Reference 1(Chapter 1-Unit 3)]].
Files and Working with Text Data: Types of Files, Creating and Reading Text Data, File Methods to Read and Write Data, Reading and Writing Binary Files, The Pickle Module, Reading and Writing
CSV Files, Python os and os.path Modules. [Reference 2, Chapter 9)]
Working with Text Data: JSON and XML in Python [Reference 2, Section12.2].
Working with Text Data: Processing HTML Files, Processing Texts in Natural Languages [Reference l (Chapter3 -Unit 13, and Unitl6).
Regular Expression Operations: Using Special Characters, Regular Expression Methods, Named Groups in Python Regular Expressions, Regular Expression with glob Module [Reference 2- Chapter l0]
UNIT- IV 9 Hrs
Working with Databases: Setting Up a MySQL Database, using a MySQL Database: Command Line, Using a MySQL Database, Taming Document Stores: MongoDB [Reference 1 (Chapter4- Unitl7toUnit20)].
Working with Data Series and Frames: Pandas Data Structures, Reshaping Data, Handling Missing Data, Combining Data, Ordering and Describing Data, Transforming Data, Taming Pandas File I/O
[Reference 1 (Chapter 6-Unit 31 to Unit 37)].
Plotting: Basic Plotting with PyPlot, Getting to Know Other Plot Types, Mastering Embellishments, Plotting with Pandas [Reference 1 (Chapter8-Unit 41 to Unit 44)]
UNIT-V 8 Hrs
Probability and Statistics: Reviewing Probability Distributions, Recollecting Statistical measures,
Doing Stats the Python way
[Reference I (Chapter9-Unit 45 to Unit 47)].
Machine Learning : Designing a Predictive Experiment, fitting a linear regression, Grouping Data with K-means Clustering. Surviving in Random Decision Forests.
[Reference 1(Chapter 10 ◻ Unit 48 to Unit-5l)]
Suggested Readings
Data Science Essentials in Python: Collect, Organize, Explore, Predict, Value. Dmitry Zinoriev, The Pragmatic Programmers LLC,2016
Introduction to Python Programming. Gowrishankar S., Veena A. CRC Press, Taylor & Francis Group, 2019
Python for Everybody: Exploring Data Using Python 3. Charles R Severance,2016
Python Data Analytics - Data Analysis and Science using Pandas, matplotlib and the Python Programming Language. Fabio Nelli, Apress, 2015
Website Scraping with Python. Using Beautiful-soup and Scrapy. GaborLaszloHajba, Apress, 2018
Machine Learning with Python Cookbook:.Practical Solutions from Preprocessing to Deep Learning. Chris Albon, OReilly 2018.
R25PCC205 Machine Learning
Credits : 3 CIE:30 SEE:70 Hrs/Week : 3L Course Objectives
l. Learn regression techniques
Learn dimensionality reduction methods
Learn classification schemes
Learn clustering mechanisms
Learn evaluation metrics
Course Outcomes
CO1 : Solve regression problems
CO2 : Apply dimensionality reduction methods
CO3 : Analyze classification schemes
CO4 : Explore clustering mechanisms
CO5 : Explain evaluation metrics
UNIT-I 8 Hrs
Basic Maths: Probability, Linear Algebra, Convex Optimization
Background: Statistical Decision Theory, Bayesian Learning (ML, MAP, Bayes estimates, Conjugate priors)
UNIT-II 8 Hrs
Regression: Linear Regression, Ridge Regression, Lasso,
Dimensionality Reduction: Principal Component Analysis, Partial Least Squares
UNIT-III 9 Hrs
Classification: Linear Classification, Logistic Regression, Linear Discriminant Analysis, Quadratic Discriminant Analysis, Perceptron, Support Vector Machines, Kernels, Artificial Neural Networks, Back Propagation, Decision Trees, Bayes Optimal Classifier, Naive Bayes.
UNIT-IV 8 Hrs
Evaluation measures: Hypothesis testing, Ensemble Methods, Bagging, Adaboost Gradient Boosting, Clustering, K-means, K-medoids, Density-based Hierarchical, Spectral.
Unit-V 9 Hrs
Introduction to reinforcement learning, the learning task, Q learning and illustrative example.
Graphical models: Bayesian networks, use cases of various ML algorithms in manufacturing, retail, transport, healthcare, weather, insurance
Suggested Readings
Ethem Alpaydin, Introduction to Machine Learning, 3rd edition, Adaptive Computation and Machine Learning Series, The MIT Press, 2004.
Tom M. Mitchell, Machine Learning, McGraw Hill Education, 2013
R25MGC206 Operations Research
Credits : 4 CIE:30 SEE:70 Hrs/Week : 3L+1T Course Objectives
l. Learn linear programming
Learn transportation problem
Learn assignment problem
Learn dynamic programming
Learn gaming theory
Course Outcomes
CO1 : Solve linear problems
CO2 : Apply transportation problems CO3: Analyze assignment problems CO4 : Explore dynamic programming CO5 : Discuss gaming theory
UNIT-I 9 Hrs
Linear Programming: Introduction, Concept of Linear Programming Model, Development of LP models, Graphical Method, Linear Programming Methods, Special cases of Linear Programming, Duality, Sensitivity Analysis.
UNIT-II 8 Hrs
Transportation Problem: Introduction, Mathematical Model for 'Transportation Problem, Types of Transportation Problem, Methods to solve Transportation Problem, Transshipment Model.
UNIT-III 10 Hrs
Assignment Problem: Introduction, Zero-One Programming Model, Types of Assignment Problem, Hungarian Method, Branch-and-Bound Technique for Assignment Problem.
Integer Programming: Introduction, Integer Programming Formulations, The Cutting-Plane Algorithm, Branch-and-Bound Technique, Zero-One Implicit Enumeration Algorithm.
UNIT-IV 9 Hrs
Dynamic Programming: Introduction, Applications of Dynamic Programming, Solution of Linear Programming Problem through Dynamic Programming. Basics of Queuing theory.
UNIT-V 8 Hrs
Game Theory: Introduction, Game with Pure Strategies, Game with Mixed Strategies, Dominance Property, Graphical Method for 2 x n or m x 2 Games, Linear Programming Approach for Game Theory.
Suggested Readings
Pannarselvam, Operations Research, 3rd Edition, PHI, 2009.
Prem Kumar Gupta, Ds Hira, Problems in Operations Research, S.Chand, 2010
Rathindra P Sen, Operations Research - Algorithm and Application, PHI, 2010.
J K Sharma, Operations Research, Fourth Edition, MacMillan, 2009.
R25LCC251 Operating Systems Lab
Credits : 1.5 CIE : 25 SEE : 50 Hrs/Week : 3P Course Objectives
Learn shell commands and scripting
Learn CPU scheduling algorithms
Learn memory management algorithms
Learn synchronization problems
Explore file allocation strategies and disk scheduling algorithms
Course Outcomes
Be able to execute shell commands and write shell scripts
Be able to write programs on CPU scheduling
Be able to create memory management algorithms
Be able to execute programs to demonstrate synchronization problems
Be able to implement file allocation methods and be able to create disk scheduling algorithms
Programs
Unix Shell Commands
File handling commands
Directory handling commands
General purpose commands
Unix Shell Scripts
Print Multiplication table of a given number using all loops
Perform all arithmetic operations
Print the type of a file
Rename all files whose names end with .c as .old
Display the number of lines in each of text file in a given dir
Simulate the following CPU scheduling algorithms.
FCFS
SJF
Round Robin
Priority.
Write a C program to simulate producer-consumer problem using Semaphores.
Write a C program to simulate the concept of Dining-philosophers problem.
Simulate MVT and MFT.
Write a C program to simulate the following contiguous memory allocation techniques
Worst fit
Best fit
First fit.
Simulate following page replacement algorithms
FIFO
LRU
OPTIMAL
Simulate following File Organization Techniques
Single level directory
Two level directory
Simulate following file allocation strategies
Sequential
Indexed
Linked.
Simulate Bankers Algorithm for Deadlock Avoidance.
Simulate Bankers Algorithm for Deadlock Prevention.
Write a C program to simulate disk scheduling algorithms.
FCFS
SCAN
C-SCAN
R25LCC252 Database Management Systems Lab
Credits : 1.5 CIE : 25 SEE : 50 Hrs/Week: 3P Course Objectives
Learn SQL queries
Learn PL/SQL stored procedures
Learn Triggers
Learn report generation methods
Learn database application creation
Course Outcomes
Write SQL queries
Write stored procedures
Write triggers
Use file locking and table locking facilities
Create small full-fledged database application
Creation of database (exercising the commands for creation)
Simple to Complex condition query creation using SQL plus.
Usage of Triggers and Stored Procedures.
Creation of Forms for Student information, Library information, Pay roll etc.
Writing PL/SQL procedures for data validation.
Report generation using SQL reports.
Creating password and security features for applications.
Usage of File locking, Table locking facilities in applications.
Creation of small full- fledged database application spreading over 3 sessions.
Note: The creation of sample database for the purpose of the experiments is expected to be pre-decided by the instructor.
R25LCC253 Data Engineering with Python Lab
Credits : 1 CIE : 25 SEE : 50 Hrs/Week: 2P Course objectives
Understand the process of Importing and Exporting the data.
Learn how to collect, store and manage data from multiple data sources.
Know the insights of data using statistical methods
Identify different techniques for data analysis and data visualization.
Put into practice the ETL (extract, transform, load) pipeline which will extract raw data, clean the data, perform transformations on data, load data and visualize the data.
Course Outcomes
Demonstrate various data types in python and develop programs using files, exception handling, functions, classes in Python.
Examine the process for importing and exporting the data.
Apply appropriate data collection and pre-processing methods.
Identify different data analysis Techniques suitable for a given application
Demonstrate data visualization techniques for Data Analysis.
Libraries
In this course students are expected to extract, transform and load input data that can be text files, CSV files, XML files, JSON, HTML files, SQL databases, NoSQL databases etc. For doing this, they should learn the following Python libraries/modules: pandas, numpy, BeautifulSoup, pymysql, pymongo, nltk, matplotlib
Datasets
For this laboratory, appropriate publicly available data-sets, can be studied and used. Example: MNIST (http://yann.lecun.com/exdb/mnist/),
UCl Machine Learning Repository(https://archive.ics.uci.edu/ml/datasets.html), Kaggle (https://www.kaggle.com/datasets)
Twitter Data
Exercises
Write programs to parse text files, CSV, HTML, XML and JSON documents and extract relevant data.
After retrieving data check any anomalies in the data, missing values etc.
Write programs for reading and writing binary files
Write programs for searching, splitting, and replacing strings based on pattern matching using regular expressions.
Design a relational database for a small application and populate the database, Using SQL do the CRUD (create, read, update and delete) operations
Create a python MongoDB client using the Python module pymango. Using a collection object Practice functions for insertion, searching, removing, updating, replacing, and aggregating documents, as well as for creating indexes
Write programs to create numpy arrays of different shapes and from different sources, reshape and slice arrays, add array indexes, and apply arithmetic, logic, and aggregation functions to some or all array elements.
Write programs to use the pandas data structures: Frames and series as Storage containers and for a variety of data-wrangling operations, such as:
Single-level and hierarchical indexing
Handling missing data
Arithmetic and Boolean operations on entire columns and tables
Database-type operations (such as merging and aggregation)
Plotting individual columns and whole tables
Reading data from files and writing data to files
Additional Exercises (for learning and practice)
Introduction to Python Programming
Running instructions in Interactive interpreter and a Python Script.
Write a program to purposefully raise Indentation Error and Correct it
Write a program to compute distance between two points taking input from the user
Write a program add python that takes 2 numbers as command line arguments and prints its sum.
Program to display the following information: Your name, Full Address, Mobile Number,
College Name, Course Subjects
Write a Program for checking whether the given number is an even number or not.
Control Structures, Lists
Program to find the largest three integers using if-else
Program that receives a series of positive numbers and display the numbers in order and their sum
Program to find the product of two matrices and
Program to display two random numbers that are to be added, the program should allow the student to enter the answer. If the answer is correct a message of congratulations should be displayed. If the answer is incorrect the correct answer should be displayed.
Using a for loop, write a program that prints out the decimal equivalents of 1/2,1/3,1/4,
.1/10.
Write a program using a while loop that asks the user for a number, and prints a countdown from that number to zero.
Functions and Recursion - Write recursive and non-recursive functions for the following
To find GCD of two integers
To find the factorial of positive integer
To print Fibonacci Sequence up to given number n
To display prime number from2 to n.
Function that accepts two arguments: a list and a number n. It displays all of the numbers in the list that are greater than n
Functions that accept a string as an argument and return the number of vowels and consonants that the string contains
Files, Exceptions, Lists, Sets, Random Numbers
Program to write a series of random numbers in a file from 1 to n and display.
Program to write the content in a file and display it with a line number followed by a colon.
Program to display a list of all unique words in a text file.
Program to analyze the two text files using set operations.
Write a program to print each line of a file in reverse order.
Write a program to count frequency of characters in a given file. Can you use character frequency total whether the given file is a Python program file, C program file or a text file?
Write a program combine lists that combines these lists in to a dictionary.
Object Oriented Programming
Program to implement the inheritance.
Program to implement the polymorphism.
Demonstrate data analysis using NumPy
Create an array of 10 zeros
Create an array of even integers upto 50
Create a 3x3 matrix
Generate an array of 25 random numbers sampled from a standard normal distribution.
Create an array of 20 linearly spaced points between 0 and I
Demonstrate slicing and indexing operations g) Get the sum of all columns in matrix
Write a Program in Python to create and combine student and subject data frames in Pandas.
Create a data frame 'Book' that contains three vectors [Name, Price, Author]. Convert this data frame into a matrix and list the object using the operator ’as’.
Performing Exploratory data analysis on web scraped data of 2021-22 NBA player stats (http://www.basketball-reference.com/)
Perform data cleaning
Handle missing values by replacing with 0
Write to CSV file
Which player scored the most points per game?
Which player had the highest 3-point field goals per game?
Demonstrate Group By() function
Data visualization through Seaborn for the above program 9.
Box plot of points scored grouped by position
Compute the correlation matrix
To determine the mean of a set of numbers. To plot the numbers in a bar plot and have a straight line run through the plot at the mean.
To determine the median of a set of numbers. To plot the numbers in a barplot and have a straight line run through the plot at the median.
To determine the standard deviation. To plot the numbers in a bar plot and have a straight line run through the plot at the mean and another straight line run through the plot at mean standard deviation. More dataset to perform data analysis
Source of the Data :
https://www.kaggle.com/chirin/africa-economic-banking-and-systemic-crisis-data/ downloads/africa-economic-banking-and-systemic-crisis-data.zip/1
Data set : https://www.kaggle.com/khalidative/crimeanalysis