Program Structure for Third Year Computer Engineering
UNIVERSITY OF MUMBAI (With Effect from 2021-2022)
Semester VI
Teaching Scheme
Credits Assigned
Course (Contact Hours)
Course Name
Code Pract.
Theory Theory Pract. Total
Tut.
System Programming &
CSC601 3 -- 3 -- 3
Compiler Construction
Cryptography & System
CSC602 3 -- 3 3
Security
CSC603 Mobile Computing 3 -- 3 -- 3
CSC604 Artificial Intelligence 3 -- 3 -- 3
Department Level Optional
CSDLO601x 3 -- 3 -- 3
Course -2
System Programming &
CSL601 -- 2 -- 1 1
Compiler Construction Lab
Cryptography & System
CSL602 -- 2 -- 1 1
Security Lab
CSL603 Mobile Computing Lab -- 2 -- 1 1
CSL604 Artificial Intelligence Lab -- 2 -- 1 1
Skill base Lab Course:
CSL605 -- 4 -- 2 2
Cloud Computing
CSM601 Mini Project Lab: 2B -- 4$ -- 2 2
Total 15 16 15 08 23
Examination Scheme
Term Pract.
Theory Total
Work &oral
End
Course Exam.
Course Name Sem
Code Internal Assessment Duration
Exa
(in Hrs)
m
Test Test
Avg
1 2
System Programming &
CSC601 20 20 20 80 3 -- -- 100
Compiler Construction
Cryptography & System
CSC602 20 20 20 80 3 -- -- 100
Security
CSC603 Mobile Computing 20 20 20 80 3 -- -- 100
CSC604 Artificial Intelligence 20 20 20 80 3 -- -- 100
Department Level Optional
CSDLO601x 20 20 20 80 3 -- -- 100
Course -2
System Programming &
CSL601 -- -- -- -- -- 25 25 50
Compiler Construction Lab
Cryptography & System
CSL602 -- -- -- -- -- 25 -- 25
Security Lab
CSL603 Mobile Computing Lab -- -- -- -- -- 25 - 25
CSL604 Artificial Intelligence Lab 25 25 50
Skill base Lab Course:
CSL605 -- -- -- -- -- 50 25 75
Cloud Computing
CSM601 Mini Project :2B -- -- -- -- -- 25 25 50
Total -- -- 100 400 -- 175 100 775
Course Code: Course Title Credit
CSC601 System Programming and Compiler Construction 3
Prerequisite: Theoretical computer science, Operating system. Computer Organization and
Architecture .
Course Objectives:
1 To understand the role and functionality of various system programs over application
programs.
2 To understand basic concepts, structure and design of assemblers, macro processors, linkers
and loaders.
3 To understand the basic principles of compiler design, its various constituent parts,
algorithms and data structures required to be used in the compiler.
4 To understand the need to follow the syntax in writing an application program and to learn
how the analysis phase of compiler is designed to understand the programmer ‘s
requirements without ambiguity
5 To synthesize the analysis phase outcomes to produce the object code that is efficient in
terms of space and execution time
Course Outcomes: On successful completion of course, learner will be able to
1 Identify the relevance of different system programs.
2 Explain various data structures used for assembler and microprocessor design.
3 Distinguish between different loaders and linkers and their contribution in developing
efficient user applications.
4 Understand fundamentals of compiler design and identify the relationships among different
phases of the compiler.
Module Content Hrs
1 Introduction to System Software 2
1.1 Concept of System Software, Goals of system software, system program
and system programming, Introduction to various system programs such
as Assembler, Macro processor, Loader, Linker, Compiler, Interpreter,
Device Drivers, Operating system, Editors, Debuggers.
2 Assemblers 7
2.1 Elements of Assembly Language programming, Assembly scheme, pass
structure of assembler, Assembler Design: Two pass assembler Design
and single pass Assembler Design for X86 processor, data structures used.
3 Macros and Macro Processor 6
3.1 Introduction, Macro definition and call, Features of Macro facility:
Simple, parameterized, conditional and nested. Design of Two pass macro
processor, data structures used.
4 Loaders and Linkers 6
4.1 Introduction, functions of loaders, Relocation and Linking concept,
Different loading schemes: Relocating loader, Direct Linking Loader,
Dynamic linking and loading.
5 Compilers: Analysis Phase 10
5.1 Introduction to compilers, Phases of compilers:
Lexical Analysis- Role of Finite State Automata in Lexical Analysis,
Design of Lexical analyzer, data structures used.
Syntax Analysis- Role of Context Free Grammar in Syntax analysis,
Types of Parsers: Top down parser- LL(1), Bottom up parser- SR Parser,
Operator precedence parser, SLR.
Semantic Analysis, Syntax directed definitions.
6 Compilers: Synthesis phase 8
6.1 Intermediate Code Generation: Types of Intermediate codes: Syntax
tree, Postfix notation, three address codes: Triples and Quadruples,
indirect triple. Code Optimization: Need and sources of optimization,
Code optimization techniques: Machine Dependent and Machine
Independent. Code Generation: Issues in the design of code generator,
code generation algorithm. Basic block and flow graph.
Textbooks:
1 D. M Dhamdhere: Systems programming and Operating Systems, Tata McGraw Hill,
Revised Second Edition
2 A. V. Aho, R. Shethi, Monica Lam, J.D. Ulman: Compilers Principles, Techniques and
Tools, Pearson Education, Second Edition.
3 J. J. Donovan: Systems Programming Tata McGraw Hill, Edition 1991
References:
1 John R. Levine, Tony Mason & Doug Brown, Lex & YACC, O ‘Reilly publication, second
Edition
2 D, M .Dhamdhere ,Compiler construction 2e, Macmillan publication, second edition .
3 Kenneth C. Louden ,Compiler construction: principles and practices, Cengage Learning
4 Leland L. Beck, System software: An introduction to system programming, Pearson
publication, Third Edition
Useful Links for E-resources:
1 [Link]
2 [Link]
Assessment:
Internal Assessment:
Assessment consists of two class tests of 20 marks each. The first -class test is to be conducted
when approx. 40% syllabus is completed and the second-class test when an additional 40%
syllabus is completed. Duration of each test shall be one hour.
End Semester Theory Examination:
1 Question paper will comprise a total of six questions.
2 All question carries equal marks
3 Questions will be mixed in nature (for example supposed Q.2 has part (a) from module 3
then part (b) will be from any module other than module 3)
4 Only Four questions need to be solved.
5 In question paper weightage of each module will be proportional to number of respective
lecture hours as mentioned in the syllabus.
Course Code: Course Title Credit
CSC602 Cryptography & System Security 3
Prerequisite: Computer Networks
Course Objectives:
1 To introduce classical encryption techniques and concepts of modular arithmetic and
number theory.
2 To explore the working principles and utilities of various cryptographic algorithms
including secret key cryptography, hashes and message digests, and public key algorithms
3 To explore the design issues and working principles of various authentication protocols, PKI
standards and various secure communication standards including Kerberos, IPsec, and
SSL/TLS.
4 To develop the ability to use existing cryptographic utilities to build programs for secure
communication
Course Outcomes:
1 Understand system security goals and concepts, classical encryption techniques and acquire
fundamental knowledge on the concepts of modular arithmetic and number theory
2 Understand, compare and apply different encryption and decryption techniques to solve
problems related to confidentiality and authentication
3 Apply different message digest and digital signature algorithms to verify integrity and
achieve authentication and design secure applications
4 Understand network security basics, analyse different attacks on networks and evaluate the
performance of firewalls and security protocols like SSL, IPSec, and PGP
5 Analyse and apply system security concept to recognize malicious code
Module Content Hrs
1 Introduction - Number Theory and Basic Cryptography 8
1.1 Security Goals, Attacks, Services and Mechanisms, Techniques. Modular
Arithmetic: Euclidean Algorithm, Fermat‘s and Euler‘s theorem
1.2 Classical Encryption techniques, Symmetric cipher model, mono-
alphabetic and polyalphabetic substitution techniques: Vigenere cipher,
playfair cipher, Hill cipher, transposition techniques: keyed and keyless
transposition ciphers
2 Symmetric and Asymmetric key Cryptography and key Management 11
2.1 Block cipher principles, block cipher modes of operation, DES,
Double DES, Triple DES, Advanced Encryption Standard (AES), Stream
Ciphers: RC4 algorithm.
2.2 Public key cryptography: Principles of public key cryptosystems- The
RSA Cryptosystem, The knapsack cryptosystem
2.3 Symmetric Key Distribution: KDC, Needham-schroeder protocol.
Kerberos: Kerberos Authentication protocol, Symmetric key agreement:
Diffie Hellman, Public key Distribution: Digital Certificate: X.509, PKI
3 Cryptographic Hash Functions 3
3.1 Cryptographic hash functions, Properties of secure hash function, MD5,
SHA-1, MAC, HMAC, CMAC.
4 Authentication Protocols & Digital Signature Schemes 5
4.1 User Authentication, Entity Authentication: Password Base, Challenge
Response Based
4.2 Digital Signature, Attacks on Digital Signature, Digital Signature Scheme:
RSA
5 Network Security and Applications 9
5.1 Network security basics: TCP/IP vulnerabilities (Layer wise), Network
Attacks: Packet Sniffing, ARP spoofing, port scanning, IP spoofing
5.2 Denial of Service: DOS attacks, ICMP flood, SYN flood, UDP flood,
Distributed Denial of Service
5.3 Internet Security Protocols: PGP, SSL, IPSEC. Network security: IDS,
Firewalls
6 System Security 3
6.1 Buffer Overflow, malicious Programs: Worms and Viruses, SQL injection
Textbooks:
1 William Stallings, “Cryptography and Network Security, Principles and Practice”, 6th
Edition, Pearson Education, March 2013
2 Behrouz A. Ferouzan, “Cryptography & Network Security”, Tata McGraw Hill
3 Behrouz A. Forouzan & Debdeep Mukhopadhyay, “Cryptography and Network
Security” 3rd Edition, McGraw Hill
Referecebooks:
1 Bruce Schneier, “Applied Cryptography, Protocols Algorithms and Source Code in C”,
Second Edition, Wiley.
2 Atul Kahate, “Cryptography and Network Security”, Tata McGraw-Hill Education, 2003.
3 Eric Cole, “Network Security Bible”, Second Edition, Wiley, 2011.
Assessment:
Internal Assessment:
Assessment consists of two class tests of 20 marks each. The first class test is to be conducted
when approx. 40% syllabus is completed and second class test when additional 40% syllabus is
completed. Duration of each test shall be one hour.
End Semester Theory Examination:
1 Question paper will comprise of total six questions.
2 All question carries equal marks
3 Questions will be mixed in nature (for example supposed Q.2 has part (a) from module 3
then part (b) will be from any module other than module 3)
4 Only Four question need to be solved.
5 In question paper weightage of each module will be proportional to number of respective
lecture hours as mention in the syllabus.
Useful Links
1 [Link]
%20Cryptography%20and%20Network%20Security%206th%[Link]
2 [Link]
Course Code: Course Title Credit
CSC603 Mobile Computing 3
Prerequisite: Computer Networks
Course Objectives:
1 To introduce the basic concepts and principles in mobile computing. This includes major
techniques involved, and networks & systems issues for the design and implementation of
mobile computing systems and applications.
2 To explore both theoretical and practical issues of mobile computing.
3 To provide an opportunity for students to understand the key components and technologies
involved and to gain hands-on experiences in building mobile applications.
Course Outcomes: On successful completion of course, learner will be able to
1 To identify basic concepts and principles in computing, cellular architecture.
2 To describe the components and functioning of mobile networking.
3 To classify variety of security techniques in mobile network.
4 To apply the concepts of WLAN for local as well as remote applications.
5 To describe Long Term Evolution (LTE) architecture and its interfaces.
Module Content Hrs
1 Introduction to Mobile Computing 4
1.1 Introduction to Mobile Computing, Telecommunication Generations,
Cellular systems,
1.2 Electromagnetic Spectrum, Antenna, Signal Propagation, Signal
Characteristics, Multiplexing, Spread Spectrum: DSSS & FHSS, Co-
channel interference
2 GSM Mobile services 8
2.1 GSM Mobile services, System Architecture, Radio interface, Protocols,
Localization and Calling, Handover, security (A3, A5 & A8)
2.2 GPRS system and protocol architecture
2.3 UTRAN, UMTS core network; Improvements on Core Network,
3 Mobile Networking 8
3.1 Medium Access Protocol, Internet Protocol and Transport layer
3.2 Mobile IP: IP Packet Delivery, Agent Advertisement and Discovery,
Registration, Tunneling and Encapsulation, Reverse Tunneling.
3.3 Mobile TCP: Traditional TCP, Classical TCP Improvements like Indirect
TCP, Snooping TCP & Mobile TCP, Fast Retransmit/ Fast Recovery,
Transmission/Timeout Freezing, Selective Retransmission
4 Wireless Local Area Networks 6
4.1 Wireless Local Area Networks: Introduction, Infrastructure and ad-hoc
network
4.2 IEEE 802.11:System architecture , Protocol architecture , Physical layer,
Medium access control layer, MAC management, 802.11a, 802.11b
standard
4.3 Wi-Fi security : WEP ,WPA, Wireless LAN Threats , Securing Wireless
Networks
4.4 Bluetooth: Introduction, User Scenario, Architecture, protocol stack
5 Mobility Management 6
5.1 Mobility Management : Introduction, IP Mobility, Optimization, IPv6
5.2 Macro Mobility : MIPv6, FMIPv6
5.3 Micro Mobility: CellularIP, HAWAII, HMIPv6
6 Long-Term Evolution (LTE) of 3GPP 7
6.1 Long-Term Evolution (LTE) of 3GPP : LTE System Overview,
Evolution from UMTS to LTE
6.2 LTE/SAE Requirements, SAE Architecture
6.3 EPS: Evolved Packet System, E-UTRAN, Voice over LTE (VoLTE),
Introduction to LTE-Advanced
6.4 Self Organizing Network (SON-LTE), SON for Heterogeneous Networks
(HetNet), Comparison between Different Generations (2G, 3G, 4G and 5G),
Introduction to 5G
Textbooks:
1 Jochen Schilller, “Mobile Communication”, Addision wisely, Pearson Education
2 William Stallings “Wireless Communications & Networks”, Second Edition, Pearson
Education
3 Christopher Cox, “An Introduction to LTE: LTE, LTE-Advanced, SAE and 4G
Mobile Communications”, Wiley publications
4 Raj Kamal, “Mobile Computing”, 2/e, Oxford University Press-New
References:
1 Seppo Hamalainen, Henning Sanneck , Cinzia Sartori, “LTE Self-Organizing
Networks (SON): Network Management Automation for Operational Efficiency”,
Wiley publications
2 Ashutosh Dutta, Henning Schulzrinne “Mobility Protocols and Handover
Optimization: Design, Evaluation and Application”, IEEE Press, Wiley Publication
3 Michael Gregg, “Build your own security lab”, Wiley India edition
4 Dipankar Raychaudhuri, Mario Gerla, “Emerging Wireless Technologies and the
Future Mobile Internet”, Cambridge
5 Andreas F. Molisch, “Wireless Communications”, Second Edition, Wiley Publication
Assessment:
Internal Assessment:
Assessment consists of two class tests of 20 marks each. The first class test is to be conducted
when approx. 40% syllabus is completed and second class test when additional 40% syllabus is
completed. Duration of each test shall be one hour.
End Semester Theory Examination:
1 Question paper will comprise of total six questions.
2 All question carries equal marks
3 Questions will be mixed in nature (for example supposed Q.2 has part (a) from module 3
then part (b) will be from any module other than module 3)
4 Only Four question need to be solved.
5 In question paper weightage of each module will be proportional to number of respective
lecture hours as mention in the syllabus.
Course Code: Course Title Credit
CSC604 Artificial Intelligence 3
Prerequisite: Discrete Mathematics, Data Structures
Course Objectives:
1 To conceptualize the basic ideas and techniques underlying the design of intelligent
systems.
2 To make students understand and Explore the mechanism of mind that enables intelligent
thought and action.
3 To make students understand advanced representation formalism and search techniques.
4 To make students understand how to deal with uncertain and incomplete information.
Course Outcomes: At the end of the course, the students will be able to
1 Ability to develop a basic understanding of AI building blocks presented in intelligent
agents.
2 Ability to choose an appropriate problem solving method and knowledge representation
technique.
3 Ability to analyze the strength and weaknesses of AI approaches to knowledge– intensive
problem solving.
4 Ability to design models for reasoning with uncertainty as well as the use of unreliable
information.
5 Ability to design and develop AI applications in real world scenarios.
Module Content Hrs
1 Introduction to Artificial Intelligence 4
1.1 Introduction, History of Artificial Intelligence, Intelligent Systems:
Categorization of Intelligent System, Components of AI Program,
Foundations of AI, Sub-areas of AI, Applications of AI, Current trends
in AI.
2 Intelligent Agents 4
2.1 Agents and Environments, The concept of rationality, The nature of
environment, The structure of Agents, Types of Agents, Learning
Agent.
2.2 Solving problem by Searching: Problem Solving Agent, Formulating
Problems, Example Problems.
3 Problem solving 10
3.1 Uninformed Search Methods: Breadth First Search (BFS), Depth First
Search (DFS), Depth Limited Search, Depth First Iterative Deepening
(DFID), Informed Search Methods: Greedy best first Search, A*
Search, Memory bounded heuristic Search.
3.2 Local Search Algorithms and Optimization Problems: Hill climbing
search Simulated annealing, Genetic algorithms.
3.3 Adversarial Search: Game Playing, Min-Max Search, Alpha Beta
Pruning
4 Knowledge and Reasoning 12
4.1 Knowledge based Agents, Brief Overview of propositional logic, First
Order Logic: Syntax and Semantic, Inference in FOL, Forward
chaining, backward Chaining.
4.2 Knowledge Engineering in First-Order Logic, Unification, Resolution
4.3 Uncertain Knowledge and Reasoning: Uncertainty, Representing
knowledge in an uncertain domain, The semantics of belief network,
Simple Inference in belief network
5 Planning and Learning 5
5.1 The planning problem, Planning with state space search, Partial order
planning, Hierarchical planning, Conditional Planning.
5.2 Learning: Forms of Learning, Theory of Learning, PAC learning.
Introduction to statistical learning (Introduction only)
Introduction to reinforcement learning: Learning from Rewards,
Passive Reinforcement Learning, Active reinforcement Learning
6 AI Applications 4
A. Introduction to NLP- Language models, Grammars, Parsing
B. Robotics - Robots, Robot hardware, Problems Robotics can
solve
C. AI applications in Healthcare, Retail, Banking
Textbooks:
1 Stuart J. Russell and Peter Norvig, "Artificial Intelligence: A Modern Approach”, Fourth
Edition" Pearson Education, 2020.
2 Saroj Kaushik, “Artificial Intelligence”, Cengage Learning, First edition, 2011
3 George F Luger, “Artificial Intelligence” Low Price Edition, Fourth edition, Pearson
Education.,2005
References:
1 Nils J. Nilsson, Principles of Artificial Intelligence, Narosa Publication.
2 Deepak Khemani, A First Course in Artificial Intelligence, McGraw Hill Publication
3 Patrick H. Winston, Artificial Intelligence, 3rd edition, Pearson Education.
4 Elaine Rich and Kevin Knight, "Artificial Intelligence”, Third Edition, McGraw Hill
Education,2017.
Assessment:
Internal Assessment:
Assessment consists of two class tests of 20 marks each. The first class test is to be conducted
when approx. 40% syllabus is completed and the second class test when an additional 40%
syllabus is completed. Duration of each test shall be one hour.
End Semester Theory Examination:
1 Question paper will comprise a total of six questions.
2 All question carries equal marks
3 Questions will be mixed in nature (for example supposed Q.2 has part (a) from module 3
then part (b) will be from any module other than module 3)
4 Only Four questions need to be solved.
5 In question paper weightage of each module will be proportional to number of respective
lecture hours as mentioned in the syllabus.
Useful Links
1 [Link]
2 [Link]
and-beginners/
3 [Link]
Course Code: Course Title Credit
CSDLO6011 Internet of Things 3
Prerequisite: C Programming, Digital Logic and Computer Architecture, Microprocessor,
Computer Networks.
Course Objectives:
1 To equip students with the fundamental knowledge and basic technical competence in the
field of Internet of Things (IoT).
2 To emphasize on core IoT functional Stack to build assembly language programs. To learn
the Core IoT Functional Stack.
3 To understand the different common application protocols for IoT and apply IoT knowledge
to key industries that IoT is revolutionizing.
4 To examines various IoT hardware items and software platforms used in projects for each
platform that can be undertaken by a beginner, hobbyist, student, academician, or researcher
to develop useful projects or products.
Course Outcomes: On the completion of the course, learners will be able to:
1 Understand the concepts of IoT and the Things in IoT.
2 Emphasize core IoT functional Stack and understand application protocols for IoT.
3 Apply IoT knowledge to key industries that IoT is revolutionizing.
4 Examines various IoT hardware items and software platforms used in projects.
Module Content Hrs
1 Introduction to Internet of Things (IoT) 7
1.1 What is IoT? - IoT and Digitization
1.2 IoT Impact – Connected Roadways, Connected Factory, Smart Connected
Buildings, Smart Creatures
1.3 Convergence of IT and OT, IoT Challenges
1.4 The oneM2M IoT Standardized Architecture
1.5 The IoT World Forum (IoTWF) Standardized Architecture
1.6 IoT Data Management and Compute Stack – Design considerations and Data
related problems, Fog Computing, Edge Computing, The Hierarchy of Edge, Fog
and Cloud
2 Things in IoT 7
2.1 Sensors/Transducers – Definition, Principles, Classifications, Types,
Characteristics and Specifications
2.2 Actuators -– Definition, Principles, Classifications, Types, Characteristics and
Specifications
2.3 Smart Object – Definition, Characteristics and Trends
2.4 Sensor Networks – Architecture of Wireless Sensor Network, Network Topologies
2.5 Enabling IoT Technologies - Radio Frequency Identification Technology, Micro-
Electro-Mechanical Systems (MEMS), NFC (Near Field Communication),
Bluetooth Low Energy (BLE), LTE-A (LTE Advanced), IEEE 802.15.4–
Standardization and Alliances, ZigBee.
3 The Core IoT Functional Stack 6
3.1 Layer 1 – Things: Sensors and Actuators Layer
3.2 Layer 2 – Communications Network Layer, Access Network Sublayer, Gateways
and Backhaul Sublayer, Network Transport Sublayer, IoT Network Management
Sublayer
3.3 Layer 3 – Applications and Analytics Layer, Analytics Vs. Control Applications,
Data Vs. Network Analytics, Data Analytics Vs. Business Benefits, Smart Services
4 Application Protocols for IoT 7
4.1 The Transport Layer
4.2 IoT Application Transport Methods
4.3 Application Layer Protocol Not Present
4.4 SCADA - Background on SCADA, Adapting SCADA for IP, Tunneling Legacy
SCADA over IP Networks, SCADA Protocol Translation, SCADA Transport over
LLNs with MAP-T,
4.5 Generic Web-Based Protocols
4.6 IoT Application Layer Protocols – CoAP and MQTT
5 Domain Specific IoTs 6
5.1 Home Automation – Smart Lighting, Smart Appliances, Intrusion Detection,
Smoke/Gas Detectors
5.2 Cities – Smart Parking, Smart Lighting, Smart Roads, Structural Health
Monitoring, Surveillance
5.3 Environment – Weather Monitoring, Air Pollution Monitoring, Noise Pollution
Monitoring, Forest Fire Detection, River Floods Detection
5.4 Energy – Smart Grids, Renewable Energy Systems, Prognostics
5.5 Retail – Inventory Management, Smart Payments, Smart Vending Machines
5.6 Logistics – Route Generation & Scheduling, Fleet Tracking, Shipment Monitoring
5.7 Agriculture – Smart Irrigation, Green House Control
5.8 Industry – Machine Diagnostics & Prognosis, Indoor Air Quality Monitoring
5.9 Health & Lifestyle – Health & Fitness Monitoring, Wearable Electronics
6 Create your own IoT 6
6.1 IoT Hardware - Arduino, Raspberry Pi, ESP32, Cloudbit/Littlebits, Particle
Photon, Beaglebone Black.
6.2 IoT Software - languages for programming IoT hardware, for middleware
applications and API development, for making front ends, REST and JSON-LD
6.3 A comparison of IoT boards and platforms in terms of computing
6.4 A comparison of IoT boards and platforms in terms of development environments
and communication standards
6.5 A comparison of boards and platforms in terms of connectivity
6.6 A comparison of IoT software platforms
Textbooks:
1 David Hanes, Gonzalo Salgueiro, Patrick Grossetete, Rob Barton, Jerome Henry, “IoT
Fundamentals – Networking Technologies, Protocols, and Use Cases for the Internet
of Things”, 1st Edition, Published by Pearson Education, Inc, publishing as Cisco Press,
2017.
Lab Code Lab Name Credit
CSL601 System Programming and Compiler Construction Lab 1
Prerequisite: Theoretical computer science, Operating system. Computer Organization and
Architecture
Lab Outcomes: At the end of the course, the students will be able to
1 Generate machine code by implementing two pass assemblers.
2 Implement Two pass macro processor.
3 Parse the given input string by constructing Top down/Bottom-up parser.
4 Identify and Validate tokens for given high level language and Implement synthesis phase of
compiler.
5 Explore LEX & YACC tools.
Suggested List of Experiments
Sr. No. Title of Experiment
1 Implementations of two pass Assembler.
2 Implementation of Two pass Macro Processor.
3 Implementation of Lexical Analyzer.
4 Implementation of Parser (Any one).
5 Implementation of Intermediate code generation phase of compiler.
6 Implementation of code generation phase of compiler.
7 Study and implement experiments on LEX, YACC.
Reference Books:
1 Andrew W. Appel Princeton University. Jens Palsberg Modern Compiler.
Implementation in Java, Second Edition. Purdue University. CAMBRIDGE
University press @2002.
2 Charles N. Fischer, Richard J. LeBlanc Crafting a compiler with C , pearson
Education 2007
Term Work:
1 Term work should consist of experiments based on suggested experiment list.
2 Journal must include at least 2 assignments on content of theory and practical of “System
Programming and Compiler Construction”
3 The final certification and acceptance of term work ensures that satisfactory performance of
laboratory work and minimum passing marks in term work.
4 The distribution of marks for term work shall be as follows:
Laboratory work (experiments/case studies): ....................................(15) Marks.
Assignment: ...................................................................................... (05) Marks.
Attendance ......................................................................................... (05) Marks
TOTAL: .............................................................................................. (25) Marks.
Oral & Practical exam will be based on the above and CSC601 syllabus.
Lab Code Lab Name Credit
CSL602 Cryptography & System Security Lab 1
Prerequisite: Computer Network
Lab Objectives:
1 To apply various encryption techniques
2 To study and implement various security mechanism
3 To explore the network security concept and tools
Lab Outcomes: At the end of the course, the students will be able to
1 apply the knowledge of symmetric and asymmetric cryptography to implement simple
ciphers.
2 explore the different network reconnaissance tools to gather information about networks.
3 explore and use tools like sniffers, port scanners and other related tools for analysing
packets in a Network.
4 set up firewalls and intrusion detection systems using open-source technologies and to
explore email security.
5 explore various attacks like buffer-overflow and web application attack.
Suggested List of Experiments
Sr. No Title of Experiment
1 Design and Implementation of a product cipher using Substitution and Transposition
ciphers.
2 Implementation and analysis of RSA crypto system.
3 Implementation of Diffie Hellman Key exchange algorithm
4 For varying message sizes, test integrity of message using MD-5, SHA-1, and
analyse the performance of the two protocols. Use crypt APIs.
5 Study the use of network reconnaissance tools like WHOIS, dig, traceroute, ns
lookup to gather information about networks and domain registrars.
6 Study of packet sniffer tools: wireshark,:
1. Download and install wireshark and capture icmp, tcp, and http packets in
promiscuous mode.
2. Explore how the packets can be traced based on different filters.
7 Download and install nmap. Use it with different options to scan open ports, perform
OS fingerprinting, do a ping scan, tcp port scan, udp port scan, xmas scan etc.
8 Detect ARP spoofing using nmap and/or open-source tool ARPWATCH and
wireshark. Use arping tool to generate gratuitous arps and monitor using wireshark
9 Simulate DOS attack using Hping, hping3 and other tools
10 Simulate buffer overflow attack using Ollydbg, Splint, Cpp check etc
11 a. Set up IPSEC under LINUX.
b. Set up Snort and study the logs.
12 Setting up personal Firewall using iptables
13 Explore the GPG tool of linux to implement email security
14 SQL injection attack, Cross-Cite Scripting attack simulation
15 Case Study /Seminar: Topic beyond syllabus related to topics covered.
Term Work:
1 Term work should consist of 10 experiments.
2 Journal must include at least 2 assignments on content of theory and practical of
Lab Code Lab Name Credit
CSL603 Mobile Computing Lab 1
Prerequisite: Computer Networks
Lab Objectives:
1 To learn the mobile computing tools and software for implementation.
2 To understand the security algorithms in mobile networks
3 To learn security concepts
Lab Outcomes: At the end of the course, the students will be able to
1 develop and demonstrate mobile applications using various tools
2 articulate the knowledge of GSM, CDMA & Bluetooth technologies and demonstrate it.
3 Students will able to carry out simulation of frequency reuse, hidden/exposed terminal
problem
4 implement security algorithms for mobile communication network
5 demonstrate simulation and compare the performance of Wireless LAN
Suggested List of Experiments
The softwares like Android Studio, J2ME, NS2, NS3 and any other software which is suitable
are recommended for performing the practical.
Sr. No. Title of Experiment
1 Implementation a Bluetooth network with application as transfer of a file from one
device to another.
2 To implement a basic function of Code Division Multiple Access (CDMA).
3 Implementation of GSM security algorithms (A3/A5/A8)
4 Illustration of Hidden Terminal/Exposed terminal Problem. Consider two Wi-fi
base stations (STA) and an access point (AP) located along the x-axis. All the
nodes are fixed. The AP is situated at the middle of the two STA, the distance of
separation being 150 m. [variable]. Node #0 and node #1 are the hidden
terminals. Both are transmitting some data to the AP (almost at same rate) at the
same time. The loss across the wireless link between each STA and the AP is
fixed at 50 dB irrespective of the distance of separation. To study how
RTS/CTS helps in wireless networks,
1. No RTS/CTS is being sent.
2. Nodes do exchange RTS/CTS packets.
Compare the no. of packet retransmissions required in both the cases (as
obtained in the output) and compare the results.
5 To setup & configuration of Wireless Access Point (AP). Analyze the Wi-Fi
communication range in the presence of the access point (AP) and the base
station (BS). Consider BS and AP are static. Find out the maximum distance to
which two way communications is possible. Try multiple iterations by adjusting
its distance in the code and test it.
6 Study of security tools (like Kismet,Netstumbler)
7 Develop an application that uses GUI components.
8 Write an application that draws basic graphical primitives on the screen.
9 Develop an application that makes use of database.
10 Develop a native application that uses GPS location information.
11 Implement an application that creates an alert upon receiving a message.
12 Implementation of income tax/loan EMI calculator and deploy the same on real
devices (Implementation of any real time application)
Term Work:
1 Term work should consist of 10 experiments.
2 Journal must include at least 2 assignments on content of theory and practical of “ Mobile
Computing”
3 The final certification and acceptance of term work ensures that satisfactory performance of
laboratory work and minimum passing marks in term work.
4 Total 25 Marks (Experiments: 15-marks, Attendance Theory& Practical: 05-marks,
Assignments: 05-marks)
Useful Links
1 [Link]
2 [Link]
Lab Code Lab Name Credit
CSL604 Artificial Intelligence Lab 1
Prerequisite: Discrete Mathematics, Data Structure
Lab Objectives:
1 To realize the basic techniques to build intelligent systems
2 To apply appropriate search techniques used in problem solving
3 To create knowledge base for uncertain data
Lab Outcomes: At the end of the course, the students will be able to
1 Identify languages and technologies for Artificial Intelligence
2 Understand and implement uninformed and informed searching techniques for real world
problems.
3 Create a knowledge base using any AI language.
4 Design and implement expert systems for real world problems.
Suggested List of Experiments (programming in python)
Sr. No. Title of Experiment
1 One case study on AI applications published in IEEE/ACM/Springer or any prominent
journal.
2 Assignments on State space formulation and PEAS representation for various AI
applications
3 Program on uninformed search methods.
4 Program on informed search methods.
5 Program on Game playing algorithms.
6 Program for first order Logic
7 Planning Programming
8 Implementation for Bayes Belief Network
Note: Any other practical covering the syllabus topics and subtopics can be conducted.
The programming assignment for First order logics could be in the form of a mini project
Term Work:
1 Term work should consist of a minimum of 8 experiments.
2 Journal must include at least 2 assignments on content of theory and practical of “Artificial
Intelligence”
3 The final certification and acceptance of term work ensures that satisfactory performance of
laboratory work and minimum passing marks in term work.
4 Total 25 Marks (Experiments: 15-marks, Attendance Theory & Practical: 05-marks,
Assignments: 05-marks)
Oral & Practical exam: Based on the entire syllabus of CSC604: Artificial Intelligence
Lab Code Lab Name Credit
CSL605 Cloud Computing 2
Prerequisite: Computer Networks
Lab Objectives: The course has following objectives
1 To make students familiar with key concepts of virtualization.
2 To make students familiar with various deployment models of cloud such as private, public,
hybrid and community so that they star using and adopting appropriate type of cloud for their
application.
3 To make students familiar with various service models such as IaaS, SaaS, PaaS, Security as
a Service (SECaaS) and Database as a Service.
4 To make students familiar with security and privacy issues in cloud computing and how to
address them.
Lab Outcomes: At the end of the course, the students will be able to
1 Implement different types of virtualization techniques.
2 Analyze various cloud computing service models and implement them to solve the given
problems.
3 Design and develop real world web applications and deploy them on commercial cloud(s).
4 Explain major security issues in the cloud and mechanisms to address them.
5 Explore various commercially available cloud services and recommend the appropriate one for
the given application.
6 Implement the concept of containerization
Module Detailed Contents Hours LO
01 Title: Introduction and overview of cloud computing. 2 2
Objective: To understand the origin of cloud computing, cloud
cube model, NIST model, characteristics of cloud, different
deployment models, service models, advantages and
disadvantages.
02 Title: To study and implement Hosted Virtualization using 2 1
VirtualBox& KVM.
Objective: To know the concept of Virtualization along with
their types, structures and mechanisms. This experiment should
have demonstration of creating and running Virtual machines
inside hosted hypervisors like VirtualBox and KVM with their
comparison based on various virtualization parameters.
Title: To study andImplement Bare-metal Virtualization using
03 Xen, HyperV or VMware Esxi. 4 1
Objective: To understand the functionality of Bare-metal
hypervisors and their relevance in cloud computing platforms.
This experiment should have demonstration of install, configure
and manage Bare Metal hypervisor along with instructions to
create and run virtual machines inside it. It should also
emphasize on accessing VMs in different environments along
with additional services provided by them like Load balancing,
Auto-Scaling, Security etc.
04 Title: To study andImplement Infrastructure as a Service using 4 2
AWS/Microsoft Azure.
Objective: To demonstrate the steps to create and run virtual
machines inside Public cloud platform. This experiment should
emphasize on creating and running Linux/Windows Virtual
machine inside Amazon EC2 or Microsoft Azure Compute and
accessing them using RDP or VNC tools.
05 Title: To study andImplement Platform as a Service using 4 2
AWS Elastic Beanstalk/ Microsoft Azure App Service.
Objective: To demonstrate the steps to deploy Web applications
or Web services written in different languages on AWS Elastic
Beanstalk/ Microsoft Azure App Service.
06 Title: To study andImplementStorage as a Service using Own 4 2
Cloud/ AWS S3, Glaciers/ Azure Storage.
Objective: To understand the concept of Cloud storage and to
demonstrate the different types of storages like object storage,
block level storages etc. supported by Cloud Platforms like Own
Cloud/ AWS S3, Glaciers/ Azure Storage.
07 Title: To study andImplementDatabase as a Service on 2 2
SQL/NOSQL databases like AWS RDS, AZURE SQL/
MongoDB Lab/ Firebase.
Objective: To know the concept of Database as a Service
running on cloud and to demonstrate the CRUD operations on
different SQL and NOSQL databases running on cloud like
AWS RDS, AZURE SQL/ Mongo Lab/ Firebase.
08 Title: To study andImplementSecurity as a Service on 3 4
AWS/Azure
Objective: To understand the Security practices available in
public cloud platforms and to demonstrate various Threat
detection, Data protection and Infrastructure protection services
in AWS and Azure.
09 Title: To study and implement Identity and Access 2 2
Management (IAM) practices on AWS/Azure cloud.
Objective: To understand the working of Identity and Access
Management IAM in cloud computing and to demonstrate the
case study based on Identity and Access Management (IAM) on
AWS/Azure cloud platform.
10 Title: To study and Implement Containerization using Docker 4 6
Objective: To know the basic differences between Virtual
machine and Container. It involves demonstration of creating,
finding, building, installing, and running Linux/Windows
application containers inside local machine or cloud platform.
11 Title: To study and implement container orchestration using 4 6
Kubernetes
Objective: To understand the steps to deploy Kubernetes
Cluster on local systems, deploy applications on Kubernetes,
creating a Service in Kubernetes, develop Kubernetes
configuration files in YAML and creating a deployment in
Kubernetes using YAML,
12 Mini-project: Design a Web Application hosted on public 4 3, 5
cloud platform
[It should cover the concept of IaaS, PaaS, DBaaS, Storage as a
Service, Security as a Service etc.]
Sr. No. Suggested Assignment List (Any two) LO
1 Assignment based on selection of suitable cloud platform solution 5
based on requirement analysis considering given problem
statement
2 Assignment on recent trends in cloud computing and related 5
technologies
3 Assignment on comparative study of different computing 5
technologies [Parallel, Distributed, Cluster, Grid, Quantum)
4 Comparative study of different hosted and bare metal Hypervisors 1
with suitable parameters along with their use in public/private
cloud platform
5 Assignment on explore and compare the similar type of services 5
provided by AWS and Azure [Any ten services]
Digital Material:
Sr. Topic Link
No.
1 Introduction and overview of cloud [Link]
computing /itl/cloud/NIST_SP-500-291_Version-
2_2013_June18_FINAL.pdf
2 Hosted Virtualization using KVM [Link]
kvm\
3 Baremetal Virtualization using Xen [Link]
1/[Link]
4 IaaS, PaaS, STaaS, DbaaS, IAM and 1) AWS
Security as a Service on AWS and [Link]
Azure 2) MS Azure
[Link]
5 Docker [Link]