Syllabus MCA 2022
Syllabus MCA 2022
Odisha
(MCA)
2-Years Programme
2022
0|Page
Index
PO Outcomes
Modern tool usage: Create, select, and apply appropriate techniques, resources, and
PO5 modern engineering and IT tools including prediction and modelling to Computer
Appication activities with an understanding of the limitations
The engineer and society: Apply reasoning informed by the contextual knowledge
PO6 to assess societal, health, safety, legal and cultural issues and the consequent
responsibilities relevant to Computer Appication practice
Life- long learning: Recognize the need for, and the preparation and ability to
PO12 engage in independent research and lifelong learning in the broadest contest of
technological changes in Computer Application
PEOs/PSOs
PEO1: Prepare students to build competency in current technology and its application to meet the
industry need for skilled Engineer
PEO2: Provide students with strong foundational concepts and also domain knowledge to pursue
research to build solutions or systems of varying complexity to solve the problems identified
PEO3: Enable graduates to innovate, bring new idea and become an entrepreneur
PSO2. Graduate can acquire industry certified level of competency and work on real time IT
application projects viz; Health/Agriculture/Security/Data Management etc.
PSO3. Graduate can start its own IT service company to provide technical solution Course
Outcomes Attributes
Course Attributes
Outcomes
CO1 Knowledge
CO5 Research
SEMESTER - I
Sl No Course Code Name of the Course Credits T+P+J
1 CUTM1024 IT Infrastructure Management 6 2+2+2
2 CUTM1602 Programming in C 4 2+1+1
3 Data Analysis and Visualization using
CUTM1018
Python 4 0+1+3
4 CUTM1605 Software Engineering 3 2+0+1
5 CUTM1059 Database Management Systems 3 2+1+0
6 CUTM1016 Job Readiness 6 0+6+0
Total 26
SEMESTER – II
1 CUTM1606 Computer Networks 4 2+1+1
2 CUTM1025 Cloud Practitioner 2 0+2+0
3 CUTM1031 Java Technologies 4 2+1+1
4 CUTM1603 Data Structures 4 1+2+1
5 CUTM1030 Advanced Web Programming 4 1+2+1
6 CUTM1032 Operating System Concepts 3 1+1+1
Total 21
SEMESTER – III is CBCS based (Domains)
Domain: Software Technology
CUST2010 Web Services Using JAVA 5 0+4+1
1 CUST2011 Advanced JAVA Programming 4 0+3+1
CUST2012 Web Programming Using React 3 0+2+1
CUST2013 Product Development 8 0+0+8
2 CUTM1036 Android App Development 6 2+2+2
Data Science and Machine
CUML2010 Learning
CUML2011 ML for Predictive Analysis 4 (0+2+2)
CUML2007 ML for Image Analytics 4 (0+2+2)
3 CUML2009 Digital video Processing 3 (0+2+1)
CUML2008 Mathematics for ML 3 (2+1+0)
CUML2005 IoT Analytics 4 (0+2+2)
CUML2006 Internship 4 (0+0+4)
Project 4 (0+0+4)
Cloud Technologies
CUCT2030 AWS Solution Architect (SAA-
4 CUCT2031 CO2). 6 (2-4-0)
CUCT2032 AWS Developer (DVA-CO1) 6 (2-4-0)
Project 6 (0-0-6)
Gaming and Immersive Learning
(AR-VR)
CUAR2060 Introduction to Gaming & Simulation 2 (1 + 1+ 0)
CUAR2061 Game Assets & Game Objects 3 (1 + 1 + 1)
5 CUAR2062 Building Game Environment 3 (1 + 1 + 1)
CUAR2063 Game Animation, Scripting & UI 3 (1 + 1 + 1)
CUAR2064 Binary Deployment and Cross- 3 (1 + 1 + 1)
Platform Controls
CUAR2065 Project 6 (0 + 0 + 6)
Total 20
SEMESTER – IV is CBCS based
2 CUTM1027 Information Security 3 2+1+0
3 CUTM1019 Machine Learning using Python 4 1+2+1
6 CUTM1037 Mathematical Problem Solving 4 2+2+0
7 CUTM2474 DotNet Programming 4 0+2+2
8 CUTM2475 Node JS 2 0+2+0
9 CUTM2476 Cloud Security Foundation 2 0+2+0
10 CUTM2477 Cloud Security Associate 2 0+2+0
33 (required
Total 23)
96
Semester - I
IT Infrastructure Management
Code Course Title T-P-Pj (Credit) Prerequisite
CUTM1024 IT Infrastructure Management 2-2-2(6) NIL
Course Objectives
Course Outcomes
COURSE CONTENT
Practice:
BIOS setup
Assembling and dissembling of computer and Laptop
Page | 7
Installation of DOS and Non-DOS operating system – Automatic and Manual Configurations,
Both in physical hardware and on Virtual machine (VMWare, VirtualBox). Application
Installation both in DOS / Non DOS – Webserver, Email server, FTP server, DNS server.
Practice:
Network Fundamentals – Decimal and Binaries, Address Formats - TCP Model, IP Model, OSI
Model, IPv4, IPv6 – Subnetting NetworkingOS - Software architecture, Control and forwarding
planes, Routing Engine and Packet Forwarding Engine
Practice:
Setting up a Network
Configuring IPV4 and IPV6
Implementing subnetting
Identify the concepts, operation or functionality of the networking user interface - CLI
functionality, CLI modes, CLI navigation, Filtering output, Modifying, managing, and saving
configuration files, Viewing, comparing, and loading configuration files.
Practice:
Configuration, User accounts, User authentication methods, Interface types and properties,
Configuration groups, Configuration archival, Logging and tracing, Identify methods of
monitoring or maintaining Junos device, Show commands, Monitor commands, Interface
statistics and errors, Networking OS installation and upgrades
Practice:
Page | 8
Windows Administration – Active Directory Configuration, Administration, Troubleshooting
and User management. DHCP Server, Windows Deployment Services, Security Policies and
Management, IIS, Server Management Tools – Event Viewer, Remote management.
Practice:
Linux Administration - Basic Commands, Package Management, Text manipulation, network and
system Diagnostics
Practice:
Linux set up
Linux package management
Troubleshoot and system diagnotics
Text Books
Page | 9
Programming in C
Course Title Code Type of course T-P-PJ Prerequisite
Programming in C CUTM 1602 TPP 1-2-1 Nil
Course Objectives
Course Outcomes
COURSE OUTLINE
Module I :Problem Solving Techniques ( 10Hours )
Problem solving techniques : Algorithm, flow chart; Structure of C program, Character set,
Identifiers, Keywords, Data Types, Constants and Variables, Input-output statements, relational
and logical operators, increment and decrement operators, conditional operator, bit-wise
operators, assignment operators, expressions, type conversions, conditional expressions,
precedence and order of evaluation.
Statements and blocks, if and switch statements, loops : -while, do-while and for statements,
break, continue, goto.
Page | 10
Module IV : Functions( 15 Hours )
Pointers- concepts, initialization of pointer variables, pointers and function arguments, address
arithmetic, Character pointers and functions, pointers to pointers, pointers and multidimensional
arrays, dynamic memory management functions, command line arguments.
Input and output–concept of a file, text files and binary files, file I/O operations, Typedef, bit
fields, Command line arguments.
List of Projects:
1. LASER Demonstration
2. Electronic Voting Machine
3. Elementary Database Management System
4. Student Information System
5. Parking System
6. Bank Management System
7. Result System
8. Quiz Game Project
9. Library Management System
10. Pacman Game
Text Books :
Reference Books :
Page | 11
Data Analysis and Visualization Using Python
Course Objectives
Course Outcome
COURSE CONTENT
Module-I
Module-II
Page | 12
Module-III
Projects List
1. COVID 19
2. World Development Indicators
3. ERP dashboarding
4. Details of Social/ Empowerment schemes of Govt. etc.
References:
https://www.programmer-books.com/wp-content/uploads/2019/04/Python-for-Data-
Analysis-2nd-Edition.pdf
https://towardsdatascience.com/data-visualization/home
Reading materials and videos available on internet on how to use ANACONDA, JUPYTER
NOTEBOOK and Python Libraries
Page | 13
Software Engineering
Course Objectives:
The aim of the course is to provide an understanding of the working knowledge of the
techniques for estimation, design, testing and quality management of large software
development projects.
To learn software development process that include process models, user requirements,
specifications, software design, coding, software testing, maintenance, documentation,
software process/product metrics, risk management, quality management.
Describe and compare various software development methods and understand the context
in which each approach might be applicable.
Expand students’ familiarity with mainstream languages used to model and analyze object
designs (e.g., UML).
Introduce state-of-the-art tools and techniques for large-scale software systems
development.
Implement the major software development methods in practical projects.
Course Outcomes
Course Syllabus:
Page | 14
Process Models and Software Development Life Cycle Phases, Traditional Life Cycle Models:
Waterfall Model, ‘V’ Model, Prototyping Model, the Iterative Waterfall Model, the Spiral Model,
Evolutionary model, Component-Based Software Engineering (CBSE). Rapid software
development models: Agile methods, Extreme programming, Rapid application development
(RAD).
Page | 15
Text Books:
Reference Books:
1. Grady Booch, James Rambaugh, Ivar Jacobson, "The unified modeling language user
guide", Pearson Education.
2. James F. Peters, WitoldPedrycz, John Wiley, "Software Engineering, an Engineering
approach"
3. Waman S Jawadekar, "Software Engineering principles and practice", The McGraw-Hill
Companies.
Page | 16
Database Management Systems
Objectives
To understand the different issues involved in the design and implementation of a
database system.
To study the physical and logical database designs, database Modeling, relational,
hierarchical, and network models
To understand and use data manipulation language to query, update, and manage a
database
To develop an understanding of essential Properties of DBMS concepts such as: database
security, integrity, concurrency
To design and build a simple database system and demonstrate competence with the
fundamental tasks involved with modeling, designing, and implementing a DBMS.
Learning Outcomes
Mapping COs with POs
COs Course Outcomes
(High-3, Medium-2, Low-1)
Acquire the knowledge on different
CO1 database implementation for various PO1 (3), PO12(1)
applications
Solving different problems such as to
convert the entity-relationship diagrams
CO2 PO2(3)
into relational tables, normalization and
SQL queries
Design database models and the entity-
CO3 relationship diagrams of different PO3 (3)
databases using MySQL Workbench
Course content
Module-1: DBMS Concepts [5 Hrs]
Data Abstraction - Data models and data independence. Instances and Schemas. Components of a
DBMS and overall structure of a DBMS- Life Cycle of a DBMS application- Database
terminology.
Basic concepts- Types of data models- Conceptual, physical and logical database models- E-R
data model and Object-oriented data model. Components of ER Model- ER Modeling symbols.
Entity and entity sets- Relations and relationship sets- E-R Diagrams- Reducing E-R Diagrams
into tables.
Page | 17
Practice
Assume we have the following application that models soccer teams, the games they play, and the
players in each team. In the design, we want to capture the following:
• We have a set of teams, each team has an ID (unique identifier), name, main stadium, and to
which city this team belongs.
• Each team has many players, and each player belongs to one team. Each player has a number
(unique identifier), name, DoB, start year, and shirt number that he uses.
• Teams play matches, in each match there is a host team and a guest team. The match takes place
in the stadium of the host team.
• For each match we need to keep track of the following:
• The date on which the game is played
• The final result of the match
• The players participated in the match. For each player, how many goals he scored,
whether or not he took yellow card, and whether or not he took red card.
• During the match, one player may substitute another player. We want to capture this
substitution and the time at which it took place.
• Each match has exactly three referees. For each referee we have an ID (unique identifier),
name, DoB, years of experience. One referee is the main referee and the other two are
assistant referee.
Design an ER diagram to capture the above requirements. State any assumptions you have that
affects your design (use the back of the page if needed). Make sure cardinalities and primary
keys are clear.
Practice
Perform NF on the given table
CLICK HERE FOR TABLE
Practice
To study DDL-create and DML-insert commands.
(i) Create tables according to the following definition.
CREATE TABLE DEPOSIT (ACTNO VARCHAR2(5) ,CNAME VARCHAR2(18) , BNAME
VARCHAR2(18) , AMOUNT NUMBER(8,2) ,ADATE DATE);
CREATE TABLE BRANCH(BNAME VARCHAR2(18),CITY VARCHAR2(18)); CREATE
TABLE CUSTOMERS(CNAME VARCHAR2(19) ,CITY VARCHAR2(18));
CREATE TABLE BORROW(LOANNO VARCHAR2(5), CNAME VARCHAR2(18), BNAME
Page | 18
VARCHAR2(18), AMOUNT NUMBER (8,2));
(ii) Insert the data as shown below.
DEPOSIT
CLICK HERE FOR TABLE
BRANCH
CLICK HERE FOR TABLE
CUSTOMERS
CLICK HERE FOR TABLE
BORROW
CLICK HERE FOR TABLE
(1) Describe deposit, branch.
(2) Describe borrow, customers.
(3) List all data from table DEPOSIT.
(4) List all data from table BORROW.
(5) List all data from table CUSTOMERS.
(6) List all data from table BRANCH.
(7) Give account no and amount of depositors.
(8) Give name of depositors having amount greater than 4000.
(9) Give name of customers who opened account after date '1-12-96'.
Page | 19
cname Varchar2(15)
bname Varchar2(10)
amount Varchar2(7,2)
Insert following values in the table Employee.
emp_n emp_name emp_sal emp_comm dept _no
101 Smith 800 20
102 Snehal 1600 300 25
103 Adama 1100 0 20
104 Aman 3000 15
105 Anita 5000 50,000 10
106 Sneha 2450 24,500 10
107 Anamika 2975 30
Insert following values in the table job.
CLICK HERE FOR TABLE
Insert following values in the table deposit.
CLICK HERE FOR TABLE
Perform following queries
(1) Retrieve all data from employee, jobs and deposit.
(2) Give details of account no. and deposited rupees of customers having account opened between
dates 01-01-06 and 25-07-06.
(3) Display all jobs with minimum salary is greater than 4000.
(4) Display name and salary of employee whose department no is 20. Give alias name to name of
employee.
(5) Display employee no,name and department details of those employee whose department lies
in(10,20)
To study various options of LIKE predicate
(1) Display all employee whose name start with ‘A’ and third character is ‘ ‘a’.
(2) Display name, number and salary of those employees whose name is 5 characters long and
first three characters are ‘Ani’.
(3) Display the non-null values of employees and also employee name second character should be
‘n’ and string should be 5 character long.
(4) Display the null values of employee and also employee name’s third character should be ‘a’.
(5) What will be output if you are giving LIKE predicate as ‘%\_%’ ESCAPE ‘\’
To Perform various data manipulation commands, aggregate functions and sorting concept on all
created tables.
(1) List total deposit from deposit.
(2) List total loan from karolbagh branch
(3) Give maximum loan from branch vrce.
(4) Count total number of customers
(5) Count total number of customer’s cities.
(6) Create table supplier from employee with all the columns.
(7) Create table sup1 from employee with first two columns.
(8) Create table sup2 from employee with no data
(9) Insert the data into sup2 from employee whose second character should be ‘n’ and string
should be 5 characters long in employee name field.
(10) Delete all the rows from sup1.
(11) Delete the detail of supplier whose sup_no is 103.
(12) Rename the table sup2.
Page | 20
(13) Destroy table sup1 with all the data.
(14) Update the value dept_no to 10 where second character of emp. name is ‘m’.
(15) Update the value of employee name whose employee number is 103.
To study Single-row functions.
(1) Write a query to display the current date. Label the column Date
(2) For each employee, display the employee number, job, salary, and salary increased by 15%
and expressed as a whole number. Label the column New Salary
(3) Modify your query no 4.(2) to add a column that subtracts the old salary from the new salary.
Label the column Increase
(4) Write a query that displays the employee’s names with the first letter capitalized and all other
letters lowercase, and the length of the names, for all employees whose name starts with J, A, or
M. Give each column an appropriate label. Sort the results by the employees’ last names.
(5) Write a query that produces the following for each employee:
earns monthly
(6) Display the name, hire date, number of months employed and day of the week on which the
employee has started. Order the results by the day of the week starting with Monday.
(7) Display the hiredate of emp in a format that appears as Seventh of June 1994 12:00:00 AM.
(8) Write a query to calculate the annual compensation of all employees (sal+comm.).
Displaying data from Multiple Tables (join)
(1) Give details of customers ANIL.
(2) Give name of customer who are borrowers and depositors and having living city nagpur
(3) Give city as their city name of customers having same living branch.
(4) Write a query to display the last name, department number, and department name for all
employees.
(5) Create a unique listing of all jobs that are in department 30. Include the location of the
department in the output
(6) Write a query to display the employee name, department number, and department name for all
employees who work in NEW YORK.
(7) Display the employee last name and employee number along with their manager’s last name
and manager number. Label the columns Employee, Emp#, Manager, and Mgr#, respectively.
(8) Create a query to display the name and hire date of any employee hired after employee
SCOTT.
Module-7: Transaction Management [8 Hrs]
Subqueries,Manupulating Data,Transaction management and Concurrency control
Practice
To apply the concept of Aggregating Data using Group functions.
(1) List total deposit of customer having account date after 1-jan-96.
(2) List total deposit of customers living in city Nagpur.
(3) List maximum deposit of customers living in bombay.
(4) Display the highest, lowest, sum, and average salary of all employees. Label the columns
Maximum, Minimum, Sum, and Average, respectively. Round your results to the nearest whole
number.
(5) Write a query that displays the difference between the highest and lowest salaries. Label the
column DIFFERENCE.
(6) Create a query that will display the total number of employees and, of that total, the number of
employees hired in 1995, 1996, 1997, and 1998
(7) Find the average salaries for each department without displaying the respective department
numbers.
Page | 21
(8) Write a query to display the total salary being paid to each job title, within each department.
(9) Find the average salaries > 2000 for each department without displaying the respective
department numbers.
(10) Display the job and total salary for each job with a total salary amount exceeding 3000, in
which excludes president and sorts the list by the total salary.
(11) List the branches having sum of deposit more than 5000 and located in city bombay.
To solve queries using the concept of sub query.
(1) Write a query to display the last name and hire date of any employee in the same department
as SCOTT. Exclude SCOTT
(2) Give name of customers who are depositors having same branch city of mr. sunil.
(3) Give deposit details and loan details of customer in same city where pramod is living.
(4) Create a query to display the employee numbers and last names of all employees who earn
more than the average salary. Sort the results in ascending order of salary.
(5) Give names of depositors having same living city as mr. anil and having deposit amount
greater than 2000
(6) Display the last name and salary of every employee who reports to ford.
(7) Display the department number, name, and job for every employee in the Accounting
department.
(8) List the name of branch having highest number of depositors.
(9) Give the name of cities where in which the maximum numbers of branches are located.
(10) Give name of customers living in same city where maximum depositors are located.
Manipulating Data
(1) Give 10% interest to all depositors.
(2) Give 10% interest to all depositors having branch vrce
(3) Give 10% interest to all depositors living in n
agpur and having branch city bombay.
(4) Write a query which changes the department number of all employees with empno 7788’s job
to employee 7844’current department number.
(5) Transfer 10 Rs from account of anil to sunil if both are having same branch.
(6) Give 100 Rs more to all depositors if they are maximum depositors in their respective branch.
(7) Delete depositors of branches having number of customers between 1 to 3.
(8) Delete deposit of vijay.
(9) Delete borrower of branches having average loan less than 1000.
To apply the concept of security and privileges.
To study Transaction control commands
VIRTUAL LAB
TEXT BOOKS
Database Management Systems: Raghu Ramakrishnan
ORACLE PL/SQL Programming – Scott Urman BPB Publications.
REFERENCES
Database Systems Concepts – Henry F Korth, Abraham Silberschatz.
Database Management Systems – Alexis Leon, Mathews Leon – Leon, Vikas Publications
Page | 22
Job Readiness
Code Course Title Credit T-P-PJ
CUTM1016 Job Readiness 6 0-6-0
Course Objectives
To develop additional skills (verbal, logical, quantitative and reasoning) required to enhance
employability as well as the entrepreneurial ability of the students
Course Outcomes
Note: A student will be awarded the credits and grades as outlined in the attached presentation:
https://drive.google.com/file/d/1Wst-jdAJuHHVtYC4F-p3SKuw1PHWOI1U/view?usp=sharing
COURSE SYLLABUS
Course Division
Course I: IELTS - Reading, Listening, Speaking, and Writing
Course II: IELTS Verbal
Page | 23
Course III: Quantitative Aptitude
Course IV: Logical Reasoning
Course I: IELTS - Reading, Listening, Speaking and Writing
Module I: IELTS Reading (18hrs)
Page | 24
● Contextual Vocabulary
Page | 25
● Probability : Terms related to Probability, Event, Theorems related Probability,
Conditional Probability. Shortcuts on coins, dices, balls, cards, etc
● Data Interpretation : (Bar/Pi-Chart /Line) graph
● Mensuration : Area & Volume
● Height & Distance : Lines of Sight, Horizontal line, Angle of Elevation, Angle of
Depression
● Assessments
Page | 26
Semester - II
Computer Networks
Course Title Code Credit T-P-PJ
Course Objectives
Course Outcomes
COURSE OUTLINE
Module-I (5 Hrs):
Practice:
Page | 27
Practice 1: Navigating the IOS: Basic Connections, Accessing the CLI and Exploring Help,
Exploring EXEC Modes, Setting the Clock
Practice 2: Investigating the TCP/IP and OSI models in action: Examine HTTP web traffic,
Display elements of the TCP/IP protocol suite
Module-II (8 Hrs):
Physical Layer: Guided transmission media, wireless transmission media, Transmission Modes,
line coding, multiplexing.
Data Link Layer: Error Detection and Error Correction, sliding window protocol, High Level
Data Link Control.
Multi Access Protocols: ALOHA, CSMA: CSMA/CD, CSMA/CA, Ethernet, bridges, repeaters,
hubs, bridges, switches, routers and gateways.
Practice:
Practice 4: Connecting a wired and wireless LAN: Connect to the Cloud, Connect Router0,
Connect Remaining Devices and Verify Connections, Examine the Physical Topology
Network Layer: Internetworking, Network Layer Design issues, store and forward packet
switching connection less and connection oriented.
Network Address: IPv4, IPv6, CIDR, Protocol: ICMP, ARP, RARP, DHCP.
Practice:
Practice 5: Configuring IPv6 Addressing: Configure IPv6 Addressing on the Router, Configure
IPv6 Addressing on Servers, Configure IPv6 Addressing on clients, Test and Verify Network
Connectivity
Practice 6: Verifying IPv4 and IPv6 Addressing: Complete the Addressing Table Documentation,
Test Connectivity Using Ping, Discover the Path by Tracing the Route
Page | 28
Transport Layer: Introduction to TCP, The TCP Segment Header, The Connection Establishment,
The TCP Connection Release, The TCP Sliding Window, The TCP Congestion Control.
Practice:
Practice 7: TCP and UDP Communications: Generate Network Traffic in Simulation Mode;
Examine the Functionality of the TCP and UDP Protocols
Module-VI (6 Hrs):
Application Layer: Introduction, Client server model, HTTP, FTP, electronic mail, TELNET,
DNS,WWW
Practice:
Practice 8: Web and Email Servers: Configure and Verify Web Services, Configure and Verify
Email Services
Practice 9: DHCP and DNS Servers: Configure Static IPv4 Addressing, Configure and Verify
DNS Records
Practice 10: FTP Servers: Configure FTP Services on Servers, Upload a File to the FTP Server,
and Download a File from the FTP Server
MODULE-VII (6 Hrs):
Text Books
Data Communications and Networking - Behrouz Forouzan, Fifth Edition TMH, 2013.
Computer Networks - Andrew S Tanenbaum, 4th Edition, Pearson Education
References
Page | 29
Cloud Practitioner
Code Course Title Credit T-P-PJ
Course Objectives
Course Outcomes
COURSE CONTENT
Page | 30
Practice:
AWS Global Infrastructure, AWS Management Console, AWS Services & Service Categories,
AWS Shared Responsibility Model, Cloud Security, AWS Identity and Access Management,
Securing Accounts, Securing Data, Working to Ensure Compliance.
Practice:
Networking Basics, Amazon Virtual Private Cloud, VPC Security, Build Your VPC and Launch
a Web Server, Amazon Route53, Content Delivery Networks, Edge Location, Amazon
CloudFront
Practice:
Create a Virtual Private Cloud
Configure Route53
Application of CloudFront in S3
Overview of Compute Services, Amazon Elastic Compute Cloud, Amazon EC2 versus Managed
Services, Amazon EC2 Cost Optimization, Container Services, AWS Lambda, Amazon Elastic
Beanstalk
Practice:
Launch an EC2 instance
Writing AWS Lambda function
Deploy code using Amazon Beanstalk
AWS Elastic Block Store, Configuring EBS, AWS Simple Storage service, AWS S3 Glacier,
Amazon Relational Database Service, Build a Database Server, Amazon Aurora, Amazon
DynamoDB, Amazon Redshift..
Page | 31
Practice:
Practice:
AWS Auto Scaling, Elastic Load Balancing, Amazon CloudWatch, Scale and Load Balance your
Architecture, AWS Simple Notification Service and Simple Queue service.
Practice:
http://aws.amazon.com/awseducate
Page | 32
Java Technologies
Code Course Title Credit T-P-PJ
Course Objectives
Course Outcomes
COURSE CONTENT
Features and Installation, Java Programming Basics, Decision Making and Looping, Class and
Object, Inheritance
Practice 1 (1 Hr)
Practice 2 (1 Hr)
Page | 33
Module II: Package and Safe Code (5 Hr)
Interfaces, Packages and Access Protection, Exception Handling (Fault Tolerant Programming)
Practice 3 (1 Hr)
Module III: Collection and Threads (5 Hr)
ArrayList, Vector, Set, Map, Multi-threaded Programming, Synchronization
Practice 4 (1 Hr)
Module IV: Language and Utility Packages (5 Hr)
String Handling, Wrappers, Runtime Memory Management, Cloning, Calendar, Date and Time
Facilities, Scanner, Internationalization
Practice 5 (1 Hr)
Practice 6 (1 Hr)
Module V: Input/ Output and Applets (5 Hr)
Byte and Character Stream I/O, Persistence, Applet: Architecture, Skeleton, and Implementation
Practice 7 (1 Hr)
Practice 8 (1 Hr)
Module VI: GUI Programming (5 Hr)
AWT: Container, Components, Layout Managers, Event Handling
Practice 9 (1 Hr)
Practice 10 (1 Hr)
Module VII: Networking and Advanced (5 Hr)
Networking Fundamental, Client-Server Communication, Remote Method Invocation (RMI),
Java Virtual Machine (JVM) Tuning, Java Profiler
Practice 11 (1 Hr)
Practice 12 (1 Hr)
Text Book(s):
1. Java The Complete Reference, Fifth Edition, C25 Herbert Schildt, McGraw-Hills
Reference Book(s):
1. Murach’s Java Programming, 5th Edition, Joel Murach, Mike Murach & Associates, 2011, ISBN-
78-1-943872-07-7
Page | 34
2. Introduction to Java Programming, Comprehensive, 10th ed., Y. Daniel Liang, 2014. ISBN-10:
Online Source(s):
1. https://docs.oracle.com/javase/tutorial/java/index.html
2. https://www.programiz.com/java-programming
3. https://marcus-biel.com/
List of Practices:
Practice 1 (Module-I)
Program-1:
Write a program that computes the standard deviation of a set of floating point numbers that the user
enters. First the user says how many numbers N are to follow. Then the program asks for and reads in each
floating point number. Finally it writes out the standard deviation. The standard deviation of a set of
numbers Xi is:
Here, avg is the average of the N numbers, and avg2 is its square.
avgSquare is the average of Xi * Xi. In other words, this is the average of the squared value of each
Page | 35
Xi Xi * Xi
2.0 4.0
3.0 9.0
1.0 1.0
2.0 4.0
Now:
avg2 = 4.0
To do this you will need to do several things inside the loop body for each floating point value as it comes
in: add it to a sum, square it and add it to a sum of squares. Then after the loop is finished apply the
formula.
https://www.hackerrank.com/domains/java
Practice 2 (Module-I)
Program-1:
Better encapsulation of the Goods class would call making instance variables private and using getter and
setter methods to access them. A further refinement would be to make the class abstract and to define
{description = des;
Page | 36
price = pr;
quantity = quant;}
double getPrice()
{return price;}
{price = newPrice;}
int getQuantity()
{return quantity;}
{quantity = newQuantity;}
{return "item: " + description + " quantity: " + quantity + " price: " + price ;}
Revise the source code for the classes Food, Toy, and Book. (Perhaps call the revised classes FoodSG,
ToySG, and BookSG.) create a new class ToiletrySG for things like bubble bath. Create a new testing
Note: the child classes will need to use the getter and setter methods to access the instance variables that
https://www.hackerrank.com/domains/java
Practice 3 (Module-II)
Program-1:
Put in a loop so that the user is repeatedly asked for the numerator and the divisor. For each set of data, the
program prints out the result, or an informative error message if there is a problem (division by zero or
The program continues looping, even if there is a problem Exit the loop when data entered for the
numerator start with characters "q" or "Q". Don't print out an error message in this case.
Page | 37
Don't ask for the divisor if the user just asked to quit.
12 / 4 is 3
You will need to use the method charAt() from the String class.
https://www.hackerrank.com/domains/java
Practice 4 (Module-III)
Program-1:
In mathematics, several operations are defined on sets. The union of two sets A and B is a set that contains
all the elements that are in A together with all the elements that are in B. The intersection of A and B is the
set that contains elements that are in both A and B. The difference of A and B is the set that contains all
Suppose that A and B are variables of type set in Java. The mathematical operations on A and B can be
A.addAll(B) computes the union of A and B; A.retainAll(B) computes the intersection of A and B; and
A.removeAll(B) computes the difference of A and B. (These operations change the contents of the set A,
while the mathematical operations create a new set without changing A, but that difference is not relevant
to this exercise.)
For this exercise, you should write a program that can be used as a “set calcula-
Page | 38
tor” for simple operations on sets of non-negative integers. (Negative integers are not allowed.) A set of
such integers will be represented as a list of integers, separated by commas and, optionally, spaces and
enclosed in square brackets. For example: [1,2,3] or [17, 42, 9, 53,108]. The characters +, *, and - will be
used for the union, intersection, and difference operations. The user of the program will type in lines of
input containing two sets, separated by an operator. The program should perform the operation and print
Input Output
------------------------- -------------------
To represent sets of non-negative integers, use sets of type TreeSet<Integer>. Read the user’s input, create
two TreeSets, and use the appropriate TreeSet method to perform the requested operation on the two sets.
Your program should be able to read and process any number of lines of input. If a line contains a syntax
error, your program should not crash. It should report the error and move on to the next line of input.
(Note: To print out a Set, A, of Integers, you can just say System.out.println(A). We’ve chosen the syntax
for sets to be the same as that used by the system for outputting a set.)
https://www.hackerrank.com/domains/java
Practice 5 (Module-IV)
Program-1:
Password Checker:
Write a program that repeatedly asks the user for a proposed password until the user enters an acceptable
password. When the user enters an acceptable password, the program writes a message and exits.
Acceptable passwords:
Contain both upper and lower case alphabetic characters. Contain at least 1 digit. The logic of this
Page | 39
program can be quite tricky. Hint: use toUpperCase(), toLowerCase, and equals(). You will also need
nested ifs.
snowflake
SnowFlake
snowflake47
Snowflake47
Acceptable password.
https://www.hackerrank.com/domains/java
Practice 6 (Module-IV)
Program-1:
Secret Code:
A text message has been encoded by replacing each character of the message with an integer. Each integer
is an index into a key-phrase that contains all the lower case letters of the alphabet as well as the space
character. The key-phrase may contain the same character in several locations. The encoded text is series
35 10 10 33 9 24 3 17 41 8 3 20 51 16 38 44 47 32 33 10 19 38 35 28 49
To decode the message, look up each integer in the key-phrase and output the corresponding character. For
example, say that the key-phrase is this (the index of each character has been written above it):
Page | 40
111111111122222222223333333333444444444455
0123456789012345678901234567890123456789012345678901
using each integer from the encoded text as an index into the phrase results in the decoded message:
Write a program that decodes a secret message contained in a text file. The first line of the text file
contains the key-phrase. Then the file contains a sequence of integers, each of which indexes the key-
phrase. Find the character corresponding to each integer and output the secret message. Note if a character
character such as 'e' occurs several places in the key-phrase it may be encoded as different integers in
(The recipient of the secret message gets only the file of integers and must put the key-phrase at the top of
the file.) For example, here is the contents of a secret message file ready for the program:
35 10 10 33 9 24 3 17 41 8 3 20 51 16 38 44 47 32 33 10 19 38 35 28 49
Here is another secret message file, with key-phrase inserted, that you can use to test your program:
31 16 2 3 4 42 48 7 27 9 10 43 12 13 35 15 1 40 18 3
20 15 33 23 24 32 26 29 28 27 21 31 25 14 34 14 36
42 38 19 40 41 27 3 44 50 46 42 48 49 50 6
https://www.hackerrank.com/domains/java
Practice 7 (Module-V)
Program-1:
Page | 41
Write a program that reads in a file of text, perhaps the text of a novel. The program copies the same text
to an output file, except that all the useless words such as "the", "a", and "an" are removed. (Decide on
what other words you with to remove. The list of words removed is called a stop list.) Do this by reading
the text file token by token using hasNext() and next(), but only writing out tokens not on the stop list.
Prompt the user for the names of the input and output files.
Fairly Easy: The output file will have only N tokens per line. Do this by counting tokens as you output
Improved Program: Preserve the line structure of the input file. Do this by reading each line using
nextLine() and then creating a new Scanner for that line. (Look at the on-line documentation for Scanner.)
With each line's Scanner, use hasNext() and next() to scan through its tokens.
Harder: Write out no more than N characters per line. N will be something like 50. Do this by keeping
count of the number of characters written out per line. The length() method of String will be useful. If X
characters has already been written to the current line, and if X plus the length of the current token exceeds
https://www.hackerrank.com/domains/java
Practice 8 (Module-V)
Program-1:
Write a program that scans a text file for possible e-mail addresses. Addresses look like this:
Read tokens from the input file one by one using hasNext() and next(). With the default delimiters of
Scanner, an entire e-mail address will be returned as one token. Examine each token using the indexOf()
method of String. If a token contains an at sign @ followed some characters later by a period, regard it as a
Programs such as this scan through web pages looking for e-mail addresses that become the targets of
spam. Because of this, many web pages contain disguised e-mail addresses that can't easily be
automatically extracted.
Page | 42
Program-2 and Program-3:
https://www.hackerrank.com/domains/java
Practice 9 (Module-VI)
Program-1:
Further modify the calories from fat calculator so that it includes another TextField that will be set with
the text "Too many fat calories" if the percentage of calories from fat is equal or greater than 30 percent, or
https://www.hackerrank.com/domains/java
Practice 10 (Module-VI)
Program-1:
There are three buttons in the frame. Two of the buttons cause the program to quit using System.exit(0);
the remaining button changes the frame to green (a win!) The winning button is different each time the
game is played.
The easy way to do this (although it seems unfair to the user) treats each button the same way. The
actionPerformed() method does not check which button was clicked. When any button is clicked, the
method picks a random integer from 0 to 2 and performs the "winning" action if the integer happens to be
0. Otherwise, it performs the "losing" action. To the user, it seems like there is a "winning" button and two
"losing" buttons. But, in fact, it does not matter which button was clicked.
This is similar to some electronic gambling devices in casinos, where it appears to the user that there are
"winning moves" and "losing moves" but in fact the machine actually ignores what the user has done and
just declares a "win" every now and then, according to predetermined odds.
Page | 43
...
https://www.hackerrank.com/domains/java
Practice 11 (Module-VII)
Write a Client-Server program where the client queries with a name of file and the server delivers the
Write a program using RMI, where the user invokes a method on remote object with username as
parameter and receives a greeting message based on time of the day along with username.
Projects
However, not limited to:
1. Chat application
2. Text Editor application
3. GUI based Scientific Calculator
4. Paint application
5. Slam book
(*PROJECT REVIEWS WILL COMMENCE BEYOND CLASS HOURS)
Monitoring:
Credit will be received only on making an honest effort. It is expected that students will finish
watching all lecture video and complete all challenge problems by the end of each lecture week.
Borrowing code from other sources is allowed only with proper attribution and credit given to the
original author(s).
Page | 44
● Program to generate random numbers in various ways
● Program to convert miles to kilometers and vice-versa
● Program to convert celsius to fahrenheit and vice-versa
● Program to check if a number is odd or even
● Program to check if input year is leap year
● Program to test primality
● Program to print all prime numbers in an interval using "Sieve of Eratosthenes"
● Program to generate factorial of all elements in an array
● Program to display the multiplication table up to 20
● Program to print the fibonacci sequence
● Program to check armstrong number, perfect number, Harshad number
● Program to generate armstrong numbers in an Interval
● Program to find the sum of Harshad numbers in an interval
● Program to display powers of two Using lambda
● Program to perform conversions among decimal to binary, octal and hexadecimal
● Program to display ASCII table
● Program to find HCF/GCD and LCM
● Program to find factors of given natural number
● Program to make a simple calculator
● Program to shuffle deck of cards
● Program to generate fibonacci sequence using recursion
● Program to find sum of natural numbers using recursion
● Program to find factorial of number using recursion
● Program to convert decimal to binary using recursion
● Program to add two matrices
● Program to obtain transpose of a matrix
● Program to multiply two matrices
● Program to check if a string is palindrome
● Program to remove punctuations from a string
● Program to sort words lexicographically
● Program to illustrate different set operations
● Program to count frequency of each vowel in a string
● Program to find hash value of a file
Note: 1 credit theory=12 hrs lecture, 1 credit practice/project=15 hrs lab/workshop/field work
in a semester
Page | 45
Data Structures
Code Course Title Credit T-P-PJ
CUTM1603 Data Structures 4 1-2-1
Course Objectives
● To familiarize the students with techniques of algorithm analysis and recursive procedures
● To make students implement linked data structures such as linked lists and binary trees
● To introduce several sub-quadratic sorting algorithms including - quick sort, merge sort and
heap sort
● To acquaint students solve graph traversal techniques
● Skill to choose appropriate data structure as applied to specified problem definition. Ability to
analyze algorithms and algorithm correctness
● Able to get jobs in different IT firms as developer
Course Outcomes
COURSE CONTENT
Data Structures, Types of Data Structures, Algorithm analysis, Complexity Analysis :Time
complexity and Space complexity , Asymptotic Notations (Big Oh, Big Omega, Big Theta, Little
Oh, Little Omega), Data Structure Operations, Application of Data structures.
Page | 46
Programs:
1.Write a program to perform the following menu driven program on the input array
a. Insertion
b. Deletion
c. Searching
d. Sorting
e. Merging
f. Display
g. Exit
Stacks, operations on stack and its applications ( Infix to Postfix Conversion, Infix to prefix
conversion, Prefix evaluation and Postfix Evolution).
Programs:
1.Write a program to perform the following menu driven program on the STACK.
a. Push
b. Pop
c. Display
d. Exit
2. Write a program to perform the following menu driven program on the Queue.
a. Insertion
b. Deletion
c. Display
d. Exit
Linked lists: Single Linked List and Operations on Single Linked List (Creation Insertion ,
Deletion , Sorting and Reverse ).Circular linked list, Double linked list ,
Programs:
1.Write a program to create a single linked list perform the following menu driven program.
a. Insertion at front
b. Insertion at end
c. Insertion at particular position
d. Deletion at front
e. Deletion at end
f. Deletion at particular position
g. Display
Page | 47
2.Write a program to create a circular linked list perform the following menu driven program.
a. Insertion at front
b. Insertion at end
c. Insertion at particular position
d. Deletion at front
e. Deletion at end
f. Deletion at particular position
g. Display
3.Write a program to create a Double linked list perform the following menu driven program .
a. Insertion at front
b. Insertion at end
c. Insertion at particular position
d. Deletion at front
e. Deletion at end
f. Deletion at particular position
g. Display
Module IV: Stack & Queue Implementation Using Linked List (4 hrs)
Stack implementation using Linked List and Queue implementation using Linked List and
operations.
Programs:
Trees and hierarchical orders ,Introduction to trees ,Representation of tree, Abstract trees , Tree
traversals , Forests , Ordered trees , Binary trees , Perfect binary trees , Complete binary trees ,
Search trees : Binary search trees , AVL trees.
Programs:
1.Write a program to create Binary tree and display it .
2. Write a program to create a BST and display it.
3. Write a program to Print all pairs from two BSTs whose sum is greater than the given value.
4.Write a program to remove duplicate entries from the BST.
5.Write a program to create a AVL tree and display it.
Searching & Sorting algorithms , Objectives of Searching , The Sequential Search , Analysis of
Sequential Search , The Binary Search , Analysis of Binary Search , Introduction to sorting ,
Insertion sort , Bubble sort , Heap sort ,Merge sort ,Quick sort, Radix Sort.
Page | 48
Programs:
1.Write a program to perform linear and binary search.
2. Write a program to perform selection sort , Bubble sort and Insertion sort.
3. Write a program to perform merge and quick sort.
4.Write a program to perform Heap sort.
Graph Terminology, Graph Traversal Techniques: Breadth First Search, Depth First Search,
Hashing: Introduction to hash tables, Hash functions, Collision Resolution : Chained hash tables,
Linear Probing.
Programs:
1.Write a program to perform Linear Probing.
2. Write a program to perform Double Hashing
Text Books:
Reference Books:
Projects:
Text Books:
1. Data Structures, Algorithms and Applications in C++, Sartaj Sahani, 2nd Edition.
2. Data Structures and Algorithms in C++, Michael T.Goodrich, R, Tamassia and D.Mount, wiley
Student Edition, 7th edition, John Wiley and Sons.
Reference Books:
Page | 49
1. Data Structures and Algorithms Analysis in C++ by Mark Allen Weiss.
2. Data Structures and Algorithms in C++, 3rd edition, Adam Drozdek, Cengage Learning.
List Of Projects:
Note: 1 credit theory=10 hrs lecture, 1 credit practice/project=12.5 hrs lab/workshop/field work
in a semester
Page | 50
Advanced Web Programming
Code Course Title Credit T-P-PJ
CUTM1030 4 1-2-1
Advanced Web Programming
Course Objectives
Understand client server architecture and able to use the skills for web project
development.
Create job opportunities as a web developer
Course Outcomes
COURSE CONTENT
Page | 51
Practice
1. Write an HTML code to display your CV on a web page.
2. Write an HTML code to create a Home page having three links: About Us, Our Services and
Contact Us. Create separate web pages for the three links.
3. Write an HTML code to create a Registration Form. On submitting the form, the user should be
asked to login with this new credentials.
4. Write an HTML code to create your Institute website, Department Website and Tutorial
website for specific subject.
5. Write an HTML code to create a frameset having header, navigation and content sections.
6.Write an HTML code to demonstrate the usage of inline CSS.
7. Write an HTML code to demonstrate the usage of internal CSS.
8. Write an HTML code to demonstrate the usage of external CSS.
9: Design your own website using HTML CSS
10: Design form using HTML and apply CCS
JavaScript (10)
Introduction to JavaScript:Variable, statements, Operators, Comments, constructs, Functions,
expressions,Javascriptconsole,Scope, Events, Strings, String Methods, Numbers, Number
Methods, Dates, Date Formats, Date,Methods,Arrays, Array Methods,Booleans, Comparisons
Method,Constructor,Inheritance,Encapsulation,Abstraction,Polymorphism,JavascriptValidations,
Document Object Model, Document and Events (DOM Manipulation)
HTML DOM: DOM Intro, DOM Methods, DOM Document, DOM Elements, DOM HTML,
DOM CSS,DOM Animations, DOM Events, DOM EventListener, DOM Navigation, DOM
Nodes, DOM Nodelist,Debugging,Type Conversion, Regular expressions, Errors, Debugging
Forms: Forms Validation, Forms API,JS Browser BOM, Window, Screen, Location, History,
Navigator, Popup Alert, Timing, Cookies,JavascriptWindows,Pushing code quality via
JSLinttool,Security in Java Script
Page | 52
jQuery(4)
Basics of jQuery,jQuery selection and events, jQuery Effects,jquery traversal and
manipulation,Data attributes and templates, jQuery Plugins,Jquery / Google Web Toolkit
Practice:
1.Write a Java script to prompt for users name and display it on the screen.
2. Design HTML form for keeping student record and validate it using Java script.
3. Write programs using Java script for Web Page to display browsers information.
4: Validate form page using JavaScript
5: use JQuery effect in page
6. Write a jQuery Code to Find the data passed with the on() method for each element.
7.Find the position of the mouse pointer relative to the left and top edges of the document.
8.Count the number of milliseconds between the two click events on a paragraph
9.Find all the text nodes inside a paragraph and wrap them with an italic tag
AJAX(3)
Design Introduction to Ajax,Web services and Ajax,Ajax using HTML, CSS, JavaScript,Ajax
Framework and DOM,XMLHttpRequest,Ajax Architecture
Working with JSON (5)
JSON – Introduction,Need of JSON,JSON Syntax Rules,JSON Data - a Name and a
Value,JSONObjects,JSONArrays,JSON Uses JavaScript Syntax,JSONFiles,JSON& Security
Concerns, Cross Site Request Forgery (CSRF), Injection
Attacks,JSXMLHttpRequestfunctions,JavaScriptXMLHttpRequest& Web APIs,JSON& Client
Side Frameworks,JSON& Server Side Frameworks,Replacing XML with JSON,JSON
parsing,AJAX using JSON and jQuery
Practice:
1.Create an simple application using AJAX to show the table of numbers given by user at
runtime.
2.Access web service using Ajax and handle using JSON
Page | 53
Module IV: Responsive Web Design (5 hrs)
Introduction
The Best Experience for All Users
• Desktop
• Tablet
• Mobile
Bootstrap
Overview of Bootstrap
Need to use Bootstrap
Bootstrap Grid System, Grid Classes, Basic Structure of a Bootstrap Grid
Typography
Tables, Images, Jumbotron, Wells, Alerts, Buttons, Button Groups, Badges/Labels, Progress
Bars,
Pagination, List Groups, Panels, Dropdowns, Collapse, Tabs/Pills, Navbar, Forms, Inputs
Bootstrap Grids, Grid System, Stacked/Horizontal
Bootstrap Themes, Templates
Practice:
1.Create a responsive website using bootstap
PHP(10):
Introduction to PHP,Working with arrays,Functions,Forms,Handling date and Times,Working
with Files,Session and state management,Database operations from PHP
Practice:
1.Develop student registration web appication using PHP
2.Write a PHP database application that collects comments from users and makes it possible for
users to view all the comments that have been submitted. You will need three files: an HTML
page with a form where the user can enter a comment; a PHP program to process the input from
this form by adding the comment to the database; and a PHP program that displays all the
comments.
Page | 54
Practice:
1.Setup Drupal server and develop a site on it
Practice:
1. Creating XML Document
2.DTD creation
3.Test SQL Injection for student resgistration application
Text/Reference Books
1.Web Technologies: HTML, JAVASCRIPT, PHP, JAVA, JSP, XML and AJAX, Black
Book Kindle Edition,byKogent Learning Solutions Inc.
2.HTML 5 Black Book, Covers CSS 3, JavaScript, XML, XHTML, AJAX, PHP and jQuery,
2ed Kindle Edition,by DT Editorial Services
3.Programming PHP: Creating Dynamic Web Pages, Third Edition, by Kevin Tatroe, O'REILLY
4.Introduction to JavaScript Object Notation: A To-the-Point Guide to JSON kindle Edition by
Lindsay Bassett,O'REILLY
5.Bootstrap: Responsive Web Development by Jake Spurlock, Paperback
Project Work
1.Online Quiz System
2.Online Student feedback System
3.. Online Tutorial System
4.Restaurant Billing System
5.Online MCQ Database Bank System
Page | 55
Operating System Concepts
Code Course Title (Credit) T-P-PJ
CUTM1032 3 1-1-1
Operating System Concepts
Course Objectives
Course Outcomes
COURSE CONTENT
What is an OS, Computer System Organization, OS Design , Major OS Services System Call and
Its Types, Concurrent Programming
Page | 56
Practice:
1.Copy from one file to another using unbuffered I/O system calls
2.Print contents of a directory using system calls to open and read directory contents
3.Infinite loop - kill by sending SIGINT signal through ctrl C or kill command
su,sudo, cat, man,ls,kill, ps, top, more, less, head, tail,cp,rm, info, passwd, chage, ssh(Remote
Login), Changing Login Shell, grep ,lpr, lpq, sort, uniq, file, pipe( Communication between
processes),echo, date, script, tar,bzip2,xz,gzip,which, whereis, locate, who ,w, free
Practice:
4.Gaining Root privilege with su and sudo
5.Archiving and compressing of files
6.Creating user , setting up password and managing password policies
7.Login to remote system through SSH
8.Monitoring Linux process using top and ps
9.Communication between process using pipe
The Hierarchical Filesystem, Directory Files and Ordinary Files , The Working Directory ,Your
Home Directory, Pathnames, Relative Pathnames ,Working with Directories , Access Permissions
,ACLs: Access Control Lists, Hard Links Symbolic Links
Practice:
10.Demonstration of Hierarchical File System in Linux
11.Controlling Access to Files with Linux File System Permission
12.Controlling Access to Files with ACL
Using vim to Create and Edit a File , Introduction to vim Features, Moving the Cursor, Input
Mode, Deleting and Changing Text, Searching and Substituting, Copying, Moving, and Deleting
Text, The General-Purpose Buffer
Page | 57
Practice:
13.Create , Edit, Save and Exit a File
14.Edit a System File with Vim by Using Maximum Editing Feature
About bash , Variables, Array, Operators, Decision Making, Loop Controls, Functions, I/O
redirections
Practice:
15.Write a script to demonstrate decision making and loop control
16.Write a script to demonstrate array and function
17. Write a script to demonstrate I/O redirection
Page | 58
a) FIFO b) LRU c) LFU
Text Books:
1.A Practical Guide to Linux Commands, Editors, and Shell Programming, by Mark G.
Sobell, Prentice Hall, 2013
2.Operating System Concepts, by ABRAHAM SILBERSCHATZ , PETER BAER GALVIN,
GREG GAGNE , Wiley, Ninth Edition, 2013
Sample Projects :
1.Making Your Own Linux Shell
2.Creating Linux Kernel Modules
3.The Dining Philosophers Problem
4.Adding Your Own System Call To Linux Kernel
5.Disk Scheduler
6.Library Management System Using Shell Scripting
Courseware Link : http://courseware.cutm.ac.in/courses/operating-system-concepts/
Page | 59
Semester - III
Software Technology
Code Course Title T-P-Pj (Credit) Prerequisite
CUST2010 Software Technology 0-9-11 Java Technologies
Advanced Web Programming
DOMAIN
CUTM STCU2010 Software Technology 20 0+9+11
CUST2010 Web Services Using JAVA 5 0+4+1
CUST2011 Advanced JAVA Programming 4 0+3+1
CUST2012 Web Programming Using AngularJS 3 0+2+1
CUST2013 Product Development 8 0+0+8
Course Objectives
Develop knowledge-based force to serve the IT industry with the latest technologies.
To explore methods of capturing, specifying, visualizing and analyzing software
requirements.
To learn and explore Spring Framework, Android, AngularJS, GIT.
Able to get jobs in software industry
Course Outcomes
Page | 60
1. CUST2011:Advanced JAVA Programming (0-3-1) (75 hrs)
1.1 Understanding Web Architecture
1.2 Installation and configure java environment.
1.3 Understanding MVC Architecture
1.4 Create GIT repository for version control and teamwork
1.5 Create a web project and define a landing page.
1.6 Create controller using servlet in web project
1.7 Retrieve value from page in controller through the request parameter.
1.8 Establish Connection with database
1.9 Perform CRUD operation
1.10 Present data in JSP page using scriptlet, expression and action tag.
1.11 Declare method and variable in JSP page.
1.12 Transferring control from one resource to another using RequestDispatcher and
ResponseRedirect
1.13 Set and get values in ServletContex and ServletConfig parameter.
1.14 Set and get values in application, session and request attribute.
1.15 Perform session tracking.
1.16 Upload file to the server.
1.17 Working with JSTL
Page | 61
2.23 Implement DML using Spring Data JPA on a single database table
2.24 Implement Query Methods feature of Spring Data JPA
2.24 Implement O/R Mapping using Spring Data JPA
2.25 Implement Hibernate Query Language (HQL) and Native Query
2.26 Explain the need and benefit of Criteria Query
Page | 62
React Redux
Redux saga(Redux middleware)
3.13 What is React Redux, Why React Redux, Install and setup, Presentational vs Container
components
3.14 Understand high order component, Understanding mapStateToProps and
mapDispatchtToProps usage
3.15 Why redux middleware, Available redux middleware choices, What is redux saga, Install
and setup redux saga
Reference Books:
1. Kogent Learning, Java Server Programming Java Ee7 (J2EE 1.7), Black Book
2. Alef Arendsen, Professional Java Development with the Spring Framework
3. Adam Freeman, Pro AngularJS
http://courseware.cutm.ac.in/courses/software_technology/
Page | 63
Cloud Technology
DOMAIN
CUTM CTCU2030 Cloud Technology 18 4--8--6
CUCT2030 AWS Solution Architect (SAA-CO2) 6 2+4+0
CUCT2031 AWS Developer (DVA-CO1) 6 2+4+0
CUCT2032 Project 6 0+0+6
Course Objectives
Course Outcomes
On Premise Data Center , What is Cloud Computing, Cloud Computing Offerings - Public,
Private and Hybrid Cloud, AWS as the Public Cloud IaaS Leader, AWS Global Infrastructure -
Regions and Availability Zones, Elastic Compute Cloud (EC2) Foundation, Create your first EC2
instance, VPC Components - Implied Router and Route Tables,Configuring VPC, IP Addressing
- Internet Gateway - Subnet Types, VPC - Network ACLs and Security Groups, Configuring
Security groups and NACL, VPC Security Scenarios - Applying Security Group and NACLs,
VPC - Network Address Translation – NAT
Practice:
Launching an EC2 instance
Configuring Security groups and NACL
IP Addressing
Subnetting
Page | 64
Module II: Virtual Private Cloud (VPC) (14 Hrs)
VPC Peering, Transit Gateway, VPC Virtual Private Networks (VPN), VPC Direct,
Implementing AWS Direct Connect, Connect Knowledge - Direct Connect Routing and Link
Aggregation Groups (LAGs), Hybrid Connectivity, AWS Direct Connect Gateway, AWS Direct
Connect Limits, AWS VPC, Creating a VPC, VPC Endpoints - Gateway Endpoint, AWS VPC -
VPC Gateway Endpoint, Configuring VPC gateway, Troubleshooting VPC Endpoints and
gateways, AWS VPC - VPC Interface Endpoint, Egress Only Internet Gateway (for IPv6), VPC
Flow log and DHCP Option Sets
Practice:
Configuring VPC
Troubleshooting EC2 and VPC
Creating a VPC
Implementing AWS Direct Connect
Configuring VPC gateway
Troubleshooting VPC Endpoints and gateways
Module III: Elastic Block Store, Elastic Network Interfaces (14 Hrs)
Elastic Block Store Types, EC2 Enhanced Networking and Placement Groups, EC2 Placement
Groups, EC2 Status Checks and Monitoring, EC2 Instance States, EC2 Instance Termination and
Termination Protection, EC2 Instance Metadata and User, EC2 Instance Launch Modes VPC and
EC2, Instance Tenancy Attribute, Elastic Compute Cloud - Elastic Network Interfaces (ENIs,
Elastic Network Interface (ENI) - IP Addressing, NAT instance Source/Destination Check, Public
IPv4 address auto assignment, Configring Elastic Block Store, Monitoring and checking health of
EC2 instances, Elastic Network Interface, Troubleshooting ENI, Configuring and troubleshooting
with EBS
Practice:
Configuring Elastic Block Store
Monitoring and checking health of EC2 instances
Configuring and troubleshooting with EBS
Intoduction, How ELB works , ELB health checks, ELB Cross Zone Load Balancing, ELB
Positioning - Internet-facing vs Internal ELB, Refresher for TCP IP Packet flow, ELB - Security
Group and ELB - Network ACLs, ELB - Layer 4 TCP/SSL Listeners, ELB - Layer 7
HTTP/HTTPS Listeners, Attaching Elastic load bancer to instances, ELB Gealth check and ELB
Security groups, NACL configuration, troubleshooting ELB - Application and Network
Practice:
Attaching Elastic load balancer to instances
ELB Health check
ELB Security groups
NACL configuration
Troubleshooting ELB - Application and Network
Page | 65
Module V: Auto Scaling, Simple Notification Service (10 Hrs)
Auto Scaling Components, Auto Scaling Features, Auto Scaling Availability Zone Rebalance
feature, Adding/Detaching EC2 instances to/from Auto Scaling Groups, Auto Scaling and Elastic
Load Balancing Service, Auto Scaling Health Checks, Simple Notification Service, SNS
Notifications & Merging Auto Scaling groups, Implementing Auto Scaling, Troubleshooting
Autoscaling with new EC2 instances
Practice:
Implementing Auto Scaling
Adding/Detaching EC2 instances to/from Auto Scaling Groups
Auto Scaling health checks
Simple Notification Service
Troubleshooting Autoscaling with new EC2 instances
Introduction to the Service and Mount Targets, AWS EFS - Use Cases,Use in On Premise
Servers,Storage Classes, Pricing, AWS EFS - Data Encryption, EFS Data backup, EFS and AWS
Datasync, Monitoring EFS, AWS FSx for Windows File Server - Introduction, Deployment
options & Encryption, Amazon FSx - Data Protection, Backup/Restore, Access, Monitoring and
Security, Amazon FSx for Lustre, Amazon EFS vs FSx for Windows vs FSx for Lustre, Creating
Elastic File System, Monitoring EFS, Implementing Data Encryption, Setting up AWS FSx
Windows File Server
Practice:
Creating Elastic File System
Monitoring EFS
Implementing Data Encryption
Setting up AWS FSx Windows File Server
Amazon Elastic Map Reduce Introduction, AWS EMR - Clusters, Nodes, and deployment in an
AZ, Amazon Elasticache Introduction, Amazon ElastiCache - Caching Strategies, Amazon
Elasticache for Memcached, Amazon Elasticache for Redis, Amazon CloudFormation,
Implementing AWS EMR, Deployment in Availability Zone, Amazon ElastiCache, Amazon
Elasticache for Redis, Amazon CloudFormation
Practice:
Implementing AWS EMR
Deployment in Availability Zone
Amazon ElastiCache
Amazon Elasticache for Redis
Amazon CloudFormation
Page | 66
AWS Developer
Module I: IAM and EC2 (14 Hrs)
IAM Introduction, IAM Hands-On, EC2, Connect to SSH using Linux / Mac and Windows and
Troubleshooting, Security Groups, Private vs Public vs Elastic IP, Configuring Webserver -
Apache and Tomcat, Elastic Network Interfaces
ELB and ASG: High Availability and Scalability, Elastic Load Balancing (ELB), Classic Load
Balancer (CLB), Application Load Balancer (ALB), Network Load Balancer (NLB), Elastic Load
Balancer - Cross Zone Load Balancing, Elastic Load Balancer - SSL Certificates, Elastic Load
Balancer - Connection Draining, Auto Scaling Groups - Scaling Policies
EBS and EFS: EBS Volume Types Deep Dive, EBS vs Instance Store
RDS ,Aurora and ElastiCache: AWS RDS Overview, RDS Read Replicas vs Multi AZ, RDS
Encryption and Security, Aurora, ElastiCache and its Strategies
Practice:
Launching EC2 instance and Connect to SSH using Linux / Mac and Windows
Configuring Webserver - Apache and Tomcat
Implementing Elastic Load Balancing
Configuring EBS volume
Create database using AWS Aurora
Route 53: EC2 Setup, Route 53 - TTL, CNAME vs Alias, Routing Policy - Simple, Weighted,
Latency Route 53 Health Checks, Routing Policy - Failover, Geolocation, Multi Value
VPC: VPC, Subnets, IGW and NAT, NACL, SG, VPC Flow Logs, VPC Peering, Endpoints,
VPN, DX, VPC Cheat Sheet & Closing Comments, Three Tier Architecture.
AWS CLI, SDK, IAM Roles & Policies: AWS CLI Setup, Configuration on Windows
and Linux, CLI Installation Troubleshooting, Using CLI - EC2, S3, IAM Roles and Policies,
AWS Policy Simulator, AWS CLI Dry RunAWS CLI STS Decode, AWS EC2 Instance
Metadata, AWS CLI Profiles, AWS CLI with MFA, AWS SDK, Exponential Backoff & Service
Limit Increase, AWS Credentials Provider & Chain, AWS Signature v4 Signing
Practice:
Route 53
Create Amazon VPC
AWS CLI Setup and Configuration on Windows and Linux
CLI Installation Troubleshooting
AWS CLI with MFA and AWS SDK
Amazon S3: Amazon S3 - S3 Buckets and Objects, S3 Versioning and Encryption, S3 Security
& Bucket Policies, S3 Consistency Model
S3 and Athena: S3 MFA Delete, S3 Default Encryption, S3 Access Logs, S3 Replication (Cross
Region and Same Region), S3 Pre-signed URLs, S3 Storage Tiers + Glacier, S3 Lifecycle
Policies, S3 Performance, S3 & Glacier Select, S3 Event Notifications, Athena, S3 Lock Policies
& Glacier Vault Lock
Page | 67
CloudFront: CloudFront - CloudFront Caching & Caching, CloudFront Security, CloudFront
Signed URL / Cookies
Practice:
Creation of S3 bucket and uploading of objects to it
S3 Versioning and Encryption
S3 Replication and S3 glacier
Application of CloudFront with S3
ECS, ECR, Fargate - Docker in AWS: ECS, What is Docker, ECS Clusters, ECS Task
Definition, ECS Service, ECS Service with Load Balancers, ECR, Fargate, ECS IAM Deep Dive
& Hands On, ECS Task Placement and Constraints, ECS Auto Scaling
Elastic Beanstalk: AWS Elastic Beanstalk, Beanstalk First Environment, Second Environment,
Beanstalk Deployment Modes, Beanstalk CLI and Deployment Process, Beanstalk Lifecycle
Policy
Beanstalk Extensions, Beanstalk & CloudFormation, Beanstalk Cloning, Beanstalk Migrations,
Beanstalk with Docker, Beanstalk Advanced Concepts, Code Commit, Code Pipeline, Code Build
in VPC, Code Deploy for EC2 and ASG, AWS Code Star
CloudFormation: AWS CloudFormation - Create Stack, Update and Delete Stack, YAML,
Resources, Parameters, Mappings, Outputs, Conditions, Conditions, Intrinsic Functions,
RollBacks, ChangeSets, Nested Stacks & StackSet
Practice:
ECS Service with Load Balancers
ECS Auto Scaling
Elastic Beanstalk CLI and Deployment Process
Applying Code Commit and Code Pipeline
Implementing AWS CloudFormation
Monitoring and Audit: AWS Monitoring, AWS CloudWatch Metrics, Alarms and Logs,
CloudWatch Agent, Logs Metric Filters, CloudWatch Events, EventBridge Overview, X-Ray, X-
Ray: Instrumentation and Concepts, Sampling Rules, APIs, Beanstalk, AWS CloudTrail,
CloudTrail vs CloudWatch vs X-Ray
Integration and Messaging - SQS, SNS and Kinesis: AWS Integration & Messaging, AWS
SQS, Dead Letter Queue, SQS CLI, FIFO Queues, SQS Advanced, AWS SNS, AWS Kinesis,
KCL, Kinesis Security, Firehose and Analytics, SQS vs SNS vs Kinesis, Data Ordering for
Kinesis vs SQS FIFO
Practice:
Monitoring and checking health of the resource
Application of AWS X-Ray
Messing using SNS and SQS
Streaming of Data using AWS Kinesis
Page | 68
Serverless Using Lambda: AWS Lambda, Lambda Synchronous Invocations, Lambda &
Application Load Balancer, AWS Lambda@Edge, Lambda Asynchronous Invocations & DLQ,
Lambda & CloudWatch Events / Event Bridge, Lambda - S3 Event Notifications, Lambda Event
Source Mapping, Lambda Destinations, Lambda Permissions - IAM Roles & Resource Policies,
Lambda Monitoring & X-Ray Tracing, Lambda in VPC, Lambda Function Performance, Lambda
Concurrency, Lambda External Dependencies, Lambda and CloudFormation, Lambda Layers,
Versions and Aliases, CodeDeploy, Limits
Serverless using DynamoDB: DynamoDB - Throughput, Basic APIs, Indexes (GSI + LSI),
Optimistic Concurrency, DAX, Streams, TTL, CLI, DynamoDB Transactions, Session State,
Partitioning Strategies, Conditional Writes, Concurrent Writes & Atomic Writes, Patterns with
S3, Operations and Security
Serverless using API Gateway: API Gateway - API Gateway Stages and Deployment, Canary
Deployments, Integration Types & Mappings, Swagger & Open API, Caching, Usage Plans &
API Keys, Monitoring, Logging and Tracing, Authentication and Authorization, REST API vs
HTTP API vs WebSocket API
Serverless Application Model: SAM, Installing the SAM CLI, Creating first SAM Project,
Deploying SAM Project, API Gateway, DynamoDB, CloudFormation Designer and Application
Repository, Policy Templates, CodeDeploy
Practice:
Creating AWS lambda functions
Lambda Permissions - IAM Roles & Resource Policies
Creating and Maintaining database using DynamoDB
API Gateway configuration
Deploying Serverless Application
Cognito: Cognito, User Pools, Identity Pools, Cognito User Pools vs Cognito Identity Pools,
Sync
Security and Encryption: AWS Security, Encryption 101, KMS, KMS using CLI, KMS
Encryption Patterns and Envelope Encryption, Limits, S3 Security Advanced, SSM Parameter
Store Overview, Secrets Manager, SSM Parameter Store vs Secrets Manager, CloudWatch Logs
Encryption, CodeBuild Security
Practice:
Implementation of AWS Cognito
AWS Key Management Service
Key Management Service Encryption Patterns
Online Resource: http://aws.amazon.com/training/awsacademy
http://aws.amazon.com/awseducate
Project
Locally Debug a Serverless App
Build a Serverless Web Application
Design a database for a mobile app with Amazon DynamoDB
Create a Load Balanced WordPress website
Building serverless applications
Add Voice to Your WordPress Site
Page | 69
Deploy a Python Web App
Migrate a Git Repository to AWS
Build a Drupal Website
Build a Modern Application
Build, Train, and Deploy a Machine Learning Model
Handle Errors in Serverless Applications
Create and Manage a Nonrelational Database
Launch and Configure a LAMP Website
Deploy and Host a ReactJS App
Set Up a Compliant Archive
Host a Static Website
Launch a Linux Virtual Machine
Launch a WordPress Website
Remotely Run Commands on an EC2 Instance
Launch a Windows Virtual Machine
Create and Query a NoSQL Table
Introduction to Deep Learning
Train a Deep Learning model
Create a machine learning model automatically with Amazon SageMaker Autopilot
Setting up a Document Database With Amazon DocumentDB (with MongoDB
compatibility) and AWS Cloud9
Detect, Analyze, and Compare Faces
Create an AWS DeepLens Project
Provision Desktops in the Cloud
Publish Amazon SNS Messages Privately
Deploy WordPress with Amazon RDS
Create and Manage a Nonrelational Database
Create an Audio Transcript
Gate Process for Project
Gate 0: Planning
Gate 1: Analysis
Gate 2: Design
Gate 3: Implementation
Gate 4: Testing
Gate 5: Deployment
Course Outline Prepared by: Prof. K.V. Kalyan/ Prof. Raj Kumar Mohanta
Page | 70
Gaming and Immersive Learning (AR & VR)
DOMAIN
CUTM ARCU2060 Gaming and Immersive Learning (AR & VR) 20 5+5+14
CUAR2060 Introduction to Gaming & Simulation 2 1+1+0
CUAR2061 Game Assets & Game Objects 3 1+1+1
CUAR2062 Building Game Environment 3 1+1+1
CUAR2063 Game Animation, Scripting & UI 3 1+1+1
CUAR2064 Binary Deployment and Cross-Platform Controls 3 1+1+1
CUAR2065 Project 10 0+0+10
Course Objectives
Course Outcomes
Video Game Platforms and Genres, Describing the Game Production Pipeline, Game
Development Jobs and Roles, The Game Design Document, The Technical Design Document,
Getting Started in Unity, Creating a New Unity Project, Using the Unity Asset Store, Source
Control for Working in Team.
Page | 71
Module III: The Game Engine User Interface (2+2)
Introduction to the Unity Editor Interface, Analyzing the Unity Editor User Interface, Utilizing
the Unity Editor User Interface, Navigating the Scene View Window, Utilizing the Game View
Window, Navigating the Hierarchy Window, Using the Inspector Window, Managing Assets in
the Project Window, Searching and Filtering in the Project Window, Organizing the Scene with
Layers.
Creating and Modifying Game Objects, Defining Unity Editor Units, Describing Assets in the
Production Pipeline, Review: Defining an Asset, Organizing Assets in the Unity Editor, Defining
a Game Object.
Creating Unity-native Game Objects, Manipulating Game Objects in the Unity Editor, Describing
What is a Unity-native Game Object, The Role of Components in the Unity Editor, Defining
Prefabs and Scene Structure, Defining the Role of the Prefab in Unity, Creating and Saving a
Scene.
Importing Assets into a Project, Importing and Configuring a 3D Model, Importing Textures for
Use in Materials, Importing FBX Files with Animation, Working with Sprites, Introduction to
Sprites in Game Development.
Best Practices in 3D Content Creation, Modelling for Games, Animating for Games, UV
Mapping and Texturing Techniques, and Exporting to Unity, Importing into Unity, Materials in
Unity, The Interaction of Lighting and Materials.
Exploring other Material Types, Analyzing the Benefits of Customer Shaders, Creating the
Materials for Zombie Toys Props, Duplicating and Modifying Materials, Case Studies in Material
Creation, Managing and Using Textures in the Unity Editor, Texturing for Game Development,
Optimization and Reuse of Textures.
Page | 72
Module III: Assembling the Game Level (2+2)
Branching and Hierarchies, Creating Hierarchies in Unity, Using Empty Game Objects as Pivots,
Introduction to Physics in Unity, Understanding the Physics System in Unity, Introduction to the
Rigid body Component.
Creating the Colliders for Zombie Toys Props, Introduction to Game Level Design, Introduction
to Game Level Design, The Level Design in Zombie Toys, Placing Objects in a Scene, Importing
the Prop Prefabs into the Scene, Cloning the Stars, Creating the Level Boundaries.
Creating Cookies to Shape Lights, Faking Shadows for Better Performance, Benefits of Faking
Shadows in Games, Utilizing Painted Shadows, Using Projectors to Project Shadow Cookies,
Lighting the Zombie Toys Game, Lighting the Zombie Toys Scene, Lighting Variations for
Changing the Mood.
Light Baking in Video Games, Introduction to Light Baking in Video Games, Setting Objects to
Participate in Light Baking, Marking Objects as Static for Light Baking, Creating UV
Coordinates for Light Baking, Baking Lighting, Continuous and Manual Light Baking, Placing
Light Probes for Moving Objects, Creating Reflection Probes, Baking the Lighting in Zombie
Toys, Creating the Light Probes in Zombie Toys.
Creating a Player Controller, Examining Why to Use a Custom Controller, Creating the
Player Controller Game Object, Adding a Game Manager, Explaining the, Purpose of the Game
Manager, Making the Controller Functional, Adding Scripts for Behavior, Configuring the
Camera, Creating the Sheep Ally, Building the Sheep Ally From a Model, Creating the Dog Ally,
Building the Dog Ally From a Model.
Creating an Enemy, Designing the Enemy Behaviors, Creating the First Enemy Character,
Creating the Enemy Animator Controller, Creating Additional Enemies, Creating the Zombear
Page | 73
Enemy, Creating the Zombie Duck Enemy, Creating the Other Enemies, Integrating Enemies into
the Game, Placing the Spawn Points, Spawning the Enemies.
Analyzing Existing Particle Effects, Setting Up the Interface for Effects, Case Study: Developing
the Lightning Attack, Overview of the Lightning Attack, Building the Lightning Attack Hit,
Building the Lightning, Attack Emitter, Building the Lightning Bolt, Integrating the Lightning
Attack into the Game.
Intro to the Particle Systems in the Unity Editor, Examples of Unity Particles in Video Games,
the Role of the Effects Artist in Video Games, Comparing Game Effects with Other Media, And
Production Best Practices for Particle Systems.
Developing the Frost Attack, Introduction to the Frost Attack, Building the Frost Debuff,
Building the, Frost Attack Emitter, Building the Frost Cone Effect, Integrating the Frost Attack
into the Game, Case, Study: Developing the Stink Bomb Attack, Introduction to the Stink Bomb
Attack, Creating the Stink Bomb Hit Effect.
Developing the Slime Attack, Introduction to the Slime Attack, Creating the Slime Hit Effect,
Creating the Slime Debuff, Creating the Slime Attack Reticle, Building the Slime Attack Emitter,
Building the Slime Projectile, Integrating the Slime Attack into the Game, Finalizing Player
Attacks, Adding the Ally Manager.
Page | 74
Module II: Bringing Animation into the Game (1+2)
Introduction to Designing the User Interface, Assessing User Interface Design Needs, Examining
the UI Tools in the Unity Editor, Creating a User Interface, Investigating the Canvas
Functionality, Utilizing the Power of the Rect Transform, Creating a UI Button, Creating a UI
Image, Creating UI Text, Creating Interaction in the UI with Events.
The “while” Loop, The “for” Loop, Creating Custom Methods, The Benefits of Using Custom
Methods, Utilizing Arguments, Utilizing Method Return Types, Coroutines, Introduction to
Coroutines, Accessing Components via Script, Utilizing the GetComponent() Function, Common
Code Cases, Common Pieces of Zombie Toys Code..
Intro to the Camera and Player Selection Behaviors, Analyzing the Player Selection System.
Making the Player Selectable, Adding Another Player, Finalizing the Camera.
Page | 75
Configuring the Camera Animator Controller, Applying Behavior to the Camera, Adding
Character Selection Spotlights.
Building the Game, Introduction to the Build Process, Adjusting the Player Settings, Building the
Game.
Legal Considerations for Your Game, Unity Services, Unlocking the Unity Platform Potential,
Surveying Unity Services
Different Input types like, Mobile, WebGL, OpenVR & other unity supported platforms.
Modifying Zombie Toys for Mobile, Introduction to Mobile Development in Unity. Changing the
Build Platform to Mobile, Adding the Mobile Interface UI, Implementing Mobile Input
Behaviors.
Text Books:
1) Jared Halpern, Developing 2D Games with Unity: Independent Game Programming with C#,
Apress, Final Edition
2) Jon Manning, Paris Buttfield-Addison, and Tim Nugent, Unity Game Development
Cookbook: Essentials for Every Game, O’Reilly Media, Inc.
3) Reference Books:
4) Jason Gregory, Game Engine Architecture, CRC Press, Third Edition
5) Linowes Jonathan, Unity Virtual Reality Projects, Packt, Second Edition
Note: 1 credit theory=10 hrs lecture, 1 credit practice/project=12.5 hrs lab/workshop/field work
in a semester
Page | 76
Data Science and Machine Learning
Code Course Title T-P-Pj (Credit) Prerequisite
MLCU2000 Data Science and Machine Learning 2-9-15 NIL
Course Objectives
Course Outcomes
Concept Required:
Page | 77
Unsupervised Learning Algorithms
3.3 Feature extraction and selection: -
Principal Component Analysis (PCA)
Linear Discriminant Analysis (LDA)
Different Feature Selection Techniques / Algorithms
3.4 Model building: -
Regression (Linear, Polynomial, multiple, logistic), Decision Tree, Random Forest.
Artificial Neural Network (Feed Forward Neural Network, Gradient Descent, Back
Propagation Neural Network).
Convolutional Neural Network
Other Pretrained Models
3.5 Performance measures: -
Perdition: Root Mean Square Error (RMSE), Average Percentage Error (APE), Mean
Average Percentage Error (MAPE).
Classification: Confusion Matrix (TN, TP, FP, FN), Sensitivity, Specificity, Gmean, F-
score, Overall Accuracy, (Receiver Operating Characteristic) ROC Curve. Area under
Curve (AUC)
3.6 Reading and Writing Research Articles
Concept Required:
Image Pre-processing:-
Accessing individual pixels using matrix concept
Image resize, grey scale conversion, Colour channel splitting
Histogram equalisation (CLACH).
Page | 78
Creation of Feature Matrix by combining Extracted Features: -
Matrix flattening, Horizontal stacking, Vertical stacking, padding.
Splitting the feature matrix (training/testing) and labelling.
Classification algorithms: -
Support vector machine (SVM)
Different kernels of SVM (linear, polynomial, radial basis function).
Gradient Boosting (GB)
Multi-layer Perceptron (MLP), deep learning.
Linear Regression:-
Problem Formulation
Parameter Estimation
Bayesian Linear Regression
Maximum Likelihood as Orthogonal Projection
Page | 79
Kernels
Numerical Solution
Practice:
Curve Fitting in Python.
Exploratory Data Analysis in Python.
Kernel Density Estimation in Python.
Probability Distribution Function Plotting in Python.
Cumulative Distribution Function Plotting in Python.
Dimensionality Reduction and Feature Extraction in Python.
References:
1. Mathematics for Machine Learning by Marc Peter Deisenroth, A. Aldo Faisal, Cheng
Soon Ong.
2. https://youtube.com/playlist?list=PLLy_2iUCG87D1CXFxE-SxCFZUiJzQ3IvE
Page | 80
5 Thingspeak for IoT
Getting and posting Data to IoT Cloud using ESP devices
Posting Data to IoT Cloud using Raspberry Pi
6 ThingWorx for Industrial IoT
Building Dashboard on Thingworx platform
Binding the senor value to the dashboard
Text Book:
1. Minteer, Andrew. Analytics for the Internet of Things (IoT). Packt Publishing Ltd, 2017.
Reference Books:
1. Geng, Hwaiyu, ed. Internet of things and data analytics handbook. John Wiley & Sons,
2017.
UNIT 2:
Fourier Analysis of Digital Video Signals: Spatial and Temporal resolution, Fourier Analysis of
Digital Video Signals, Spatial-Temporal Sampling: Temporal Frequency Response and Flicker
Perception. Spatial Frequency Response, Spatiotemporal Frequency Response, Smooth Pursuit
Eye Movement
Practice:
Applying fourier transformation on video
Time domain analysis
Frequency domain Analysis
UNIT 3:
Digital Video Formats: Significance of Video Formatting, Data rate and bandwidth trade-off,
File Formats: MP4, MOV, WMV, AVCHD, FLV, AVI, WebM, MKV
Digital Video Compression Standards: Digital Video Compression Metrics, Digital Video
Storage Precisions, Significance of Video compression, Video Compression Codec’s: Motion
JPEG, JPEG 2000, H.264/MPEG-4 AVC, VP8, HEVC, H.265 High Efficiency Video Codec.
Practice:
Conversion of video files from one format to another.
Using Motion JPEG Codec
Page | 81
Using MPEG-4 Codec
Using H.265 Codec
UNIT 4:
Digital Video Editing Basics: Video Editing Types- Online, Offline, Linear, Non-linear,
Assemble, Insert, Rough-cut, Video Shot Transition Effects: Cut, Fade, Wipe, Dissolve, B-roll,
Video Shot Boundary Detection Methods: pixel differences, statistical differences, histogram
comparisons, edge differences and motion vectors. Video Shot Detection Performance Metrics:
ROC Curves, Recall, Precision, F-Measure
Practice:
Video Shot Detection using pixel Difference
Video Shot Detection using Histogram based methods
Video Shot Detection using Edge based methods
Video Shot Detection using Motion Vectors
Project List
1. Creating a VIDEO object detection system
2. Vehicle detection in Videos using OpenCV and Python
3. Detecting faces in live camera feed with identification of the person.
TEXT BOOK:
Project (0-0-4)
Internship (0-0-4)
Page | 82
Android App Development
Code Course Title (Credit) T-P-PJ
CUTM1036 6 2-2-2
Android App Development
Course Objectives
Course Outcomes
COURSE CONTENT
Module-I: Introduction to Android (10 Hrs)-
Follow the concepts of Android; understand Features and Installation of Android Studio and
Android Virtual Devices.
Page | 83
Practice -
Create Applications; understand Activities and Layouts of Android, and the Activity Lifecycle.
Practice –
Create Project by Implementing deferent Layouts
Create an activity and implement the Activity Lifecycle
Understand how data passing using Intent, Navigation between two Activity
Practice -
Receive data from the user by Edit Text and pass the data to another activity using intent.
Practice –
Retrieve the device’s battery info. And show in a project
Use Broadcast Receiver & Content Provider in a Project
Practice –
Retrieve data from a given URL and arrange them in a recycler view/ List View.
Practice –
Make one user input Form store the information in a separate Activity, Convert that Activity
into a PDF format and store the PDF in device’s internal storage.
Network call/ API call using Retrofit, OkHttp. Data (XML/JSON) Parsing &
Understand & Implement SQLite database, Firebase. Saving Data in the database.
Page | 84
Practice –
Text Book(s):
1. Head First Android Development Book by David Griffiths and Dawn Griffiths
2. http://yuliana.lecturer.pens.ac.id/Android/Buku/professional_android_4_application_devel
opment.pdf
Online Reference (s):
1. https://developer.android.com/guide
2. https://developer.android.com/docs
3. https://www.tutorialspoint.com/android/index.htm
Software Tool (s):
Android Studio
Page | 85
Information Security
Course Objectives
The objective of this course is to focus on the models, tools, and techniques for enforcement
of security.
Students will learn security from multiple perspectives.
Course Outcomes
Course content
Practice: -
Study the use of network reconnaissance tools like WHOIS, dig, traceroute, nslookup to
gather information about networks and domain registrars.
Weak security configurations, Personnel issues, Baseline deviation, License compliance violation
(availability/integrity), Asset management, Authentication issues.
Practice: -
Study of packet sniffer tools like wireshark, ethereal, tcpdump etc. Use the tools to do the
following 1. Observer performance in promiscuous as well as non-promiscous mode. 2. Show
that packets can be traced based on different filters.
Page | 86
Module III: Antivirus and Firewalls (8 Hrs)
Antivirus, File integrity check, Host-based firewall, Application whitelisting, Removable media
control, Advanced malware tools , Patch management tools , UTM , DLP , Data execution
prevention , Web application firewall , Connection methods , Mobile device management
concepts , Enforcement and monitoring , Deployment models , Protocols.
Practice: -
Practice: -
Cybercrimes and data breaches, Licensing and intellectual property requirements, Import/export
controls, Trans-border data flow, Privacy policy requirements, Identify threats and vulnerabilities.
Practice: -
Download and install nmap. Use it with different options to scan open ports,performOS
fingerprinting, do a ping scan, tcp port scan, udp port scan, etc.
Practice: -
Federated Role Based Access Control (RBAC), Rule-based access control, Mandatory Access
Control (MAC), Discretionary Access Control (DAC), Attribute Based Access Control (ABAC)
Page | 87
Practice: -
Text Books:
Page | 88
Machine Learning using Python
Code Course Title Credit T-P-PJ
Course Objectives
● Understand the meaning, purpose, scope, stages, applications, and effects of ML.
● Explore important packages of python, such as numpy, scipy, OpenCV and scikit-learn.
Course Outcomes
COURSE CONTENT
● Linear Regression
● Non-linear Regression
● Model Evaluation in Regression
● Evaluation Metrics in Regression Models
● Multiple Linear Regression
● Feature Reduction using PCA
● Implementation of regression model on IRIS datasets.
Page | 89
Module 3 - Classification (24 hrs)
References:
Text Book:
1. EthemAlpaydin, Introduction to Machine Learning, Second Edition,
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=12012.
Web Resource:
https://towardsdatascience.com/beginners-guide-to-machine-learning-with-python-b9ff35bc9c51
Page | 90
Mathematical Problem Solving
Code Course Title (Credit) T-P-PJ
Course Objectives
Course Outcomes
COURSE SYLLABUS:
Module I: Introduction
Mathematics in Computer Science, Problem Solving and Algorithms, Data Structures and
Algorithms, Algorithm Efficiency and Importance.
Page | 91
Module IV: Brute Force and Exhaustive Search
Selection Sort and Bubble Sort, Sequential Sort and Brute-Force String Matching, Exhaustive
Search, Depth-First Search and Breadth-First Search
Merge Sort, Quick Sort, Binary Tree Traversal, Closest-Pair and Convex-Hull Problems
Dynamic programming- Floyd ‘s algorithm, Optimal Binary Search Trees, Knapsack Problem
and Memory functions.
Text Books:
1. Fundamentals of Computer Algorithms, 2nd Edition, Ellis Horowitz, Sartaj Sahni and S.
Rajasekharan
2. Introduction to the Design and Analysis of Algorithms, Anany Levitin
Reference Books:
Page | 92
DotNET Programming
Course Objectives
Course Outcomes
Introduction to .NET Framework, Architecture of .NET framework– BCL (Base Class Library),
CLR(Common Language Runtime), . NET Languages – introduction, Types of applications
Page | 93
supported by .NET Technology, Managed code, compilation to intermediate language, Just-In-
Time compilation,garbage collection, assemblies and the GAC
Module-2: C# Basics
Data Types, Variables & Constants, Operators in C#, Arithmetic Operators, Prefix and
Postfix notation, Assignment Operators, Relational Operators, Other Operators, Operators
precedence, Flow Control and Conditional Statements if-else statement, switch statement, Loops
in C#, for loop, do-while loop, Array in C#, foreach Loop.
Concept of a class, Objects, Fields, Methods, Instantiating the class, Accessing the members of a
class, Access modifiers, Properties, Static members of the class, Constructors, Desturctors,
Overloading Constructors, Value types (out & ref keywords) ,sealed keyword,Inheritance,
Polymorphism, Overriding the methods, the new keywords, Type casting, is and as keywords,
Boxingand Un-boxing, Structures, Enumeration, Nested Classes, Abstract classes, Exception
handling, Delegates & Events
Module-5: ASP.NET - I
Overview of ASP.NET framework, ASP.NET Page – layout, lifecycle, Stages in Web Forms
Processing, Introduction to Server Controls, HTML Controls, Validation Controls, User control,
Data Binding Controls, Configuration, Session State, Adding controls to a web form, Buttons,
Text Box , Labels, Checkbox, Radio Buttons, List Box, etc, Master Pages, themes and skins
Module-6: ASP.NET – 2
Working with DataSets, Managed Providers, Data Binding, Typed DataSets, Working with Data
Reader, Transactions
Reporting, Web Services – overview, creation and calling, Packaging and Deploying ASP.NET
Applications
Page | 94
Reference Books
1.Andrew Troelsen, Philip Japikse, : C# 6.0 and the .NET 4.6 Framework, Apress, 2017.
2.Black Book: .NET 4.5 Programming (6-in-1) covers .NET 4.5 Framework, Visual Studio 2012,
C#2012, ASP.NET 4.5, VB 2012, and F# 3.0, Dreamtech Press, 2013.
4. G. Andrew Duthie, “ASP.NET programming with Microsoft Visual C#.NET Step by Step”,
version 2003, Prentice-Hall of India.
Page | 95
NodeJS
Course Objectives
Course Outcomes
Functions, Buffer, Module, Modules Types, Core Modules, Local Modules, Modules Exports
What is NPM, Installing Packages Locally, Installing package globally, Adding dependency in
package Json, Updating packages,
Read File, Writing a File, Opening a File, Deleting a File, Writing a file asynchronously, Other
I/O Operations
Module 7: Events
Page | 96
CLOUD SECURITY ASSOCIATE
Course Outline
Code Course Title T-P-Pj (Credit) Prerequisite
Course Objectives
To familiar with Azure Security fundamentals and to gain necessary skills to become certified
for/with Microsoft Azure Security Technologies
Learning Outcomes
Module 1: Azure Security Technologies (AZ 500 Part 1) : Secure your cloud apps (2 Hours)
Module 2: Azure Security Technologies (AZ 500 Part 2) : Implement Resource Management
Security (3 Hours)
Introduction, Protect against security threats by using Azure Security Center, Detect and respond to
security threats by using Azure Sentine, Store and manage secrets by using Azure Key Vault, Exercise -
Manage a password in Azure Key Vault, Host your Azure virtual machines on dedicated physical servers
by using Azure Dedicated Host, Knowledge check
Module 3: Azure Security Technologies (AZ 500 Part 3) : Implement Network Security (4 Hours)
Introduction, What is defense in depth?, Protect virtual networks by using Azure Firewall, Protect from
DDoS attacks by using Azure DDoS Protection, Filter network traffic by using network security groups,
Exercise - Configure network access to a VM by using a network security group, Combine Azure services
to create a complete network security solution, Knowledge check
Module 4: Azure Security Technologies (AZ 500 Part 4) : Implement Host Security (2 Hours)
Page | 97
Module 5: Azure Security Technologies (AZ 500 Part 5) : Manage Identity and Access (4 Hours)
Introduction, Protect against security threats by using Azure Security Center, Detect and respond to
security threats by using Azure Sentinel, Store and manage secrets by using Azure Key Vault, Exercise -
Manage a password in Azure Key Vault, Host your Azure virtual machines on dedicated physical servers
by using Azure Dedicated Host, Knowledge check
Module 6: Azure Security Technologies (AZ 500 Part 6) : Manage Security Operations (4 Hours)
Introduction, Protect against security threats by using Azure Security Center, Detect and respond to
security threats by using Azure Sentinel, Store and manage secrets by using Azure Key Vault, Exercise -
Manage a password in Azure Key Vault, Host your Azure virtual machines on dedicated physical servers
by using Azure Dedicated Host, Knowledge check
Page | 98
CLOUD SECURITY FOUNDATION
Course Outline
Code Course Title T-P-Pj (Credit) Prerequisite
Course Objectives
This course is designed to help students gain a foundational knowledge of cybersecurity principles
and services for cloud computing through a guided hands-on approach.
Course Outcomes
COs Course Outcomes Mapping COs with POs
(High-3, Medium-2, Low-1)
CO1 Design and deploy a secure application PO1 (3)
on AWS
Course prerequisites and objectives, Course overview, AWS Certified Security – Specialty certification,
Activity: AWS Documentation Scavenger Hunt
Security in the AWS Cloud, Security design principles, shared responsibility model, Activity: Shared
Responsibility Model, Module 2 Wrap-up Video, Assignment, Module 2 Knowledge Check
Introduction to Securing Access to Cloud Resources, IAM fundamentals, authenticating with IAM,
Authorizing with IAM, Examples of authorizing with IAM, Demo: Amazon S3 Cross-Account Resource-
Based Policy, Additional authentication and access management services, Using AWS Organizations, Lab
3.1: Using Resource-Based Policies to Secure an S3 Bucket, Introduction to Securing Your Infrastructure,
Structure of a three-tier web application, Using a VPC, Setting up public and private subnets and internet
protocols, Using AWS security groups, Using AWS network ACLs, Using AWS load balancers, Pulling it
all together, Protecting your compute resources, Module 3 Wrap-up video, Assignment, Lab 3.2: Securing
VPC Resources by Using Security Groups, Module 3 Knowledge Check
Protect data at rest, Amazon S3 protection features, Protection through encryption, Protect data in transit,
Best practices for protecting data in Amazon S3, Additional data protection services, Module 4 Wrap-up
Page | 99
video, Assignment, Lab 4.1: Encrypting Data at Rest by Using AWS KMS, Assignment, Module 4
Knowledge Check
Introduction to Logging and Monitoring, Importance of logging and monitoring, Capture and collect,
AWS services with built-in logs, Monitor and report, Best practices for logging and monitoring,
Additional AWS services for logging and monitoring, Demo: Security Hub, Module 5 Wrap-up video,
Assignment, Lab 5.1: Monitoring and Alerting with CloudTrail and CloudWatch, Module 5 Knowledge
Check
Introduction to Responding to and Managing an Incident, Identifying an incident, AWS services that
support the discovery and recognition phase, AWS services that support the resolution and recovery phase,
Best practices for handling an incident, Module 6 Wrap-up video, Assignment, Lab 6.1: Remediating an
Incident by Using AWS Config and Lambda, Assignment, Module 6 Knowledge Check
Page | 100