MSC Programme

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

Yenepoya (Deemed to be University)

Recognized under Sec 3(A) of the UGC Act 1956 Accredited by NAAC with ‘A+’ Grade

Master of Science in Computer Science


Specialisations in
1. Cloud Computing and DevOps
2. Cyber Security and Ethical Hacking
3. AI/ML and Data Science
4. Data Science and Big Data Analytics
5. IoT and Cloud Computing

Offered by

The Yenepoya Institute of Arts, Science, Commerce and


Management (YIASCM)

Under the
FACULTY OF SCIENCE
Yenepoya (Deemed to be University)
Master of Computer Applications (MSC)

Semester 1 / Year 1

Semester 1
SL. Course Course Hours per Week
Course Title (Theory | Practical | Experiential CIA SEE Total Credits
No. Code Type / Project)
1 MSC101T CC Data Structures and Algorithms (Theory) 3 0 0 50 50 100 3
2 MSC101P CC Data Structures and Algorithms (Practical) 0 2 0 50 50 100 1
3 MSC102T CC Python Programming (Theory) 2 0 0 50 50 100 2
4 MSC102P CC Python Programming (Practical) 0 4 0 50 50 100 2
5 MSC103 CC Discrete Mathematical Structures 3 0 0 50 50 100 3
6 MSC104 CC Advanced Computer Networks 3 0 0 50 50 100 3
CC Fundamentals of Cybersecurity and
7 MSC105 2 0 3 50 50 100 3
Cryptography
8 MSC106 CC Introduction to Internet of Things 2 0 3 50 50 100 3
9 MSC107 CC Foundation in Cloud Technology 3 0 0 50 50 100 3
23

Semester 2 / Year 1

Semester 2
SL. Course Course Hours per Week
Course Title (Theory | Practical | Experiential CIA SEE Total Credits
No. Code Type / Project)
Advanced Operating System with Linux
1 MSC201T CC 2 0 0 50 50 100 2
(Theory)
CC Advanced Operating System with Linux
2 MSC201P 0 4 0 50 50 100 2
(Practical)
3 MSC202T CC Database Management Systems (Theory) 2 0 0 50 50 100 2
4 MSC202P CC Database Management Systems (Practical) 0 4 0 50 50 100 2
5 MSC203T CC Programming in PHP and MySQL (Theory) 2 0 0 50 50 100 2
CC Programming in PHP and MySQL
6 MSC203P 0 2 0 50 50 100 1
(Practical)
7 MSC204 CC Software Engineering 3 0 0 50 50 100 3
CC Introduction to Artificial Intelligence and
8 MSC205 3 0 0 50 50 100 3
Machine Learning
9 MSC206 CC Introduction to Data Science 3 0 0 50 50 100 3
10 MSC207 CC Statistics for Machine Learning 2 0 0 50 50 100 2
22
Semester I
Data Structure & Algorithms (Theory)

Course Type: CC
Course Code: MSC101T
Credits: 3
Total Hours: 45

Course Learning Outcomes:


● Design and apply iterative and recursive algorithms.
● Design and implement optimization algorithms in specific applications.
● Design appropriate shared objects and concurrent objects for applications.

Course Content:
Unit 1: Review of Analysis Techniques
Review of Analysis Techniques: Growth of Functions: Asymptotic notations; Standard notations and
common functions; Recurrences and Solution of Recurrence equations- The substitution method,
The recurrence – tree method, The master method; Amortized Analysis: Aggregate, Accounting and
Potential Methods, Structure and Problem Solving, Arrays, Pointers, structure (struct), type
definitions (typedef), memory allocation, recursion, Data structures, Data structure Operations.

Unit 2: Linear & Nonlinear Data Structure


Introduction, Array Representation of Stack, Linked List Representation of stack, Application of stack
- expressions - infix, postfix, prefix, evaluation of expressions using stack, Queue, Array
Representation of Queue, Linked List Representation of Queue. Types of queues, Linked lists,
Representation of linked lists in Memory, Traversing a linked list, Searching a linked list, Memory
allocation and Garbage collection, insertion into linked list, Deletion from a linked list, Types of
linked list. Trees: Definitions and Concepts, Types of trees, Operations on Binary Trees,
Representation of binary tree, Tree Traversal - inorder, preorder, postorder. Binary Search Tree,
various operations on BST, Graphs: Definitions and Concepts, Types of graphs, Matrix
Representation of Graphs, List Representations of Graphs, Types of Directed Graphs; Binary Relation
As a Digraph; Euler’s Digraphs; Matrix Representation of Digraphs

Unit 3: Searching & Sorting


Searching Techniques, Linear, Binary, Sorting Techniques: Insertion sort, Selection sort, Bubble sort,
Merge sort, Quick Sort, Complexities of searching and sorting algorithms. Breadth First Search,
Depth First Search, Spanning Trees.

Unit 4: Graph Algorithms


Dijkstra’s Algorithm, Kruskal's Algorithm, Prim’s Algorithm, Warshall's Algorithm, Floyd's Algorithm,
Bellman - Ford Algorithm; Single source shortest paths in a DAG; Johnson’s Algorithm for sparse
graphs; Flow networks and Ford-Fulkerson method; Maximum bipartite matching. Polynomials and
the FFT: Representation of polynomials; The DFT and FFT; Efficient implementation of FFT.

Unit 5: Probabilistic and Randomized Algorithms


Probabilistic algorithms; Randomizing deterministic algorithms, Monte Carlo and Las Vegas
algorithms; Probabilistic numerical algorithms

