lication
R24PCC101 Mathematical Foundations of Computer Science
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
To learn logic theory and Boolean Algebra related to computer science
To understand relations and functions
To gain insights into recurrence relation
To comprehend algebraic structure
To study graph theory and concepts of trees
Course Outcomes
Solve logic problems
Represent the relations and functions
Create recurrence relation
Apply algebraic structures
Work on various graph and tree concepts
Unit-I
Fundamentals of logic: Basic connective and truth tables, logical equivalence, logical implication, Use of quantifiers, definitions and the proof of theorems. Set theory: Sets and subsets, set operations, and the laws of set theory, counting and Venn diagrams. Properties of the integers: The well-ordering principle, recursive definitions, division algorithms, fundamental theorem of arithmetic.
Unit-II
Relations and functions: Cartesian product, functions onto functions, special functions, pigeon - hole principle, composition and Inverse functions. Relations: Partial orders, equivalence relations and partitions. Principle of inclusion and exclusion: Principles of inclusion and exclusion, generalization of principle.
Unit-III
Generating functions: Introductory examples, definitions and examples, partitions of integers. Recurrence relations: First-order linear recurrence relation, second-order linear homogeneous recurrence relation with constant coefficients.
Unit-IV
Algebraic structures: Algebraic system general properties, semi groups, monoids, homomorphism, groups, residue arithmetic.
Unit-V
Graph theory: Definitions and examples, subgraphs, complements and graph isomorphism, vertex degree, planar graphs, Hamiltonian parts and cycles. Trees: Definition, properties and examples, rooted trees, spanning trees and minimum spanning trees.
Suggested readings
Mott Joe L Mott, Abraham Kandel and Theodore P Baker, Discrete mathematics for computer scientists and mathematicians, Prentice Hall NJ, Second Edition 2015.
Jr. P. Tremblay and R Manohar, Discrete mathematical structures with applications to computer science, MCgraw Hill, 1987.
R. K. Bisht and H.S Dhami, Discrete mathematics, Oxford higher education, 2015.
Bhavanari Satyanarayana, Tumurukota Venkata Pradeep Kumar and Shaik Mohiddin Shaw,
Mathematical foundations of computer science, BSP, 2016.
Ralph P. Grimaldi, Discrete and combinatorial mathematics, 5th edition, Pearson, 2004.
R24PCC102 Data Structures using C
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
To learn the features of C
To learn the linear and non-linear data structures
To explore the applications of linear and non-linear data structures
To learn to represent data using graph data structures
To learn the basic sorting and searching algorithms
Course Outcomes
Implement linear and non-linear data structure operations using C
Suggest appropriate linear/non-linear data structures for any given data set.
Apply hashing concepts to a given problem
Modify or suggest a new data structure for an application
Appropriately choose the sorting algorithm for an application.
UNIT-I
Structure of a C program - compilation and linking processes - Constants, Variables - Data Types - Expressions using operators in C - Managing Input and Output operations - Decision Making and Branching - Looping statements. Arrays - Initialization - Declaration - One-dimensional and Two- dimensional arrays. Strings - String operations - String Arrays. Simple programs - sorting - searching
- matrix operations.
UNIT-II
Functions - Pass by value - Pass by reference - Recursion - Pointers - Definition - Initialization - Pointer arithmetic. Structures and unions - definition - Structure within a structure - Union - Programs using structures and unions - Storage classes, Preprocessor directives.
UNIT-III
Arrays and their representations. Stacks and Queues - Applications. Linked lists - Single, circular, and doubly linked lists - Applications.
UNIT-IV
Trees - Binary Trees - Binary tree representation and traversals - Applications of trees. Binary Search Trees, AVL trees. Graph and its representations - Graph Traversals.
UNIT-V
Linear Search - Binary Search. Sorting: Selection Sort, Bubble Sort, Insertion Sort, Merge Sort, Quick Sort. Hashing, Types of Hashing, Collision resolution techniques.
Suggested readings
l. Brian W. Kernighan I Dennis Ritchie, The C Programming language, Second Edition, Pearson 2015
Pradip Dey and Manas Ghosh, Programming in C, Second Edition, Oxford University Press, 2011.
Ellis Horowitz, Sartaj Sahni, Susan Anderson-Freed, Fundamentals of Data Structures in C, Second Edition, University Press, 2008.
Mark Allen Weiss, Data Structures and Algorithm Analysis in C, Second Edition, Pearson Education, 1996
Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, Data Structures and Algorithms, Pearson Education, I983.
R24PCC103 Object Oriented Programming using Java
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
Learn the basics of object-oriented programming
Study Java I/O mechanisms
Explore Java API
Develop graphics-based Java programs
Learn the JDBC, servlet, JSP and Swing framework
Course Outcomes
Explain OOP features and concepts
Write basic Java programs
Write I/O programs in Java
Use various built-in Java classes and methods
Create window-based Java programs
UNIT-I
Object-Oriented System Development: Understanding Object-Oriented Development, understanding object concepts, Benefits of Object-Oriented Development. Java Programming Fundamentals: Introduction, Overview of Java, Data Types, Variables and Arrays, Operators, Control Statements, Classes, Methods, Inheritance, Packages and Interfaces, Inner Classes.
UNIT-II
I/O basics, Stream and Byte classes, Character Streams, Reading Console input and output, PrintWriter Class, String Handling, Exception Handling, Multithreaded Programming.
UNIT-III
Exploring Java Language, Collections Overview, Collections Interfaces, Collections Classes, Iterators, Random Access Interface, Maps, Comparators, Arrays, Legacy classes and interfaces, String Tokenizer, BitSet, Date, Calendar, Timer.
UNIT-IV
Introducing AWT Working with Graphics: AWT Classes, Working with Graphics. Event Handling: Two Event Handling Mechanisms, The Delegation Event Model, Event Classes, Source of Events, Event Listener Interfaces. AWT Controls: Control Fundamentals, Labels, Using Buttons, Applying Check Boxes, CheckboxGroup, Choice Controls, Using Lists, Managing Scroll Bars, Using TextField, Using TextArea, Understanding Layout Managers, Menu bars and Menus, Dialog Boxes, FileDialog, Handling events by extending AWT Components, Exploring the controls, Menus, and Layout Manager.
UNIT-V
Introduction to Swing Package, Introduction to JDBC, JDBC Drivers & Architecture, Connecting to Non-Conventional Databases, Introduction to Servlet, Servlet Life Cycle, Developing and Deploying Servlets, Exploring Deployment, Handling Request and Response, JSP, Introduction to Java Network Programming.
Suggested Readings
Herbert Schildt, The Complete Reference Java, 9th Edition, Tata McGraw Hill, 2005.
Bruce Eckel, Thinking in Java, 4th Edition, Pearson Education.
Dietel and Dietel, Java: How to Program, 5th Edition, Prentice Hall.
James M. Slack, Programming and Problem Solving with JAVA, Thomson Learning, 2002.
C. Thomas Wu, An Introduction to Object-Oriented Programming with Java, Tata McGraw Hill, 2005.
Kathy Sierra, Bert Bates, Head First Java, 2nd Edition, A Brain-Friendly Guide, Publisher: O'Reilly Media, February 2005.
Jim Keogh, J2EE, McGraw Hilll
R24PCC104 Computer Architecture
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
Learn the basics of data representation
Study register transfer micro-operations
Explore the CPU
Comprehend computer arithmetic algorithms
Learn I/O organization
Course Outcomes
Apply data representation methods
Write logic diagrams for micro-operations
Write general register organization diagrams
Analyze computer arithmetic algorithms
Explain I/O organization
UNIT-I
Data Representation: Data types, Complements, Fixed- and Floating-Point representations, and Binary codes. Overview of Computer Function and Interconnections: Computer components, Interconnection structures, Bus interconnection, Bus structure, and Data transfer.
UNIT-II
Register Transfer Micro-operations: Register Transfer Language, Register Transfer, Bus and Memory Transfers, Arithmetic, Logic and Shift micro-operations, Arithmetic Logic Shift Unit. Basic Computer Organization and Design: Instruction Codes, Computer Registers, Computer Instructions, Timing and Control, Instruction Cycle, Memory reference instruction, Input-Output and Interrupt.
UNIT-III
Microprogrammed Control: Control memory, Address Sequencing, Micro program example, Design of Control Unit. Central Processing Unit: General Register Organization, Stack Organization, Instruction formats, Addressing modes, Data Transfer and Manipulation, and Program control. Computer Arithmetic: Addition and Subtraction, Multiplication, Division, and Floating- Point Arithmetic Operations.
UNIT-IV
Memory Organization: Memory Hierarchy, Main Memory, RAM and ROM, Auxiliary memory, Associative memory, Cache memory, Virtual memory, Memory Management hardware.
UNIT-V
Input-Output Organization: Peripheral Devices, Input-Output Interface, Asynchronous data transfer, Modes of Transfer, Priority Interrupt, Direct Memory Access (DMA), I/O Processor, Serial Communication. Pipeline Processing: Arithmetic, Instruction, and RISC Pipelines. Assessing and Understanding Performance: CPU performance and its factors, Evaluating performance.
Suggested Readings
Morris Mano, Computer System Architecture, Pearson Education India, 3rd Edition, 2007.
William Stallings, Computer Organization and Architecture, PHI, 7th Edition, 2008.
David A. Patterson, John L. Hennessy, Computer Organization and Design, Morgan Kaufmann, 5th Edition, 2013.
Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Computer Organization, Tata McGraw-Hill Education, 5th Edition, 2002.
R24PCC105 Probability and Statistics
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
Understand the Linear Algebra concepts through vector spaces.
Basic concepts of probability and various discrete and continuous probability distributions.
Learn sampling procedures and various kinds of estimation techniques.
Learn hypothesis testing and acquire knowledge of basic statistical inference and its applications.
Understand the concept of association between two variables and forecast future values by regression equations.
Course Outcomes
Understanding of Linear Algebra will boost the ability to understand and apply various data science algorithms.
Calculate probabilities by applying probability laws and theoretical results, and gain knowledge of important discrete and continuous distributions and their interrelations with real-time applications.
Understand the use of sample statistics to estimate unknown parameters.
Become proficient in learning to interpret outcomes.
Compute and interpret correlation analysis, regression lines, and multiple regression analysis with applications.
UNIT-I
Vector Spaces - Vector Spaces and Subspaces - Null Spaces, Column Spaces, and Linear Transformations. Linearly Independent Sets - Bases - Coordinate Systems.
UNIT-II
Probability - Basic terminology, three types of probability, probability rules, statistical independence, statistical dependency, Bayes' theorem. Probability Distributions - Random variables, expected values, binomial distribution, Poisson distribution, normal distribution, choosing the correct distribution.
UNIT-III
Sampling and Sampling Distributions - Random sampling, Non-Random Sampling distributions, operational considerations in sampling. Estimation - Point estimates, interval estimates, confidence intervals, calculating interval estimates of the mean and proportion, t-distribution, determination of sample size in estimation.
UNIT-IV
Testing Hypothesis - One sample tests - Hypothesis testing of the mean when the population standard deviation is known, powers of hypothesis tests, hypothesis testing of proportions, hypothesis testing of means when the standard deviation is not known. Testing Hypotheses - Two sample tests
- Tests for the difference between means - large sample, small sample, with dependent samples, testing for the difference between proportions - large sample.
UNIT-V
Chi-square and Analysis of Variance - Chi-square as a test of independence, Chi-square as a test of goodness of fit, analysis of variance, inferences about a population variance, inferences about two population variances. Regression and Correlation - Simple Regression - Estimation using the regression line, correlation analysis, making inferences about population parameters, limitations, errors, and caveats in regression and correlation analysis. Multiple Regression and correlation analysis. Finding multiple regression equations and making inferences about population parameters.
Suggested Reading
David C. Lay, Linear Algebra and Its Applications, 4th Edition.
Richard I. Levin, David S. Rubin, Statistics for Management, Seventh Edition, PHI, 1997.
R. D. Sharma, Theory and Problems of Linear Algebra, International Publishing House Pvt. Limited, 2011.
A. K. Sharma, Linear Algebra, Discovery Publishing House Ltd., 2019.
Gilbert Strang, Linear Algebra and Its Applications, 2010.
S. C. Gupta and V. K. Kapoor, Fundamentals of Mathematical Statistics, Sultan Chand & Sons, New Delhi.
R24PCC106 Managerial Economics and Accountancy
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
To learn important concepts of Managerial Economics and apply them to evaluate business decisions.
To understand various parameters that determine consumers' behavior.
To evaluate the factors that affect production.
To understand the concepts of capital budgeting and payback period.
To study the concepts of various book keeping methods.
Course Outcomes
Apply the fundamental concepts of managerial economics to evaluate business decisions and understand types of demand and factors related to it.
Identify different types of markets and determine price-output under perfect competition.
Determine working capital requirements and payback.
Analyze and interpret financial statements through ratios.
Determine double entry book keeping methods
UNIT-I
Meaning and Nature of Managerial Economics: Managerial Economics and its usefulness to engineers, Fundamental Concepts of Managerial Economics - Scarcity, Marginalism, Equi- marginalism, Opportunity costs, Discounting, Time Perspective, Risk and Uncertainty, Profits, Case study method.
UNIT-II
Law of Demand and Supply: Law of Demand, Determinants, Types of Demand; Elasticity of Demand (Price, Income, and Cross-Elasticity); Demand Forecasting, Law of Supply and Concept of Equilibrium.
UNIT-III
Theory of Production and Markets: Production Function, Law of Variable Proportion, ISO quants, Economies of Scale, Cost of Production (Types and their measurement), Concept of Opportunity Cost, Concept of Revenue, Cost-Output relationship, Break-Even Analysis, Price-Output determination under Perfect Competition and Monopoly.
UNIT-IV
Working Capital Management and Capital Budgeting: Concepts, Significance, determination, and estimation of fixed and variable working capital requirements, sources of capital. Introduction to capital budgeting methods – traditional and modern methods with problems.
UNIT-V
Accounting: Meaning, Significance, Principles of double-entry book keeping, Journal, Ledger accounts, Subsidiary books, Trial Balance, preparation of Final Accounts with simple adjustments, Analysis and interpretation of Financial Statements through Ratios.
Suggested readings
Mehta P.L., Managerial Economics - Analysis, Problems and Cases, Sultan Chand & Sons Educational Publishers, 2011.
Maheswari S.N., Introduction to Accountancy, Vikas Publishing House, 2005.
Pandey I.M., Financial Management, Vikas Publishing House, 2009.
S.P. Jain and K.L. Narang, Financial Accounting, Kalyan Publishers, 2018.
M. Hanif and A. Mukherjee, Modern Accountancy, McGraw Hill, 3rd Edition, 2018.
R24LCC151 Data Structures using C Lab
Credits: 1.5 CIE:25 SEE:50 Hrs/Week: 3P
Course Objectives
To understand and implement basic data structures using C.
To apply linear and non-linear data structures in problem solving.
To learn to implement functions and recursive functions through data structures.
To implement searching and sorting algorithms.
Course Outcomes
Write basic and advanced programs in C.
Implement functions and recursive functions in C.
Implement data structures using C.
Choose an appropriate sorting algorithm for an application and implement it in a modularized way.
Programs
Basic C Programs - looping, data manipulations, arrays.
Programs using strings - string function implementation.
Programs using structures and pointers.
Programs involving dynamic memory allocations.
Array implementation of stacks and queues.
Linked list implementation of stacks and queues.
Applications of Stacks and Queues.
Implementation of Trees and Tree Traversals.
Implementation of Binary Search Trees.
Implementation of Linear search and Binary search.
Implementation of Insertion sort, Bubble sort, Quick sort, and Merge sort.
Implementation of Hash functions and Collision resolution techniques.
Course Objectives
R24LCC152 Java Programming Lab
Credits: 1.5 CIE:25 SEE:50 Hrs/Week: 3P
Learn how to write simple Java programs.
Learn how to write multithreaded programs.
Learn how to write GUI programs.
Learn how to write serialization programs.
Learn how to write programs using the URL class.
Course Outcomes
Be able to write simple Java programs.
Be able to write multithreaded programs.
Be able to write GUI programs.
Be able to write serialization programs.
Be able to write URL class programs.
Programs
Write a program to calculate the salary of n employees using the concept of classes with constructors and methods.
Write a program to demonstrate an e-commerce website using inheritance, abstract classes, and dynamic polymorphism.
Write a program to demonstrate various arithmetic calculations using packages.
Write a program to demonstrate a client-server environment using multithreading.
Write a program to demonstrate mutual exclusion using thread synchronization.
Write a program to demonstrate a Linked List class.
Write a program to demonstrate HashSet and Iterator classes.
Write a program to demonstrate Enumeration and Comparator interfaces.
Write a program to accept data and display output in key-value pairs.
Write a program to create a registration form with different controls, menus, and demonstrate event handling.
Write a program to copy data from one file to another file.
Write a program to merge the contents of two files and display output on the console.
Write a program to illustrate serialization.
Write a program to retrieve a web page using the URL class.
Write a program to load and display image and perform gray scale.
Course Objectives
R24HSC153 Soft Skills Lab
Credits: 1.5 CIE:25 SEE:50 Hrs/Week: 3P
Learn conversational skills.
Learn reading strategies.
Learn time management.
Learn stress management.
Learn career planning.
Course Outcomes
Express conversational skills.
Specify reading strategies.
Perform time management.
Perform stress management.
Explore career planning.
Activities
Conversation skills, listening dialogues from TV/radio/Ted Talks/Podcasts.
Group discussion.
Interview Skills, Making Presentation.
listening to lectures and News programmes, listening to talk shows.
Watching videos on interesting events on Youtube,
Reading different genres of tests ranging from newspapers to philosophical treatises.
Reading strategies – graphic organizers, Reading strategies – summarizing
Reading strategies – interpretation reports.
Writing cover letters, resumes.
Writing for publications, letters, memos, emails, and blogs.
Civil service (language-related), verbal ability.
Motivation, self-image.
Goal setting, managing changes.
Time management, stress management.
Leadership traits.
Teamwork.
Career and life planning.
Multiple intelligences.
Emotional intelligence.
Spiritual quotient (ethics).
Intercultural communication.
Creative and critical thinking.
Learning styles and strategies.
Suggested readings
Business English Certificate materials, Cambridge University Press.
Graded Examinations in Spoken English and Spoken English for Work downloadable materials from Trinity College, London.
International English Language Testing System Practice Tests, Cambridge University Press.
Interactive Multimedia Programs on Managing Time and Stress.
Personality Development (CD-ROM), Times Multimedia, Mumbai.
Robert M. Sherfield, Developing Soft Skills, 4th Edition, Pearson Education, 2009.
Web Resources:
http://www.slideshare.net/rohitjsh/presentation-on-group-discussion http://www.washington.edu/doit/TeamN/present_tips.html http://www.oxforddictionaries.com/words/writing-job-applications http://www.kent.ac.uk/careers/cv/coveringletters.htm http://www.mindtools.com/pages/article/newCDV_34.htm
R24PCC201 Operating Systems
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
To gain an understanding of operating systems, with a focus on Unix operating system.
To comprehend the details of 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
Explain operating systems and Unix OS, and illustrate the workings of various OS components.
Analyze the process, its states, and process scheduling algorithms.
Demonstrate paging, demand paging, page replacement, and segmentation with illustrations.
Elaborate on file access, allocation methods, and mass storage structures.
Describe the concrete implementations of the Linux system and Windows 7.
UNIT-I
Unix: Introduction, commands, file system, security and file permissions, regular expressions and grep, shell programming, awk. Introduction to Operating Systems: OS structure and strategies, process concepts, multithreaded programming, process scheduling, process synchronization, deadlocks.
UNIT-II
Memory Management Strategies with Example Architectures: Swapping, contiguous allocation, paging, segmentation, segmentation with paging. Virtual Memory Management: Demand paging, page replacement, thrashing.
UNIT-III
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
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
Case Studies: The Linux System-Design principles, Kemel modules, Process management, Scheduling, Memory management, File systems, Input and Output, Inter process. communication. Windows 7 - Design principles, System components, Terminal services and fast user switching File systems, 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.
R24PCC202 Database Management Systems
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T 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
Explain database concepts and model requirements using the ER model.
Formulate relational algebra queries from textual specifications.
Write SQL queries for given problems.
Elaborate on indexing and hashing, and describe concurrency control concepts.
Understand NoSQL technology.
UNIT-I
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
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
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
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
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.
R24PCC203 Design and Analysis of Algorithms
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
Learn algorithms time complexity
Learn divide and conquer approach
Learn greedy method
Learn dynamic programming
Learn backtracking
Course Outcomes
Carry out algorithms time complexity
Explain divide and conquer approach
Illustrate greedy method
Elaborate dynamic programming
Explore backtracking
Unit-Ⅰ
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-Ⅱ
Divide and Conquer: Binary Search, Finding the Maximum and Minimum, Merge Sort; Quick Sort, Selection sort, Strassen's Matrix Multiplication, Convex Hull. The Greedy Method: Knapsack Problem, Tree Vertex Splitting, Job Sequencing with Deadlines, Minimum-Cost Spanning Trees, Singles Source Shortest Paths.
Unit-Ⅲ
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-ს
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
NP-Hard and NP-Completed Problems: Basic Concepts, Cook's 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.
Course Objectives
R24PCC 204
Data Engineering with Python
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T
How to extract raw data
Clean the data
Perform transformations on data
Load data and visualize the data
Course Outcomes
Understand the basics of Python Programming Language
Handle different types of files and work with text data
Use regular expression operations
Use relational databases via SQL
Use tabular numeric data
Use the data structures: data series and frames
Use PyPlot for visualization
Use Python for basic Machine Learning
Unit-Ⅰ
Introduction, parts of Python Programming Language, Control Flow Statements, Functions, Strings [Reference 2 - Chapter 1 or Chapter 5]
Unit-Ⅱ
Lists, Dictonaries, Tuples and sets, Files, Regular Expressions [ Reference 2- Chapter 6 to Chapter 10]
Uuit-Ⅲ
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
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
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, O'Reilly 2018.
R24PCC205 Machine Learning
Credits: 4 CIE:30 SEE:70 Hrs/Week: 3L+1T Course Objectives
l. Learn regression techniques
Learn dimensionality reduction methods
Learn classification schemes
Learn clustering mechanisms
Learn evaluation metrics
Course Outcomes
l. Solve regression problems
Apply dimensionality reduction methods
Analyze classification schemes
Explore clustering mechanisms
Explain evaluation metrics
Unit-I
Basic Maths: Probability, Linear Algebra, Convex Optimization Background: Statistical Decision Theory, Bayesian Learning (ML, MAP, Bayes estimates, Conjugate priors)
Unit-II
Regression: Linear Regression, Ridge Regression, Lasso, Dimensionality Reduction: Principal Component Analysis, Partial Least Squares
Unit-III
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
Evaluation measures: Hypothesis testing, Ensemble Methods, Bagging, Adaboost Gradient Boosting, Clustering, K-means, K-medoids, Density-based Hierarchical, Spectral.
Unit-V
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
R24PCC206 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
l. Solve linear problems
Apply transportation problems
Analyze assignment problems
Explore dynamic programming
Explain gaming theory
UNIT-I
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
Transportation Problem: Introduction, Mathematical Model for 'Transportation Problem, Types of Transportation Problem, Methods to solve Transportation Problem, Transshipment Model.
UNIT-III
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
Dynamic Programming: Introduction, Applications of Dynamic Programming, Solution of Linear Programming Problem through Dynamic Programming. Basics of Queuing theory.
UNIT-V
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.
R24LCC251 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
R24LCC252 Data Engineering with Python Lab
Credits: 1.5 CIE:25 SEE:50 Hrs/Week: 3P
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
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
R24LCC253 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.
R24SIP321 Summer Internship/Mini Project
Program Description
The Internship Program/ Mini Project allows MCA students to gain practical experience in the workplace before receiving their graduate degrees. The internship is a required academic course. The student identifies companies willing to hire him/her on a full-time basis for 6-week period (minimum required), usually in the summer. The Internship Program supervises the students and awards academic credits (2) in third semester. Those students who wish to do a Mini Project can use Problem statements and Data Sources from good quality sources and implement a solution. The student will be evaluated based on the working system that is presented in Semester III of this programme.
Intended Learning Outcomes
Communicate a practical understanding of how a technology actually operates.
Demonstrate the ability to integrate and apply theoretical knowledge and skills developed in various courses to real-world situations in a business organization.
Exhibit the ability to effectively work in a professional environment and demonstrate work ethic and commitment in a work-based environment.
Demonstrate the ability to successfully complete internship assignments.
Reflect on personal and professional development needs and set strategic goals for advancing along an intended career path.
Communicate effectively in a professional environment in both English and regional language, orally and in writing.