VTU S6 Syllabus
VTU S6 Syllabus
VTU S6 Syllabus
Module 1 Contact
Hours
Introduction ,Cloud Computing at a Glance, The Vision of Cloud Computing, Defining a 08
Cloud, A Closer Look, Cloud Computing Reference Model, Characteristics and Benefits,
Challenges Ahead, Historical Developments, Distributed Systems, Virtualization, Web 2.0,
Service-Oriented Computing, Utility-Oriented Computing, Building Cloud Computing
Environments, Application Development, Infrastructure and System Development,
Computing Platforms and Technologies, Amazon Web Services (AWS), Google AppEngine,
Microsoft Azure, Hadoop, Force.com and Salesforce.com, Manjrasoft Aneka
Virtualization, Introduction, Characteristics of Virtualized, Environments Taxonomy of
Virtualization Techniques, Execution Virtualization, Other Types of Virtualization,
Virtualization and Cloud Computing, Pros and Cons of Virtualization, Technology Examples
Xen: Paravirtualization, VMware: Full Virtualization, Microsoft Hyper-V
Textbook 1: Ch. 1,3
RBT: L1, L2
Module 2
Cloud Computing Architecture, Introduction, Cloud Reference Model, Architecture, 08
Infrastructure / Hardware as a Service, Platform as a Service, Software as a Service, Types of
Clouds, Public Clouds, Private Clouds, Hybrid Clouds, Community Clouds, Economics of
the Cloud, Open Challenges, Cloud Definition, Cloud Interoperability and Standards
Scalability and Fault Tolerance Security, Trust, and Privacy Organizational Aspects
Aneka: Cloud Application Platform, Framework Overview, Anatomy of the Aneka
Container, From the Ground Up: Platform Abstraction Layer, Fabric Services, foundation
Services, Application Services, Building Aneka Clouds, Infrastructure Organization, Logical
Organization, Private Cloud Deployment Mode, Public Cloud Deployment Mode, Hybrid
Cloud Deployment Mode, Cloud Programming and Management, Aneka SDK, Management
Tools
Textbook 1: Ch. 4,5
RBT: L1, L2
Module 3
Concurrent Computing: Thread Programming, Introducing Parallelism for Single Machine 08
Computation, Programming Applications with Threads, What is a Thread?, Thread APIs,
Techniques for Parallel Computation with Threads, Multithreading with Aneka, Introducing
the Thread Programming Model, Aneka Thread vs. Common Threads, Programming
Applications with Aneka Threads, Aneka Threads Application Model, Domain
Decomposition: Matrix Multiplication, Functional Decomposition: Sine, Cosine, and
Tangent.
High-Throughput Computing: Task Programming, Task Computing, Characterizing a Task,
Computing Categories, Frameworks for Task Computing, Task-based Application Models,
Embarrassingly Parallel Applications, Parameter Sweep Applications, MPI Applications,
Workflow Applications with Task Dependencies, Aneka Task-Based Programming, Task
Programming Model, Developing Applications with the Task Model, Developing Parameter
Sweep Application, Managing Workflows.
Textbook 1: Ch. 6, 7
RBT: L1, L2
Module 4
Data Intensive Computing: Map-Reduce Programming, What is Data-Intensive Computing?, 08
Characterizing Data-Intensive Computations, Challenges Ahead, Historical Perspective,
Technologies for Data-Intensive Computing, Storage Systems, Programming Platforms,
Aneka MapReduce Programming, Introducing the MapReduce Programming Model,
Example Application
Textbook 1: Ch. 8
RBT: L1, L2
Module 5
Cloud Platforms in Industry, Amazon Web Services, Compute Services, Storage Services, 08
Communication Services, Additional Services, Google AppEngine, Architecture and Core
Concepts, Application Life-Cycle, Cost Model, Observations, Microsoft Azure, Azure Core
Concepts, SQL Azure, Windows Azure Platform Appliance.
Cloud Applications Scientific Applications, Healthcare: ECG Analysis in the Cloud, Biology:
Protein Structure Prediction, Biology: Gene Expression Data Analysis for Cancer Diagnosis,
Geoscience: Satellite Image Processing, Business and Consumer Applications, CRM and
ERP, Productivity, Social Networking, Media Applications, Multiplayer Online Gaming.
Textbook 1: Ch. 9,10
RBT: L1, L2
Course Outcomes: The student will be able to :
• Explain cloud computing, virtualization and classify services of cloud computing
• Illustrate architecture and programming in cloud
• Describe the platforms for development of cloud applications and List the application of cloud.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Rajkumar Buyya, Christian Vecchiola, and Thamarai Selvi Mastering Cloud. Computing
McGraw Hill Education
Reference Books:
1. Dan C. Marinescu, Cloud Computing Theory and Practice, Morgan Kaufmann, Elsevier 2013.
ADVANCED JAVA AND J2EE
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS644 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 03
CREDITS –3
Course Learning Objectives: This course (18CS644) will enable students to:
• Identify the need for advanced Java concepts like Enumerations and Collections
• Construct client-server applications using Java socket API
• Make use of JDBC to access database through Java Programs
• Adapt servlets to build server side programs
• Demonstrate the use of JavaBeans to develop component-based Java software
Module 1 Contact
Hours
Enumerations, Autoboxing and Annotations(metadata): Enumerations, Enumeration 08
fundamentals, the values() and valueOf() Methods, java enumerations are class types,
enumerations Inherits Enum, example, type wrappers, Autoboxing, Autoboxing and
Methods, Autoboxing/Unboxing occurs in Expressions, Autoboxing/Unboxing, Boolean and
character values, Autoboxing/Unboxing helps prevent errors, A word of Warning.
Annotations, Annotation basics, specifying retention policy, Obtaining Annotations at run
time by use of reflection, Annotated element Interface, Using Default values, Marker
Annotations, Single Member annotations, Built-In annotations.
Textbook 1: Lesson 12
RBT: L1, L2, L3
Module 2
The collections and Framework: Collections Overview, Recent Changes to Collections, 08
The Collection Interfaces, The Collection Classes, Accessing a collection Via an Iterator,
Storing User Defined Classes in Collections, The Random Access Interface, Working With
Maps, Comparators, The Collection Algorithms, Why Generic Collections?, The legacy
Classes and Interfaces, Parting Thoughts on Collections.
Text Book 1: Ch.17
RBT: L1, L2, L3
Module 3
String Handling :The String Constructors, String Length, Special String Operations, String 08
Literals, String Concatenation, String Concatenation with Other Data Types, String
Conversion and toString( ) Character Extraction, charAt( ), getChars( ), getBytes( )
toCharArray(), String Comparison, equals( ) and equalsIgnoreCase( ), regionMatches( )
startsWith( ) and endsWith( ), equals( ) Versus == , compareTo( ) Searching Strings,
Modifying a String, substring( ), concat( ), replace( ), trim( ), Data Conversion Using
valueOf( ), Changing the Case of Characters Within a String, Additional String Methods,
StringBuffer , StringBuffer Constructors, length( ) and capacity( ), ensureCapacity( ),
setLength( ), charAt( ) and setCharAt( ), getChars( ),append( ), insert( ), reverse( ), delete( )
and deleteCharAt( ), replace( ), substring( ), Additional StringBuffer Methods,
StringBuilder
Text Book 1: Ch 15
RBT: L1, L2, L3
Module 4
Background; The Life Cycle of a Servlet; Using Tomcat for Servlet Development; A simple 08
Servlet; The Servlet API; The Javax.servlet Package; Reading Servlet Parameter; The
Javax.servlet.http package; Handling HTTP Requests and Responses; Using Cookies;
Session Tracking. Java Server Pages (JSP): JSP, JSP Tags, Tomcat, Request String, User
Sessions, Cookies, Session Objects
Text Book 1: Ch 31 Text Book 2: Ch 11
RBT: L1, L2, L3
Module 5
The Concept of JDBC; JDBC Driver Types; JDBC Packages; A Brief Overview of the 08
JDBC process; Database Connection; Associating the JDBC/ODBC Bridge with the
Database; Statement Objects; ResultSet; Transaction Processing; Metadata, Data types;
Exceptions.
Text Book 2: Ch 06
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Interpret the need for advanced Java concepts like enumerations and collections in developing
modular and efficient programs
• Build client-server applications and TCP/IP socket programs
• Illustrate database access and details for managing information using the JDBC API
• Describe how servlets fit into Java-based web application architecture
• Develop reusable software components using Java Beans
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Herbert Schildt: JAVA the Complete Reference, 7th/9th Edition, Tata McGraw Hill, 2007.
2. Jim Keogh: J2EE-TheCompleteReference, McGraw Hill, 2007.
Reference Books:
1. Y. Daniel Liang: Introduction to JAVA Programming, 7thEdition, Pearson Education, 2007.
2. Stephanie Bodoff et al: The J2EE Tutorial, 2nd Edition, Pearson Education,2004.
3. Uttam K Roy, Advanced JAVA programming, Oxford University press, 2015.
SYSTEM MODELLING AND SIMULATION
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS645 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 03
CREDITS –3
Course Learning Objectives: This course (18CS645) will enable students to:
• Explain the basic system concept and definitions of system;
• Discuss techniques to model and to simulate various systems;
• Analyze a system and to make use of the information to improve the performance.
Module 1 Contact
Hours
Introduction: When simulation is the appropriate tool and when it is not appropriate, 08
Advantages and disadvantages of Simulation; Areas of application, Systems and system
environment; Components of a system; Discrete and continuous systems, Model of a system;
Types of Models, Discrete-Event System Simulation Simulation examples: Simulation of
queuing systems. General Principles.
Textbook 1: Ch. 1, 2, 3.1.1, 3.1.3
RBT: L1, L2, L3
Module 2
Statistical Models in Simulation :Review of terminology and concepts, Useful statistical 08
models,Discrete distributions. Continuous distributions,Poisson process, Empirical
distributions.
Queuing Models:Characteristics of queuing systems,Queuing notation,Long-run measures
of performance of queuing systems,Long-run measures of performance of queuing systems
cont…,Steady-state behavior of M/G/1 queue, Networks of queues,
Textbook 1: Ch. 5,6.1 to 6.3, 6.4.1,6.6
RBT: L1, L2, L3
Module 3
Random-NumberGeneration:Properties of random numbers; Generation of pseudo-random 08
numbers, Techniques for generating random numbers,Tests for Random Numbers, Random-
Variate Generation: ,Inverse transform technique Acceptance-Rejection technique.
Textbook 1: Ch. 7,8.1, 8.2
RBT: L1, L2, L3
Module 4
Input Modeling: Data Collection; Identifying the distribution with data, Parameter 08
estimation, Goodness of Fit Tests, Fitting a non-stationary Poisson process, Selecting input
models without data, Multivariate and Time-Series input models.
Estimation of Absolute Performance: Types of simulations with respect to output analysis
,Stochastic nature of output data, Measures of performance and their estimation, Contd..
Textbook 1: Ch. 9, 11.1 to 11.3
RBT: L1, L2, L3
Module 5
Measures of performance and their estimation,Output analysis for terminating simulations 08
Continued..,Output analysis for steady-state simulations.
Verification, Calibration And Validation: Optimization: Model building, verification and
validation, Verification of simulation models, Verification of simulation models,Calibration
and validation of models, Optimization via Simulation.
Textbook 1: Ch. 11.4, 11.5, 10
RBT: L1, L2, L3
Course Outcomes: The student will be able to :
• Explain the system concept and apply functional modeling method to model the activities of a static
system
• Describe the behavior of a dynamic system and create an analogous model for a dynamic system;
• Simulate the operation of a dynamic system and make improvement according to the simulation
results.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Jerry Banks, John S. Carson II, Barry L. Nelson, David M. Nicol: Discrete-Event System Simulation,
5 th Edition, Pearson Education, 2010.
Reference Books:
1. Lawrence M. Leemis, Stephen K. Park: Discrete – Event Simulation: A First Course, Pearson
Education, 2006.
2. Averill M. Law: Simulation Modeling and Analysis, 4 th Edition, Tata McGraw-Hill, 2007
MOBILE APPLICATION DEVELOPMENT
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS651 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 03
CREDITS –3
Course Learning Objectives: This course (18CS651) will enable students to:
• Learn to setup Android application development environment
• Illustrate user interfaces for interacting with apps and triggering actions
• Interpret tasks used in handling multiple activities
• Identify options to save persistent application data
• Appraise the role of security and performance in Android applications
Module – 1 Teaching
Hours
Get started, Build your first app, Activities, Testing, debugging and using support libraries
08
Textbook 1: Lesson 1,2,3
RBT: L1, L2
Module – 2
User Interaction, Delightful user experience, Testing your UI 08
Textbook 1: Lesson 4,5,6
RBT: L1, L2
Module – 3
Background Tasks, Triggering, scheduling and optimizing background tasks 08
Textbook 1: Lesson 7,8
RBT: L1, L2
Module – 4
All about data, Preferences and Settings, Storing data using SQLite, Sharing data with 08
content providers, Loading data using Loaders
Textbook 1: Lesson 9,10,11,12
RBT: L1, L2
Module – 5
Permissions, Performance and Security, Firebase and AdMob, Publish// 08
Textbook 1: Lesson 13,14,15
RBT: L1, L2
Course outcomes: The students should be able to:
• Create, test and debug Android application by setting up Android development environment
• Implement adaptive, responsive user interfaces that work across a wide range of devices.
• Infer long running tasks and background work in Android applications
• Demonstrate methods in storing, sharing and retrieving data in Android applications
• Analyze performance of android applications and understand the role of permissions and security
• Describe the steps involved in publishing Android application to share with the world
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Google Developer Training, "Android Developer Fundamentals Course – Concept Reference”,
Google Developer Training Team, 2017. https://www.gitbook.com/book/google-
developer-training/android-developer-fundamentals-course-concepts/details (Download pdf file
from the above link)
Reference Books:
1. Erik Hellman, “Android Programming – Pushing the Limits”, 1st Edition, Wiley India Pvt Ltd,
2014.
2. Dawn Griffiths and David Griffiths, “Head First Android Development”, 1st Edition, O’Reilly
SPD Publishers, 2015.
3. J F DiMarzio, “Beginning Android Programming with Android Studio”, 4th Edition, Wiley India
Pvt Ltd, 2016. ISBN-13: 978-8126565580
4. Anubhav Pradhan, Anil V Deshpande, “ Composing Mobile Apps” using Android, Wiley 2014,
ISBN: 978-81-265-4660-2
INTRODUCTION TO DATA SRUCTURES AND ALGORITHM
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS652 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 03
CREDITS –3
Course Learning Objectives: This course (18CS652) will enable students to:
• Identify different data structures in C programming language
• Appraise the use of data structures in problem solving
• Implement data structures using C programming language.
Module 1 Contact
Hours
Introduction to C, constants, variables, data types, input output operations, operators and 08
expressions, control statements, arrays, strings, built-in functions, user defined functions,
structures, unions and pointers
Text Book 1: Chapter 1 and 2
RBT: L1, L2
Module 2
Algorithms, Asymptotic notations, Introduction to data structures, Types of data structures, 08
Arrays.
Text Book 1: Chapter 3 and 4
RBT: L1, L2
Module 3
Linked lists, Stacks 08
Text Book 1: Chapter 5 and 6
RBT: L1, L2
Module 4
Queues, Trees 08
Text Book 1: Chapter 7 and 8
RBT: L1, L2
Module 5
Graphs, Sorting ,(selection, insertion, bubble, quick)and searching(Linear, Binary, Hash) 08
Text Book 1: Chapter 7 and 8
RBT: L1, L2
Course Outcomes: The student will be able to :
• Identify different data structures in C programming language
• Appraise the use of data structures in problem solving
• Implement data structures using C programming language.
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Data structures using C , E Balagurusamy, McGraw Hill education (India) Pvt. Ltd, 2013.
Reference Books:
1. Ellis Horowitz and Sartaj Sahni, Fundamentals of Data Structures in C, 2nd Ed, Universities
Press, 2014.
2. Seymour Lipschutz, Data Structures Schaum's Outlines, Revised 1st Ed, McGraw Hill, 2014.
PROGRAMMING IN JAVA
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CS653 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 03
CREDITS –3
Course Learning Objectives: This course (18CS653) will enable students to:
• Learn fundamental features of object oriented language and JAVA
• Set up Java JDK environment to create, debug and run simple Java programs.
• Learn object oriented concepts using programming examples.
• Study the concepts of importing of packages and exception handling mechanism.
• Discuss the String Handling examples with Object Oriented concepts
Module – 1 Teaching
Hours
An Overview of Java: Object-Oriented Programming, A First Simple Program, A Second 08
Short Program, Two Control Statements, Using Blocks of Code, Lexical Issues, The Java
Class Libraries, Data Types, Variables, and Arrays: Java Is a Strongly Typed Language,
The Primitive Types, Integers, Floating-Point Types, Characters, Booleans, A Closer Look
at Literals, Variables, Type Conversion and Casting, Automatic Type Promotion in
Expressions, Arrays, A Few Words About Strings
Text book 1: Ch 2, Ch 3
RBT: L1, L2
Module – 2
Operators: Arithmetic Operators, The Bitwise Operators, Relational Operators, Boolean 08
Logical Operators, The Assignment Operator, The ? Operator, Operator Precedence, Using
Parentheses, Control Statements: Java’s Selection Statements, Iteration Statements, Jump
Statements.
Text book 1: Ch 4, Ch 5
RBT: L1, L2
Module – 3
Introducing Classes: Class Fundamentals, Declaring Objects, Assigning Object Reference 08
Variables, Introducing Methods, Constructors, The this Keyword, Garbage Collection, The
finalize( ) Method, A Stack Class, A Closer Look at Methods and Classes: Overloading
Methods, Using Objects as Parameters, A Closer Look at Argument Passing, Returning
Objects, Recursion, Introducing Access Control, Understanding static, Introducing final,
Arrays Revisited, Inheritance: Inheritance, Using super, Creating a Multilevel Hierarchy,
When Constructors Are Called, Method Overriding, Dynamic Method Dispatch, Using
Abstract Classes, Using final with Inheritance, The Object Class.
Text book 1: Ch 6, Ch 7.1-7.9, Ch 8.
RBT: L1, L2
Module – 4
Packages and Interfaces: Packages, Access Protection, Importing Packages, Interfaces, 08
Exception Handling: Exception-Handling Fundamentals, Exception Types, Uncaught
Exceptions, Using try and catch, Multiple catch Clauses, Nested try Statements, throw,
throws, finally, Java’s Built-in Exceptions, Creating Your Own Exception Subclasses,
Chained Exceptions, Using Exceptions.
Text book 1: Ch 9, Ch 10
RBT: L1, L2
Module – 5
Enumerations, Type Wrappers, I/O, Applets, and Other Topics: I/O Basics, Reading 08
Console Input, Writing Console Output, The PrintWriter Class, Reading and Writing Files,
Applet Fundamentals, The transient and volatile Modifiers, Using instanceof, strictfp,
Native Methods, Using assert, Static Import, Invoking Overloaded Constructors Through
this( ), String Handling: The String Constructors, String Length, Special String Operations,
Character Extraction, String Comparison, Searching Strings, Modifying a String, Data
Conversion Using valueOf( ), Changing the Case of Characters Within a String , Additional
String Methods, StringBuffer, StringBuilder.
Text book 1: Ch 12.1,12.2, Ch 13, Ch 15
RBT: L1, L2
Course outcomes: The students should be able to:
• Explain the object-oriented concepts and JAVA.
• Develop computer programs to solve real world problems in Java.
Develop simple GUI interfaces for a computer program to interact with users
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Text Books:
1. Herbert Schildt, Java The Complete Reference, 7th Edition, Tata McGraw Hill, 2007. (Chapters 2, 3,
4, 5, 6,7, 8, 9,10, 12,13,15)
Reference Books:
1. Cay S Horstmann, "Core Java - Vol. 1 Fundamentals", Pearson Education, 10th Edition, 2016.
2. Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft, "Java 8 in Action", Dreamtech Press/Manning
Press, 1st Edition, 2014.
INTRODUCTION TO OPERATING SYSTEM
(OPEN ELECTIVE)
(Effective from the academic year 2018 -2019)
SEMESTER – VII
Course Code 18CS654 CIE Marks 40
Number of Contact Hours/Week 3:0:0 SEE Marks 60
Total Number of Contact Hours 40 Exam Hours 03
CREDITS –3
Course Learning Objectives: This course (18CS654) will enable students to:
• Explain the fundamentals of operating system
• Comprehend multithreaded programming, process management, memory management and
storage management.
• Familier with various types of operating systems
Module – 1 Teaching
Hours
Introduction: What OS do, Computer system organization, architecture, structure, 08
Operations, Process, memory and storage management, Protection and security, Distributed
systems, Special purpose systems, computing environments.
System Structure: OS Services, User OSI, System calls, Types of system calls, System
programs, OS design and implementation, OS structure, Virtual machines, OS generation,
system boot
Textbook1: Chapter 1, 2
RBT: L1, L2
Module – 2
Process Concept: Overview, Process scheduling, Operations on process, IPC, Examples in 08
IPC, Communication in client-server systems.
Multithreaded Programming: Overview, Models, Libraries, Issues, OS Examples
Textbook1: Chapter 3,4
RBT: L1, L2
Module – 3
Process Scheduling: Basic concept, Scheduling criteria, Algorithm, multiple processor 08
scheduling, thread scheduling, OS Examples, Algorithm Evaluation.
Synchronization: Background, the critical section problem, Petersons solution,
Synchronization hardware, Semaphores, Classic problems of synchronization, Monitors,
Synchronization examples, Atomic transactions
Textbook1: Chapter 5, 6
RBT: L1, L2
Module – 4
Deadlocks: System model, Deadlock characterization, Method of handling deadlock, 08
Deadlock prevention, Avoidance, Detection, Recovery from deadlock
Memory management strategies: Background, swapping, contiguous memory allocation,
paging, structure of page table, segmentation,
Textbook1: Chapter 7, 8
RBT: L1, L2
Module – 5
Virtual Memory management: Background, Demand paging, Copy-on-write, Page 08
replacement, allocation of frames, Trashing, Memory mapped files, Allocating Kernel
memory, Operating system examples
File system: File concept, Access methods, Directory structure, File system mounting, File
sharing, protection
Textbook1: Chapter 9, 10
RBT: L1, L2
Course outcomes: The students should be able to:
• Explain the fundamentals of operating system
• Comprehend process management, memory management and storage management.
• Familiar with various types of operating systems
Question Paper Pattern:
• The question paper will have ten questions.
• Each full Question consisting of 20 marks
• There will be 2 full questions (with a maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer 5 full questions, selecting one full question from each module.
Text Books:
1. A. Silberschatz, P B Galvin, G Gagne, Operating systems, 7th edition, John Wiley and sons,.
Reference Books:
1. William Stalling,"Operating Systems: Internals and Design Principles", Pearson Education, 1st
Edition, 2018.
2. Andrew S Tanenbaum, Herbert BOS, "Modern Operating Systems", Pearson Education, 4th
Edition, 2016
SYSTEM SOFTWARE LABORATORY
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CSL66 CIE Marks 40
Number of Contact Hours/Week 0:2:2 SEE Marks 60
Total Number of Lab Contact Hours 36 Exam Hours 03
Credits – 2
Course Learning Objectives: This course (18CSL66) will enable students to:
• To make students familiar with Lexical Analysis and Syntax Analysis phases of Compiler Design
and implement programs on these phases using LEX & YACC tools and/or C/C++/Java
• To enable students to learn different types of CPU scheduling algorithms used in operating
system.
• To make students able to implement memory management - page replacement and deadlock
handling algorithms
Descriptions (if any):
Exercises to be prepared with minimum three files (Where ever necessary):
1. Header file.
2. Implementation file.
3. Application file where main function will be present.
The idea behind using three files is to differentiate between the developer and user sides. In the
developer side, all the three files could be made visible. For the user side only header file and
application files could be made visible, which means that the object code of the implementation
file could be given to the user along with the interface given in the header file, hiding the source
file, if required. Avoid I/O operations (printf/scanf) and use data input file where ever it is
possible.
Programs List:
Installation procedure of the required software must be demonstrated, carried out in groups and
documented in the journal.
1.
a. Write a LEX program to recognize valid arithmetic expression. Identifiers in the
expression could be only integers and operators could be + and *. Count the identifiers &
operators present and print them separately.
b. Write YACC program to evaluate arithmetic expression involving operators: +, -, *,
and /
2. Develop, Implement and Execute a program using YACC tool to recognize all strings
ending with b preceded by n a’s using the grammar an b (note: input n value)
3. Design, develop and implement YACC/C program to construct Predictive / LL(1)
Parsing Table for the grammar rules: A →aBa , B →bB | ε. Use this table to parse the
sentence: abba$
4. Design, develop and implement YACC/C program to demonstrate Shift Reduce Parsing
technique for the grammar rules: E →E+T | T, T →T*F | F, F →(E) | id and
parse the sentence: id + id * id.
5. Design, develop and implement a C/Java program to generate the machine code using Triples
for the statement A = -B * (C +D) whose intermediate code in three-address form:
T1 = -B
T2 = C + D
T3 = T1 + T2
A = T3
6.
a. Write a LEX program to eliminate comment lines in a C program and copy the resulting
program into a separate file.
b. Write YACC program to recognize valid identifier, operators and keywords in the given text
(C program) file.
7. Design, develop and implement a C/C++/Java program to simulate the working of Shortest
remaining time and Round Robin (RR) scheduling algorithms. Experiment with different
quantum sizes for RR algorithm.
8. Design, develop and implement a C/C++/Java program to implement Banker’s algorithm.
Assume suitable input required to demonstrate the results
9. Design, develop and implement a C/C++/Java program to implement page replacement
algorithms LRU and FIFO. Assume suitable input required to demonstrate the results.
Laboratory Outcomes: The student should be able to:
• Implement and demonstrate Lexer’s and Parser’s
• Evaluate different algorithms required for management, scheduling, allocation and
communication used in operating system.
Conduct of Practical Examination:
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick one experiment from
the lot with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick one
experiment from PART A and one experiment from PART B, with equal opportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made zero of
the changed part only.
• Marks Distribution (Courseed to change in accoradance with university regulations)
m) For laboratories having only one part – Procedure + Execution + Viva-Voce: 15+70+15 =
100 Marks
n) For laboratories having PART A and PART B
i. Part A – Procedure + Execution + Viva = 6 + 28 + 6 = 40 Marks
ii. Part B – Procedure + Execution + Viva = 9 + 42 + 9 = 60 Marks
COMPUTER GRAPHICS LABORATORY WITH MINI PROJECT
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CSL67 CIE Marks 40
Number of Contact Hours/Week 0:2:2 SEE Marks 60
Total Number of Lab Contact Hours 36 Exam Hours 03
Credits – 2
Course Learning Objectives: This course (18CSL67) will enable students to:
• Demonstrate simple algorithms using OpenGL Graphics Primitives and attributes.
• Implementation of line drawing and clipping algorithms using OpenGL functions
• Design and implementation of algorithms Geometric transformations on both 2D and 3D objects.
Descriptions (if any): --
Installation procedure of the required software must be demonstrated, carried out in groups
and documented in the journal.
Programs List:
PART A
Design, develop, and implement the following programs using OpenGL API
1. Implement Brenham’s line drawing algorithm for all types of slope.
Refer:Text-1: Chapter 3.5
Refer:Text-2: Chapter 8
2. Create and rotate a triangle about the origin and a fixed point.
Refer:Text-1: Chapter 5-4
3. Draw a colour cube and spin it using OpenGL transformation matrices.
Refer:Text-2: Modelling a Coloured Cube
4. Draw a color cube and allow the user to move the camera suitably to experiment with
perspective viewing.
Refer:Text-2: Topic: Positioning of Camera
5. Clip a lines using Cohen-Sutherland algorithm
Refer:Text-1: Chapter 6.7
Refer:Text-2: Chapter 8
6. To draw a simple shaded scene consisting of a tea pot on a table. Define suitably the
position and properties of the light source along with the properties of the surfaces of the
solid object used in the scene.
Refer:Text-2: Topic: Lighting and Shading
7. Design, develop and implement recursively subdivide a tetrahedron to form 3D sierpinski
gasket. The number of recursive steps is to be specified by the user.
Refer: Text-2: Topic: sierpinski gasket.
8. Develop a menu driven program to animate a flag using Bezier Curve algorithm
Refer: Text-1: Chapter 8-10
9. Develop a menu driven program to fill the polygon using scan line algorithm
PART B MINI PROJECT
Student should develop mini project on the topics mentioned below or similar applications using Open
GL API. Consider all types of attributes like color, thickness, styles, font, background, speed etc., while
doing mini project.
(During the practical exam: the students should demonstrate and answer Viva-Voce)
Sample Topics:
Simulation of concepts of OS, Data structures, algorithms etc.
Laboratory Outcomes: The student should be able to:
• Apply the concepts of computer graphics
• Implement computer graphics applications using OpenGL
• Animate real world problems using OpenGL
Conduct of Practical Examination:
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick one experiment from
the lot with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick one
experiment from PART A and one experiment from PART B, with equal opportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made zero of
the changed part only.
• Marks Distribution (Courseed to change in accoradance with university regulations)
o) For laboratories having only one part – Procedure + Execution + Viva-Voce: 15+70+15 =
100 Marks
p) For laboratories having PART A and PART B
i. Part A – Procedure + Execution + Viva = 6 + 28 + 6 = 40 Marks
ii. Part B – Procedure + Execution + Viva = 9 + 42 + 9 = 60 Marks
MOBILE APPLICATION DEVELOPMENT
(Effective from the academic year 2018 -2019)
SEMESTER – VI
Course Code 18CSMP68 IA Marks 40
Number of Contact Hours/Week 0:0:2 Exam Marks 60
Total Number of Contact Hours 3 Hours/Week Exam Hours 03
CREDITS – 02
Laboratory Objectives:Thislaboratory (18CSMP68) will enable students to
• Learn and acquire the art of Android Programming.
• ConfigureAndroid studio to run the applications.
• Understand and implement Android's User interface functions.
• Create, modify and query on SQlite database.
• Inspect different methods of sharing data using services.
Descriptions (if any):
Installation procedure of the Android Studio/Java software must be demonstrated, carried out in
groups.
Students should use the latest version of Android Studio/Java to execute these programs.
All of these diagrams are for representational purpose only.Students are expected to improvise on it.
Programs List:
PART – A
1 Create an application to design aVisiting Card. The Visiting card should havea companylogoatthe
top right corner. The company name should be displayed in Capital letters, aligned to the center.
Information like the name of the employee, job title, phone number, address, email, fax and the
website address isto be displayed. Insert a horizontal line between the job title and the phone
number.
2 Develop an Android application usingcontrols like Button, TextView, EditText for designing a
calculatorhaving basic functionality like Addition, Subtraction, Multiplication,andDivision.
3 Create a SIGN Up activity with Username and Password. Validation of password should happen
based on the following rules:
On successful SIGN UP proceed to the next Login activity. Here the user should SIGN IN using
the Username and Password created during signup activity. If the Username and Password are
matched then navigate to the next activity whichdisplays a message saying “Successful Login” or
else display a toast message saying “Login Failed”.The user is given only two attempts and after
thatdisplay a toast message saying “Failed Login Attempts” and disable the SIGN IN button. Use
Bundle to transfer information from one activity to another.
4 Develop an application to set an image as wallpaper. On click of a button, the wallpaper image
should start to change randomly every 30 seconds.
5 Write a program to create an activity with two buttons START and STOP. On
pressingoftheSTART button, the activity must start the counter by displaying the numbers from
One and the counter must keep on counting until the STOP button is pressed. Display the counter
value in a TextViewcontrol.
6 Create two files of XML and JSON type with values for City_Name, Latitude, Longitude,
Temperature,andHumidity. Develop an application to create an activity with two buttons to parse
the XML and JSON files which when clicked should display the data in their respective layouts
side by side.
7 Develop a simple application withoneEditTextso that the user can write some text in it. Create a
button called “Convert Text to Speech” that converts the user input text into voice.
8 Create an activity like a phone dialer withCALLand SAVE buttons. On pressing the CALL
button, it must call the phone number and on pressing the SAVE button it must save the number
to the phone contacts.
PART - B
1 Write a program to enter Medicine Name, Date and Time of the Day as input from the user and
store it in the SQLite database. Input for Time of the Day should be either Morning or Afternoon
or Eveningor Night. Trigger an alarm based on the Date and Time of the Day and display the
Medicine Name.
2 Develop a content provider application with an activity called “Meeting Schedule” which takes
Date, Time and Meeting Agenda as input from the user and store this information into the SQLite
database. Create another application with an activity called “Meeting Info” having DatePicker
control, which on the selection of a date should display the Meeting Agenda information for that
particular date, else it should display a toast message saying “No Meeting on this Date”.
3 Create an application to receive an incoming SMS which is notified to the user. On clicking this
SMS notification, the message content and the number should be displayed on the screen. Use
appropriate emulator control to send the SMS message to your application.
4 Write a program to create an activity having a Text box, and also Save, Open and Create buttons.
The user has to write some text in the Text box. On pressing the Create button the text should be
saved as a text file in MkSDcard. On subsequent changes to the text, the Save button should be
pressed to store the latest content to the same file. On pressing the Open button, it should display
the contents from the previously stored files in the Text box. If the user tries to save the contents
in the Textbox to a file without creating it, then a toast message has to be displayed saying “First
Create a File”.
5 Create an application to demonstrate a basic media playerthat allows the user to Forward,
Backward, Play and Pause an audio. Also, make use of the indicator in the seek bar to move the
audio forward or backward as required.
7 Develop an application that makes use of the clipboard framework for copying and pasting of the
text. The activity consists of two EditText controls and two Buttons to trigger the copy and paste
functionality.
8 Create an AIDL service that calculates Car Loan EMI. The formula to calculate EMI is
E = P * (r(1+r)n)/((1+r)n-1)
where
E = The EMI payable on the car loan amount
P = The Car loan Principal Amount
r = The interest rate value computed on a monthly basis
n = The loan tenure in the form of months
The down payment amount has to be deducted from the principal amount paid towards buying the
Car. Develop an application that makes use of this AIDL service to calculate the EMI. This
application should have four EditText to read the PrincipalAmount, Down Payment, Interest Rate,
Loan Term (in months) and a button named as “Calculate Monthly EMI”. On click of this button,
the result should be shown in a TextView. Also, calculate the EMI by varying the Loan Term and
Interest Rate values.
• Create, test and debug Android application by setting up Android development environment.
• Implement adaptive, responsive user interfaces that work across a wide range of devices.
• Infer long running tasks and background work in Android applications.
• Demonstrate methods in storing, sharing and retrieving data in Android applications.
• Infer the role of permissions and security for Android applications.
Procedure to Conduct Practical Examination
• Experiment distribution
o For laboratories having only one part: Students are allowed to pick oneexperiment from the lot
with equal opportunity.
o For laboratories having PART A and PART B: Students are allowed to pick oneexperiment
from PART A and one experiment from PART B, with equalopportunity.
• Change of experiment is allowed only once and marks allotted for procedure to be made
zero of the changed part only.
Text Books:
1. Google Developer Training, "Android Developer Fundamentals Course – Concept
Reference”, Google Developer Training Team, 2017.
https://www.gitbook.com/book/google-developer-training/android-developer-fundamentals-
course-concepts/details
(Download pdf file from the above link)
Reference Books:
1. Erik Hellman, “Android Programming – Pushing the Limits”, 1st Edition, Wiley India Pvt Ltd,
2014. ISBN-13: 978-8126547197
2. Dawn Griffiths and David Griffiths, “Head First Android Development”, 1st Edition, O’Reilly
SPD Publishers, 2015. ISBN-13: 978-9352131341
3. Bill Phillips, Chris Stewart and Kristin Marsicano, “Android Programming: The Big Nerd
Ranch Guide”, 3rd Edition, Big Nerd Ranch Guides, 2017. ISBN-13: 978-0134706054