Suggested Reading:
● Samanta, D. (2003). Classic data structures. Prentice-Hall of India.
● Horowitz, E., Sahni, S., & Anderson-Freed, S. (1992). Fundamentals of data structures in C.
WH Freeman & Co..
● Mark Allen Weiss. (2005). Data structures & algorithm analysis in C++. Addison-Wesley.
● Skiena, S. S. (1998). The algorithm design manual (Vol. 2). New York: springer.
● Aho Alfred, V., Hopcroft John, E., Ullman Jeffrey, D., Aho Alfred, V., Bracht Glenn, H., Hopkin
Kenneth, D., ... & Johnson, C. A. (1983). Data structures and algorithms. USA: Addison-
Wesley.
● Dasgupta, S., Papadimitriou, C. H., & Vazirani, U. V. (2008). Algorithms. New York: McGraw-
Hill Higher Education.
● Tardos, E., & Kleinberg, J. (2005). Algorithm design.
● Horowitz, E. (1978). Fundamentals of computer algorithms. Galgotia publications.
● Lafore, R. (1999). Sams Teach Yourself Data Structures and Algorithms in 24 Hours. Sams
Publishing.
Data Structure & Algorithms (Practical)

Course Type: CC
Course Code: MSC101P
Credits: 1
Total Hours: 30

Practical List:

1. Sorting Algorithms: Implement various sorting algorithms such as Bubble sort, Selection
sort, Insertion sort, Quick sort, Merge sort, Radix sort, and Heap sort, and compare their
performance in terms of time and space complexity.

2. Search Algorithms: Implement various search algorithms such as Linear search, Binary
search, Interpolation search, and Ternary search, and compare their performance in
terms of time and space complexity.

3. Graph Algorithms: Implement various graph algorithms such as Breadth-first search


(BFS), Depth-first search (DFS), Dijkstra's algorithm, Bellman-Ford algorithm, and Floyd-
Warshall algorithm, and analyze their complexity.

4. Dynamic Programming: Implement dynamic programming algorithms such as the


Knapsack problem, the Longest Common Subsequence problem, and the Matrix Chain
Multiplication problem, and analyze their time and space complexity.

5. Tree Algorithms: Implement various tree algorithms such as Binary Search Tree (BST),
AVL Tree, Red-Black Tree, and B-Tree, and analyze their complexity.

6. Hashing: Implement various hashing algorithms such as Linear Probing, Quadratic


Probing, and Double Hashing, and analyze their complexity.

7. String Algorithms: Implement various string algorithms such as KMP Algorithm, Rabin-
Karp Algorithm, and Boyer-Moore Algorithm, and analyze their complexity.

8. Greedy Algorithms: Implement various greedy algorithms such as the Fractional


Knapsack problem, the Job Sequencing problem, and the Huffman coding problem, and
analyze their complexity.
Programming in Python (Theory)

Course Type: CC
Course Code: MSC102T
Credits: 2
Total Hours: 30

Course Learning Outcome:


● Understand basic primitives of Python programming.
● Know how to handle files and design GUI
● Develop Applications using Python programming

Course Content:
Unit 1: Introduction to Python
Introduction, Python Fundamentals, Python Components, Functions, Modules, Object Orientation.

Unit 2: Exception in Python


Exceptions, Python on the Command Line, Applying Python, Interfacing to the OS, Processing
Information, File System Manipulation, Data Management, Network Communication, Using Python
for Multimedia, Interface Building with Tk.

Unit 3: Python as a RAD


Using Python as a RAD Tool, Turning RADs into Applications, Distributing Applications.

Unit 4: Interfacing
Interfacing with the Server, Interfacing with the User, Zope and Other Tools, Working with Other
Web Languages.

Unit 5: Cross Platform Development


Paths to Cross Platform Development, Python on Unix, Python on Win32, Python on MacOS, The
Python Adventure, Debugging, Performance Tuning, Documenting and Documentation.

Suggested Reading:
● Brown, F., & George, P. (2001). Python: the complete reference.
Programming in Python (Practical)

Course Type: CC
Course Code: MSC102P
Credits: 2
Total Hours: 60

Practical List:

1. Basic Python Programming: Develop basic programming skills using Python, including
syntax, data types, control structures, functions, and object-oriented programming
(OOP) concepts.

2. File Input and Output: Develop skills in reading and writing to files using Python. Topics
may include opening and closing files, file formats, and file parsing.

3. Data Structures in Python: Develop skills in using data structures such as lists, tuples,
sets, and dictionaries in Python, and learn how to manipulate data using these
structures.

4. Web Scraping with Beautiful Soup: Learn to extract data from websites using the
Beautiful Soup library. Topics may include HTML parsing, navigating the DOM, and web
scraping ethics.

5. GUI Programming with Tkinter: Learn to develop graphical user interfaces (GUIs) using
the Tkinter library. Topics may include creating widgets, layouts, and event handling.

6. Web Development with Flask: Learn to build web applications using Flask, a popular
Python web framework. Topics may include routing, views, templates, and forms.

7. Data Analysis with Pandas: Learn to analyze and manipulate data using the Pandas
library. Topics may include data cleaning, data visualization, and data aggregation.
Discrete Mathematical Structures

Course Type: CC
Course Code: MSC103
Credits: 3
Total Hours: 45

Course Learning Outcomes:


● Use propositional and predicate logic in knowledge representation and truth verification.
● Demonstrate the application of discrete structures in different fields of computer science.
● Solve problems using recurrence relations and generating functions.
● Application of different mathematical proofs techniques in proving theorems in the courses.
● Compare graphs, trees and their applications.

Course Content:
Unit 1: Fundamentals of Logic
Basic Connectives and Truth Tables, Logic Equivalence – The Laws of Logic, Logical Implication –
Rules of Inference. Fundamentals of Logic contd.: The Use of Quantifiers, Quantifiers, Definitions
and the Proofs of Theorems

Unit 2: Properties of the Integers


Mathematical Induction, The Well Ordering Principle – Mathematical Induction, Recursive
Definitions. Principles of Counting. Fundamental Principles of Counting: The Rules of Sum and
Product, Permutations, Combinations – The Binomial Theorem, Combinations with Repetition.

Unit 3: Relations and Functions


Cartesian Products and Relations, Functions – Plain and One-toOne, Onto Functions. The Pigeon-
hole Principle, Function Composition and Inverse Functions. Properties of Relations, Computer
Recognition – Zero-One Matrices and Directed Graphs, Partial Orders – Hasse Diagrams, Equivalence
Relations and Partitions.

Unit 4: The Principle of Inclusion and Exclusion


The Principle of Inclusion and Exclusion, Generalizations of the Principle, Derangements – Nothing
is in its Right Place, Rook Polynomials. Recurrence Relations: First Order Linear Recurrence Relation,
The Second Order Linear Homogeneous Recurrence Relation with Constant Coefficients,

Unit 5: Introduction to Graph Theory


Definitions and Examples, Sub graphs, Complements, and Graph Isomorphism, Vertex Degree, Euler
Trails and Circuits, Trees: Definitions, Properties, and Examples, Routed Trees, Trees and Sorting,
Weighted Trees and Prefix Codes

Suggested Reading:
● Grimaldi, R. P. (2006). Discrete and Combinatorial Mathematics, 5/e. Pearson Education
India.
Advanced Computer Networks
Course Type: CC
Course Code: MSC104
Credits: 3
Total Hours: 45

Course Learning Outcome:


● List and classify network services, protocols and architectures, explain why they are layered.
● Choose key Internet applications and their protocols and apply to develop their own
applications (e.g. Client Server applications, Web Services) using the sockets API.
● Explain how to develop effective communication mechanisms using techniques like
connection establishment, queuing theory, recovery etc.
● Explain various congestion control techniques.

Course Content:
Unit 1: Foundation
Building a Network, Requirements, Perspectives, Scalable Connectivity, Cost-Effective Resource
sharing, Support for Common Services, Manageability, Protocol layering, Performance, Bandwidth
and Latency, Delay X Bandwidth Product, Perspectives on Connecting, Classes of Links, Reliable
Transmission, Stop-and-Wait, Sliding Window, Concurrent Logical Channels.

Unit 2: Internetworking I
Switching and Bridging, Datagram’s, Virtual Circuit Switching, Source Routing, Bridges and LAN
Switches, Basic Internetworking (IP), What is an Internetwork?, Service Model, Global Addresses,
Datagram Forwarding in IP, sub netting and classless addressing, Address Translation (ARP), Host
Configuration (DHCP), Error Reporting (ICMP), Virtual Networks and Tunnels.

Unit 3: Internetworking II
Network as a Graph, Distance Vector (RIP), Link State (OSPF), Metrics, The Global Internet, Routing
Areas, Routing among Autonomous systems (BGP), IP Version 6 (IPv6), Mobility and Mobile IP

Unit 4: End-to-End Protocols


Simple Demultiplexer (UDP), Reliable Byte Stream(TCP), End-to-End Issues, Segment Format,
Connecting Establishment and Termination, Sliding Window Revisited, Triggering Transmission,
Adaptive Retransmission, Record Boundaries, TCP Extensions, Queuing Disciplines, FIFO, Fair
Queuing, TCP Congestion Control, Additive Increase/ Multiplicative Decrease, Slow Start, Fast
Retransmit and Fast Recovery

Unit 5: Congestion Control and Resource Allocation


Congestion-Avoidance Mechanisms, DEC bit, Random Early Detection (RED), Source-Based
Congestion Avoidance. The Domain Name System (DNS), Electronic Mail (SMTP, POP, IMAP, MIME),
World Wide Web (HTTP), Network Management (SNMP)

Suggested Reading:
● Peterson, L. L., & Davie, B. S. (2007). Computer networks: a systems approach. Elsevier.
● Comar, D. E. (2000). Internetworking with TCP/IP: principles, protocols, and architecture.
Fundamentals of Cyber Security and Cryptography
Course Type: CC
Course Code: MSC105
Credits: 3
Total Hours: 45

Course Learning Outcome:


● To learn the importance of number theory in designing crypto systems;
● To design public and private key cryptosystems;
● To do cryptanalysis of various cryptosystems

Course Content:
Unit 1: Basics of Algebra and Number Theory
Integer ArithmeticModular Arithmetic, Algebraic structures, Prime Numbers, Fermat’s and Euler’s
Theorem, Factorization, Chinese, Remainder Theorem - Linear and Quadratic Congruence -
Discrete Logarithms

Unit 2: Introduction to Security


Security Goals, Security services, Confidentiality, Integrity, Authentication, Non-repudiation,
Access control, Security Mechanisms (Encipherment, Data Integrity, Digital Signature,
Authentication Exchange, Traffic Padding, Routing Control, Notarization, Access control,
Security Principles.

Unit 3: Ciphers
Traditional Secret Key Ciphers : Substitution Ciphers (mono alphabetic ciphers, poly alphabetic
ciphers)-Transposition Ciphers-Stream and Block Ciphers. Modern Secret Key Ciphers: Substitution
Box-Permutation Box-Product Ciphers

Unit 4: Data Encryption Standard


Data Encryption Standard (DES) (Fiestel and Non-Fiestel Ciphers, Structure of DES, DES Attacks, 2-
DES, 3-DES) - Advanced Encryption Standard (AES) (Structure, Analysis) Cryptographic Hash
Functions, Properties , Secure Hash Algorithm, Message Authentication Code (MAC)

Unit 5: Public Key Cryptosystems


Public Key Cryptosystems (PKC): Types of PKC, Trapdoor, one way functions, RSA Cryptosystem
(Integer Factorisation Trapdoor, Key Generation, Encryption, Decryption), El Gamal Cryptosystem
(Discrete Logarithm Trapdoor, Key Generation, Encryption, Decryption), Diffie-Hellman Key
Exchange Protocol, Man in the Middle attack on Diffie-Hellman Protocol

Suggested Reading:
 Behrouz A. Forouzan and Debdeep Mukhopadhyay, Cryptography & Network Security,
Second Edition, Tata McGraw Hill, New Delhi, 2010
 Douglas R. Stinson, “Cryptography: Theory and Practice”, Third Edition, CRC Press.
 William Stallings, “Cryptography and Network Security – Principles and Practices”, Pearson
Education, Fourth Edition, 2006.
Introduction to Internet of Things
Course Type: CC
Course Code: MSC106
Credits: 2
Total Hours: 30

Course Learning Outcome:


 Describe the evolution of IoT, IoT networking components, and addressing strategies
in IoT.
 Classify various sensing devices and actuator types.
 Demonstrate the processing in IoT.
 Explain Associated IOT Technologies
 Illustrate architecture of IOT Applications

Unit 1: Basics of Networking


Basics of Networking: Introduction, Network Types, Layered network models Emergence of IoT:
Introduction, Evolution of IoT, Enabling IoT and the Complex Interdependence of
Technologies, IoT Networking Components

Unit 2: IoT Sensing and Actuation


IoT Sensing and Actuation: Introduction, Sensors, Sensor Characteristics, Sensorial Deviations,
Sensing Types, Sensing Considerations, Actuators, Actuator Types, Actuator Characteristics.

Unit 3: IoT Processing Topologies and Types


IoT Processing Topologies and Types: Data Format, Importance of Processing in IoT, Processing
Topologies, IoT Device Design and Selection Considerations, Processing Offloading

Unit 4: Associated IoT Technologies


Cloud Computing: Introduction, Virtualization, Cloud Models, Service-Level Agreement in Cloud
Computing, Cloud Implementation, Sensor-Cloud: Sensors-as-a-Service. IOT CASE STUDIES
Agricultural IoT – Introduction and Case Studies

Unit 5: IoT Case Studies and Future Trends


Vehicular IoT – Introduction Healthcare IoT – Introduction, Case Studies IoT Analytics –
Introduction

Suggested Reading:

 Sudip Misra, Anandarup Mukherjee, Arijit Roy, “Introduction to IoT”, Cambridge


University Press 2021.
 S. Misra, C. Roy, and A. Mukherjee, 2020. Introduction to Industrial Internet of Things
and Industry 4.0. CRC Press.
 Vijay Madisetti and Arshdeep Bahga, “Internet of Things (A Hands-on-Approach)”,1st
Edition, VPT, 2014.
Foundation in Cloud Technology

Course Type: CC
Course Code: MSC107
Credits: 3
Total Hours: 45

Course Learning Outcome:


 Introducing Cloud computing and different computing concepts that involve a large
number of computers.
 In science, cloud computing is a synonym for distributed computing over a network
and means the ability to run a program on many connected computers at the same
time.
 Provides knowledge about basic concepts of cloud types, services and security etc.
 Introduces Governance In The Cloud.
Unit 1: Introduction
Introduction to Cloud Computing, History and Evolution of Cloud Computing, Types of clouds,
Private Public and hybrid clouds, Cloud Computing architecture, Cloud computing
infrastructure, Merits of Cloud computing, , Cloud computing delivery models and services
(IaaS, PaaS, SaaS), obstacles for cloud technology, Cloud vulnerabilities, Cloud challenges,
Practical applications of cloud computing.

Unit 2: Cloud Computing Companies and Migrating to Cloud


Web-based business services, Delivering Business Processes from the Cloud: Business process
examples, Broad Approaches to Migrating into the Cloud, The Seven-Step Model of Migration
into a Cloud, Efficient Steps for migrating to cloud., Risks: Measuring and assessment of risks,
Company concerns Risk Mitigation methodology for Cloud computing, Case Studies

Unit 3: Cloud Cost Management and Selection of Cloud Provider


Assessing the Cloud: software Evaluation, System Testing, Seasonal or peak loading, Cost
cutting and cost-benefit analysis, Selecting the right scalable application. Considerations for
selecting cloud solution. Understanding Best Practices used in selection of Cloud service and
providers, Clouding the Standards and Best Practices Issue: Interoperability, Portability,
Integration, Security, Standards Organizations and Groups associated with Cloud Computing,
Commercial and Business Consideration

Unit 4: Governance in the Cloud


Industry Standards Organizations and Groups associated with Cloud Computing, Need for IT
governance in cloud computing, Cloud Governance Solution: Access Controls, Financial
Controls, Key Management and Encryption, Logging and Auditing, API integration. Legal Issues:
Data Privacy and Security Issues, Cloud Contracting models, Jurisdictional Issues Raised by
Virtualization and Data Location, Legal issues in Commercial and Business Considerations

Unit 5: Ten Cloud Do and Do Nots


Don’t be reactive,do consider the cloud a financial issue, don’t go alone, do think about your
architecture, don’t neglect governance, don’t forget about business purpose, do make security
the centerpiece of your strategy, don’t apply the cloud to everything, don’t forget about Service
Management, do start with a pilot project.

Suggested Reading
● Cloud Computing: Principles and Paradigms, Rajkumar Buyya, James Broberg, Andrzej
M. Goscinski,, John Wiley and Sons Publications, 2011
● Brief Guide to Cloud Computing, Christopher Barnett, Constable & Robinson Limited,
2010
● Handbook on Cloud Computing, Borivoje Furht, Armando Escalante, Springer, 2010
Semester 2

Advanced Operating System (Theory)

Course Type: CC
Course Code: MSC201T
Credits: 2
Total Hours: 30

Course Learning Outcomes:


● Demonstrate the Mutual exclusion, Deadlock detection and agreement protocols of
Distributed operating system
● Learn the various resource management techniques for distributed systems
● Identify the different features of real time and mobile operating system
● Modify existing open source kernels in terms of functionality or features used

Unit 1: Introduction to Operating Systems, System structures


Introduction to Operating Systems, System structures: What operating systems do; Computer
System organization; Computer System architecture; Operating System structure; Operating System
operations; Process management; Memory management; Storage management; Protection and
security; Distributed system; Special-purpose systems; Computing environments.Operating System
Services; User - Operating System interface; System calls; Types of system calls; System programs;
Operating System design and implementation; Operating System structure; Virtual machines;
Operating System generation; System boot

Unit 2: Process Management and Process Synchronization


Process Management: Process concept; Process scheduling; Operations on processes; Inter-process
communication. Multi-Threaded Programming: Overview; Multithreading models; Thread Libraries;
Threading issues. Process Scheduling: Basic concepts; Scheduling criteria; Scheduling algorithms;
Multiple-Processor scheduling; Thread scheduling. Process Synchronization : Synchronization: The
Critical section problem; Peterson’s solution; Synchronization hardware; Semaphores; Classical
problems of synchronization; Monitors.

Unit 3: Deadlocks
Deadlocks: Deadlocks: System model; Deadlock characterization; Methods for handling deadlocks;
Deadlock prevention; Deadlock avoidance; Deadlock detection and recovery from deadlock.

Unit 4: Memory Management


Memory Management: Memory Management Strategies: Background; Swapping; Contiguous
memory allocation; Paging; Structure of page table; Segmentation. Virtual Memory Management:
Background; Demand paging; Copy-on-write; Page replacement; Allocation of frames; Thrashing
Unit 5: File System, Implementation of File System
File System, Implementation of File System: File System: File concept; Access methods; Directory
structure; File system mounting; File sharing; Protection. Implementing File System: File system
structure; File system implementation; Directory implementation; Allocation methods; Free space
management. Secondary Storage Structures, Protection: Mass storage structures; Disk structure;
Disk attachment; Disk scheduling; Disk management; Swap space management. Protection: Goals
of protection, Principles of protection, Domain of protection, Access matrix, Implementation of
access matrix, Access control, Revocation of access rights, Capability-Based systems.

Suggested Reading:
● Silberschatz, A., Galvin, P. B., & Gagne, G. (2006). Operating system concepts. John Wiley &
Sons.
● Nutt, G. J. (1999). Operating systems: a modern perspective. Addison-Wesley Longman
Publishing Co., Inc..
Advanced Operating System (Practical)

Course Type: CC
Course Code: MSC201P
Credits: 2
Total Hours: 60

Course Learning Outcomes:


● Learn to program the concepts of Operating system
● Implement scheduling algorithms
● Implement processes and interprocess communication

1. Process Management: Write a program in C that demonstrates process management in


an operating system. The program should create a child process and perform some task,
and then the parent process should wait for the child process to complete.

2. Memory Management: Write a program in C that demonstrates memory management


in an operating system. The program should allocate memory dynamically using the
malloc() function and release the memory using the free() function.

3. File Management: Write a program in C that demonstrates file management in an


operating system. The program should create a file, write some data to it, read the data
back from the file, and delete the file.

4. Scheduling Algorithms: Write a program in C that demonstrates various scheduling


algorithms used in operating systems. The program should create multiple processes
and simulate their execution using different scheduling algorithms such as Round Robin,
First-Come-First-Serve, and Priority-based scheduling.

5. Interprocess Communication: Write a program in C that demonstrates interprocess


communication in an operating system. The program should create two processes, and
they should communicate with each other using shared memory, pipes, or message
queues.
Database Management Systems (Theory)

Course Type: CC
Course Code: MSC202T
Credits: 2
Total Hours: 30

Course Learning Outcome:


● Select the appropriate high-performance database like parallel and distributed database
● Infer and represent the real-world data using object-oriented database
● Interpret rule set in the database to implement data warehousing of mining
● Discover and design database for recent applications database for better interoperability

Unit 1: Introduction
Introduction; An example; Characteristics of Database approach; Actors on the screen; Workers
behind the scene; Advantages of using DBMS approach; A brief history of database applications;
when not to use a DBMS. Data models, schemas and instances; Three-schema architecture and
data independence; Database languages and interfaces; The database system environment;
Centralized and client-server architectures; Classification of Database Management systems.

Unit 2: Entity-Relationship Model, Relational Model and Relational Algebra


Entity-Relationship Model: Using High-Level Conceptual Data Models for Database Design; An
Example Database Application; Entity Types, Entity Sets, Attributes and Keys; Relationship types,
Relationship Sets, Roles and Structural Constraints; Weak Entity Types; Refining the ER Design; ER
Diagrams, Naming Conventions and Design Issues; Relationship types of degree higher than two.
Relational Model and Relational Algebra : Relational Model Concepts; Relational Model Constraints
and Relational Database Schemas; Update 46 Operations, Transactions and dealing with constraint
violations; Unary Relational Operations: SELECT and PROJECT; Relational Algebra Operations from
Set Theory; Binary Relational Operations : JOIN and DIVISION; Additional Relational Operations;
Examples of Queries in Relational Algebra; Relational Database Design Using ER- to-Relational
Mapping.

Unit 3: SQL
SQL Data Definition and Data Types; Specifying basic constraints in SQL; Schema change statements
in SQL; Basic queries in SQL; More complex SQL Queries. Insert, Delete and Update statements in
SQL; Specifying constraints as Assertion and Trigger; Views (Virtual Tables) in SQL; Additional
features of SQL; Database programming issues and techniques; Embedded SQL, Dynamic SQL;
Database stored procedures and SQL / PSM.
Unit 4: Database Design
Informal Design Guidelines for Relation Schemas; Functional Dependencies; Normal Forms Based
on Primary Keys; General Definitions of Second and Third Normal Forms; Boyce-Codd Normal Form.
Properties of Relational Decompositions; Algorithms for Relational Database Schema Design;
Multivalued Dependencies and Fourth Normal Form; Join Dependencies and Fifth Normal Form;
Inclusion Dependencies; Other Dependencies and Normal Forms

Unit 5: Transaction Management


The ACID Properties; Transactions and Schedules; Concurrent Execution of Transactions; Lock-
Based Concurrency Control; Performance of locking; Transaction support in SQL; Introduction to
crash recovery; 2PL, Serializability and Recoverability; Lock Management; Introduction to ARIES;
The log; Other recovery-related structures; The write-ahead log protocol; Checkpointing;
Recovering from a System Crash; Media Recovery; Other approaches and interaction with
concurrency control.

Suggested Reading:
● Elmasri, R., & Navathe, S. (2014). Fundamentals of database systems (Vol. 7). Pearson.
● Silberschatz, A., Korth, H. F., & Sudarshan, S. (2002). Database system concepts (Vol. 5).
New York: McGraw-Hill.
Database Management Systems (Practical)

Course Type: CC
Course Code: MSC202P
Credits: 2
Total Hours: 60

Course Learning Outcome:


● Understand to work with SQL queries
● Implement Databases and data base querries
● Design databases

1. Basic CRUD Operations: Write a program in your preferred programming language that
demonstrates basic CRUD (Create, Read, Update, Delete) operations in a database. The
program should be able to add new records, retrieve records, update records, and
delete records from a database.

2. Search and Filter: Write a program that allows users to search and filter data in a
database based on certain criteria. The program should provide a user interface that
allows users to enter search terms and select filtering options.

3. Data Import and Export: Write a program that allows users to import data from external
sources into a database or export data from a database to external sources. The
program should support various file formats such as CSV, JSON, or XML.
Programming in PHP and MySQL (Theory)

Course Type: CC
Course Code: MSC203T
Credits: 2
Total Hours: 30

Course Learning Outcomes:


● List the major elements of the PHP & MySQL work and explain why PHP is good for web
development
● Learn how to take a static website and turn it into a dynamic website run from a database
using PHP and MySQL
● Analyze the basic structure of a PHP web application and be able to install and maintain the
web server, compile, and run a simple web application
● Learn how databases work and how to design one, as well as how to use php MyAdmin to
work with MySQL
● Learn different ways of connecting to MySQL through PHP, and how to create tables, enter
data, select data, change data, and delete data
● Connect to SQL Server and other data sources.

Unit 1: Introduction to PHP


Evaluation of Php, Basic Syntax, Defining variable and constant, Php Data type, Operator and
Expression. Making Decisions, Doing Repetitive task with looping, Mixing Decisions and looping with
HTML. What is a function, Define a function, Call by value and Call by reference, Recursive function,

Unit 2: Functions and Arrays


String Creating and accessing, String Searching & Replacing String, Formatting String, String Related
Library function. Anatomy of an Array, Creating index based and Associative array Accessing array,
Element Looping with Index based array, Looping with associative array using each () and foreach(),
Some useful Library function. Capturing Form, Data Dealing with Multi-value filed, and Generating
File uploaded form, redirecting a form after submission.

Unit 3: Working with file and Directories


Understanding file & directory, Opening and closing, a file, Coping, renaming and deleting a file,
working with directories, Creating and deleting folder, File Uploading & Downloading.

Unit 4: Session and Cookie


Introduction to Session Control, Session Functionality What is a Cookie, Setting Cookies with PHP.
Using Cookies with Sessions, Deleting Cookies, Registering Session variables, Destroying the
variables and Session.

Unit 5: Database Connectivity with MySQL


Introduction to RDBMS, Connection with MySql Database, Performing basic database
operation(DML) (Insert, Delete, Update, Select), Setting query parameter, Executing query Join
(Cross joins, Inner joins, Outer Joins, Self joins.) Understanding Exception and error, Try, catch,
throw. Error tracking and debugging.

Suggested Reading:
● Nixon, R., & Learning, P. H. P. (2014). MySQL & JavaScript: With jQuery. CSS & HTML5
(Learning Php, Mysql, Javascript, Css & Html5).
● Welling, L., & Thomson, L. (2003). PHP and MySQL Web development. Sams Publishing.
Programming in PHP and MySQL (Practical)

Course Type: CC
Course Code: MSC203P
Credits: 2
Total Hours: 60

Course Learning Outcomes:


● Learn how to take a static website and turn it into a dynamic website run from a database
using PHP and MySQL
● Learn how databases work and how to design one, as well as how to use php MyAdmin to
work with MySQL
● Learn different ways of connecting to MySQL through PHP, and how to create tables, enter
data, select data, change data, and delete data
● Connect to SQL Server and other data sources.

1. User Registration and Login: Write a program that allows users to register for an
account on a website and then login to access restricted content. The program should
store user information in a MySQL database and use PHP to handle user
authentication.

2. E-commerce Website: Write a program that allows users to browse products, add
items to a shopping cart, and checkout using a payment gateway. The program should
store product and order information in a MySQL database and use PHP to handle
website functionality.

3. Content Management System: Write a program that allows users to create, edit, and
publish content on a website. The program should store content in a MySQL database
and use PHP to render web pages dynamically.

4. Blogging Platform: Write a program that allows users to create and publish blog posts
on a website. The program should store blog posts in a MySQL database and use PHP
to display blog content on the website.

5. Forum Website: Write a program that allows users to create threads and post replies
on a forum website. The program should store thread and post information in a
MySQL database and use PHP to display forum content on the website.

6. Employee Management System: Write a program that allows employers to manage


employee information such as name, address, and salary. The program should store
employee information in a MySQL database and use PHP to provide a user interface
for employers to manage employee data.
Software Engineering

Course Type: CC
Course Code: MSC204
Credits: 3
Total Hours: 45

Course Learning Outcome:


● To understand a software system, component, or process to meet desired needs within
realistic constraints.
● Ability to apply software engineering principles and techniques.
● To study Function on multi-disciplinary teams

Unit 1: Introduction
Overview: Introduction: FAQ's about software engineering, Professional and ethical
responsibility. Socio-Technical systems: Emergent system properties; Systems engineering;
Organizations, people and computer systems; Legacy systems.

Unit 2: Software Process


Critical Systems, Software Processes: Critical Systems: A simple safety - critical system; System
dependability; Availability and reliability. Software Processes: Models, Process iteration,
Process activities; The Rational Unified Process; Computer Aided Software Engineering

Unit 3: Software Requirement


Requirements: Software Requirements: Functional and Non-functional requirements; User
requirements; System requirements; Interface specification; The software requirements
document. Requirements Engineering Processes: Feasibility studies; Requirements elicitation
and analysis; Requirements validation; Requirements management.

Unit 4: Software Models


System models, Project Management: System Models: Context models; Behavioural models;
Data models; Object models; Structured methods. Project Management: Management
activities; Project planning; Project scheduling; Risk management, Software Design:
Architectural Design: Architectural design decisions; System organization; Modular
decomposition styles; Control styles. Object-Oriented design: Objects and Object Classes; An
Object-Oriented design process; Design evolution.

Unit 5: Software Development


Development: Rapid Software Development: Agile methods; Extreme programming; Rapid
application development. Software Evolution: Program evolution dynamics; Software
maintenance; Evolution processes; Legacy system evolution. Verification and Validation:
Verification and Validation: Planning; Software inspections; Automated static analysis;
Verification and formal methods. Software testing: System testing; Component testing; Test
case design; Test automation. Management: Managing People: Selecting staff; Motivating
people; Managing people; The People Capability Maturity Model. Software Cost Estimation:
Productivity; Estimation techniques; Algorithmic cost modelling, Project duration and staffing.

References:
 Sommerville, I. (2007). Software Engineering, Eight Edition. Harlow: Pearson Education
Limited.
 Jalote, P. (2012). An integrated approach to software engineering. Springer Science &
Business Media.
Introduction to Artificial Intelligence & Machine Learning

Course Type: CC
Course Code: MSC205
Credits: 3
Total Hours: 45

Course Learning Outcome:


● Demonstrate fundamental understanding of the history of artificial intelligence (AI) and its
foundations
● Develop a model using supervised/unsupervised machine learning algorithms for
classification/prediction/clustering
● Formulation of a Machine Learning problem

Unit 1: Introduction to Artificial Intelligence


History of artificial intelligence, The birth of artificial intelligence, AI Winters, Todays’ AI, Historical
milestones in the development of AI, Great contributors, People who have influenced AI, Differences
between strong AI and weak AI, Artificial Intelligence definitions, Emergence of AI – Technological
advances, Machine Learning ---> Deep Learning --->AI, Functions of AI, Characteristics of artificial
intelligence.

Unit 2: Applications of AI
Applications of AI, AI in health care, Industry 4.0, AI in manufacturing, AI in education sector, AI in
business, AI in Finance Sector, AI in Law, AI in society, Cognitive science and AI, Cognition and
process of Cognition, Disciplines in Cognitive science, Multidisciplinary subject, Linguistics, Artificial
intelligence as Cognitive science, Methods in Cognitive science, Watson.

Unit 3: Logical approach to AI and knowledge-based system


Introduction to knowledge representation systems, Knowledge representation using logic,
Propositional logic, Semantics of propositional logic, Properties of propositional logic statements,
Tautologies and logical implication, Resolution, Conjunctive normal form, Resolution is valid,
Resolution algorithm, Knowledge Base systems, Structure of a knowledge based system, Recap of
artificial intelligence, Components of expert systems, Expert systems development, Wumpus world,
Logic, A simple knowledge base, Exploring the Wumpus world, Semantic net, Inference in semantic
networks, Semantic networks: Types and components, Types of relationships in semantic network,
Frames, Frames: Some examples, Non-monotonic logic, Circumscription, Default logic.

Unit 4: Probabilistic approach to AI


Probability, Basic concepts, Probability of an event, Example on Sample Space, counting rules, Event
relations, Conditional Probabilities, Defining Independence, The Law of Total Probability, Bayes’
Rule, Examples. Random Variables, Discrete Random Variable, Probability Distributions, Probability
Mass Function, Probability Density Function, Expectations of Random Variables, Medians of Random
Variables, The variance of a Random Variable, Chebyshev’s Inequality, Quantiles of Random
Variables, Jointly Distributed Random Variables, Marginal Probability Distributions, Independence
and Covariance.

Unit 5: Bayesian Networks


Bayesian Networks, Merits of Bayesian Networks, Construction of a Bayesian Network,
Representation in Bayesian Networks, Benefits of Bayesian Networks, Why learn Bayesian
networks? Constructing Bayesian networks, Example from medical diagnostics, Software for
Bayesian networks, Gaussian Bayesian Networks, Linear Gaussian BN to joint Gaussian, Theorem:
From Gaussian to Bayesian networks, Noisy OR-Gate model, Promedas: A clinical diagnostic decision
support system, Organization of PROMEDAS development.

Suggested Reading:
● Knight, K., & Marcu, D. (2002). Artificial Intelligence, Pearson Education.
● Rusell, S., & Norvig, P. (2003). Artificial intelligence: A modern approach. Pretice Hall Series
in Artificial Intelligence.
● Mitchell, T. M., & Mitchell, T. M. (1997). Machine learning (Vol. 1, No. 9). New York: McGraw-
hill.
Introduction to Data Science

Course Type: CC
Course Code: MSC206
Credits: 3
Total Hours: 45

Course Learning Outcome:


● Appreciate the need of Data Science in day to day life.
● Learn the importance of probability and statistics in Data Science.
● Explain the need and use of machine learning in today’s business world.

Unit 1. Data Science - An Overview


Introduction to Data Science, Definition and description of Data Science, history and
development of Data Science Terminologies related with Data Science, basic framework and
architecture, difference between Data Science and business analytics, Importance of Data
Science in today’s business world, primary components of Data Science, users of Data Science
and its hierarchy, overview of different Data Science techniques ,Challenges and opportunities
in business analytics, different industrial application of Data Science techniques.

Unit 2. Mathematics and Statistics in Data Science


Role of mathematics in Data Science, importance of probability and statistics in Data Science,
Important types of statistical measures in Data Science : Descriptive, Predictive and prescriptive
statistics ,Introduction to statistical inference and its usage in Data Science, application of
statistical techniques in Data Science, Overview of linear algebra : matrix and vector theory,
role of linear algebra in Data Science, exploratory data analysis and visualization techniques,
difference between exploratory and descriptive statistics, EDA and visualization as key
component of Data Science.

Unit 3. Machine Learning in Data Science


Role of machine learning in Data Science, different types of machine learning techniques and
its broad scope in Data Science: Supervised, unsupervised, reinforcement and deep learning.
Difference between different machine learning techniques, brief introduction to machine
learning algorithms. Importance of machine learning in today’s business, Difference between
machine learning classification and prediction.

Unit 4. Computers in Data Science


Role of computer science in Data Science, various components of computer science being used
for Data Science, Role of relation data base systems in Data Science: SQL, NoSQL, role of data
warehousing in Data Science, Terms related with data warehousing techniques, importance of
operating concepts and memory management, software used in Data Science: R, Python,
important proprietary software tools, Different business intelligence tools and its crucial role.

Unit 5. Data Science Project Management


Data Science project framework, execution flow of a Data Science project, various components
of Data Science projects, stakeholders of Data Science project, Industry use cases of Data
Science implementation, challenges and scope of Data Science project management Process
evaluation model, comparison of Data Science project methods, Improvement in success of
Data Science project models.

Suggested Reading
 Data Smart: Using Data Science to Transform Information into Insight ,John W. Foreman
,Wiley Publication
 Data Science from Scratch: First Principles with Python Joel Grus PHI
 Principles of Data Science ,Sinan Ozdemir PACKT
Statistics for Machine Learning

Course Type: CC
Course Code: MSC207
Credits: 2
Total Hours: 30

Course Learning Outcome:


● Learn techniques for data preprocessing, cleaning, and exploratory data analysis using
Python.
● Understanding regression models and tree-based models
● Understand model evaluation and selection techniques, including model performance
measures, cross-validation, bias-variance tradeoff, and model selection criteria.

Unit 1: Introduction
Introduction to statistics, Types of data and measurement scales, Central tendency and dispersion
measures, Probability and probability distributions, Hypothesis testing and confidence intervals

Unit II: Exploratory Data Analysis and Visualization


Data preprocessing and cleaning, Data exploration and visualization using Python, Outlier detection
and treatment, Feature selection and engineering

Unit III: Regression Models and Tree-based models


Simple linear regression, Multiple linear regression, Logistic regression, Poisson regression; Tree-
models: Decision trees, Random forests, Boosting algorithms

Unit IV: Model Evaluation and Selection


Model performance measures, Cross-validation, Bias-variance tradeoff, Model selection criteria,
Model interpretation and explanation

Unit V: Applications and Case Studies


Applications of machine learning in various fields such as business, healthcare, finance, and
engineering

Suggested Reading:
• "An Introduction to Statistical Learning: with Applications in R" by Gareth James, Daniela
Witten, Trevor Hastie, and Robert Tibshirani
• "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools,
and Techniques to Build Intelligent Systems" by Aurélien Géron
• "Applied Predictive Modeling" by Max Kuhn and Kjell Johnson
• "Statistics for Machine Learning" by Pratap Dangeti

You might also like