1
Fifth Semester
SETH JAI PARKASH MUKAND LAL
INSTITUTE OF ENGINEERING &
TECHNOLOGY, RADAUR
Student Hand Book
Session: 2020-2021
Name……………………………………………….
Roll No…..……………………………………
Department of Computer Science and Application (MCA Deptt.)
2
EXAMINATION SCHEME FOR MASTER OF COMPUTER APPLICATIONS (MCA)
(SIX-SEMESTER PROGRAMME)
Semester – V
Paper
No.
Title of the Paper Duration
Of Exam
Maximum Marks Total
Theory Sessional*
MCA-14-51 Compiler Design 3 Hours 80 20 100
MCA-14-52 Advanced Web Technology 3 Hours 80 20 100
MCA-14-53 Linux And Shell Programming 3 Hours 80 20 100
MCA-14-54 Mobile Application
Development
3 Hours 80 20 100
MCA-14-55 Elective 3 Hours 80 20 100
MCA-14-56 S/W Lab–Ix Based On MCA-
14-52
3 Hours 100
MCA-14-57 S/W Lab–X Based On MCA-
14-53 And Mca-14-54
3 Hours 100
MCA-14-58 Seminar 20
Total 720
Elective Papers
(v) Cloud Computing
3
MCA-14-51 COMPILER DESIGN
Maximum marks: 100 (External: 80, Internal: 20) Time: 3 hours Note: Examiner will be required to set NINE questions in all. Question Number 1 will consist of objective
type/short-answer type questions covering the entire syllabus. In addition to question no. 1, the examiner is required
to set eight more questions selecting two from each unit. Student will be required to attempt FIVE questions in all.
Question Number 1 will be compulsory. In addition to compulsory question, student will have to attempt four more
questions selecting one question from each Unit. All questions will carry equal marks.
UNIT – I
Compilers and Translators, Need of Translators, Tools used for compilation, Structure and Phases of Compiler,
Single-Pass and Multi-Pass Compilers, Bootstrapping, Compiler Construction Tools. Bootstrap compilers, Phases of
Compilation process.
Lexical Analysis: Design, Finite Automata and Regular Expressions, LEX package on LINUX systems. Process of
Lexical Analysis, Recognition of Regular Expressions.
UNIT – II
Syntax-Directed Translation: Translation Schemes, Implementation, Postfix Notation, Parse Trees and Syntax Trees,
Three-address code and representations, Flow of Control. Building Symbol Tables, Data Structures for symbol table, representing scope information.
Run Time Storage Administration: Types of Storage Allocation Schemes, Implementation of Stack Allocation
Scheme and Implementation of Block Structured Languages.
Error Detection and Recovery: Errors, Lexical-Phase Errors, Syntactic Phase Errors, Semantic Errors.
UNIT – III
Parsing Techniques: Top down & Bottom-up parsing, Shift Reduce parsing, Operator Precedence parsing, Predictive
Parsers. Left Recursion and its removal, Recursive Descent parser, LR parsers, Canonical Collection of LR(0) and
LR(1) items, SLR parsing tables, Canonical LR parsing tables, LALR parsing tables, Parsing Ambiguous
Grammars, Implementation of LR parsing tables, LL(k) and LR(k) Parsers, YACC package on LINUX systems.
UNIT – IV
Intermediate Code Generation: Need, Issues in the design of a code generator, Intermediate languages, Quadruples,
Register Allocation and Assignment statement, peephole optimization.
Code Optimization: Principle sources of Optimization, optimization of basic blocks, Loop Optimizations, DAG
Representation of Basic Blocks, Loop Invariant Computation, Reducible Flow Graphs, Global Data Flow Analysis, code improving transformation.
Text Books
1. Alfred V Aho, “Principles of Compiler Design, Narosa Publishing House.
2. Jean Paul Tremblay and Sorenson, “The Theory and Practice of Compiler Writing”, McGraw Hill. Reference Books:
1. Dhamdhere D.M, System programming and operating system, McGraw Hill.
2. Beck L. Leland, System Software, Pearson Education.
3. Aho, Sethi, & Ullman, Compilers Principles, Techniques and Tools, Pearson Education.
1. 4. Fischer, “Crafting a compiler in C”, Pearson Education. Rogers, Procedural Elements of Computer Graphics, McGraw Hill.
2. Anirban Mukhopadhyay, Arup Chattopadhyay, Introduction to Computer Graphics and Multimedia, Vikas.
3. Zhigang Xiang, Roy Plastock, Computer Graphics, Tata McGraw Hill.
4
Lecture Plan
MCA-14-51
Lectures Topics
1. Overview of Compilers and Translators
2. Need of Translators, Analysis-synthesis model of translation
3. Tools used for compilation
4. Structure and Phases of Compiler 5. Single-Pass Compilers
6. Multi-Pass Compilers
7. Bootstrapping & Compiler Construction Tools
8. Bootstrap compilers, Phases of Compilation process. 9. Process of lexical analysis 10. FSA, DFA
11. NFA, Regular Expression
12. LEX, Formal Grammar
13. LEX package on LINUX systems 14. Recognition of Regular Expressions
15. Translation Schemes, Implementation
16. Postfix Notation
17. Parse Trees and Syntax Trees
18. Three-address code and representations
19. Flow of Control, Symbol Tables 20. Data Structures for symbol table, scope information
21. Types of Storage Allocation
22. Implementation of Stack Allocation Scheme
23. Implementation of Block Structured Languages.
24. Error Detection and Recovery: Errors
25. Lexical-Phase Errors, Syntactic Phase Errors, Semantic Errors. 26. Parsing Techniques Top down & Bottom-up parsing,
27. Shift Reduce parsing,
28. Operator Precedence parsing,
29. Predictive Parsers. Left Recursion and its removal,
30. Recursive Descent parser, LR parsers,
31. Canonical Collection of LR(0) and LR(1) items, 32. SLR parsing tables, Canonical LR parsing tables,
33. LALR parsing tables,
34. Parsing Ambiguous Grammars,
35. Implementation of LR parsing tables, LL(k) and LR(k) Parsers,
36. YACC package on LINUX systems. 37. Need, Issues in the design of a code generator
38. Intermediate languages
39. Quadruples
40. Register Allocation and Assignment statement, Peephole optimization.
42. Principle sources of Optimization, Optimization of basic blocks,
43. Loop Optimizations, DAG Representation of Basic Blocks, 44. Loop Invariant Computation, Reducible Flow Graphs,
45. Global Data Flow Analysis, code improving transformation.
5
TUTORIAL SHEET – 1
1. What is the role of translators?
2. Describe analysis and synthesis model of translation with the help of diagram.
3. What tools are used for compilers? Explain.
4. a) Discuss the design of a one-pass Compiler. Give an account of differences between one
pass and two pass compilation schemes.
b) What is Program Relocatibility? Explain linking for program overlays.
5. Write short note on:
a) Bootstrap Compilers
b) DFA
6. What do you understand by formal grammars? Explain
TUTORIAL SHEET – 2
1. Write short notes on the following:
c) Lexical and System analysis phase.
d) YACC and CFG.
2. a) Explain the functioning of the compiler during Lexical and Syntax analysis phases.
b) What are the problems with single pass assembler? Explain.
3. a) What do you understand by Regular Grammar? How the regular expression can be
recognized?
b) Describe Context Free Grammar. How can a Parse Tree be drawn?
4. i) What are the problems encountered by interactive debugger while working on
optimized code?
ii) Explain LR Parser with example.
6. a) Explain Analysis and synthesis model of translation with diagram.
b) What is lexical analysis? Explain.
TUTORIAL SHEET – 3
1. Write short notes on the following:
6
i) Top-Down parsing technique
ii) Symbol table and Parsing table
2. a) What do you mean by Parsing? Distinguish between Shift Reduce parsing and Operator
Precedence parsing techniques.
b) Describe LR parser with an example.
3. Write notes on the following:
i) Constructing SLR Parsing tables.
ii) Automatic Parser generator
iii) Bottom up Parsing technique.
4. Give an overview of the compilation process for the compilers?
5. Explain regular Grammar, finite automation & context free grammar.
TUTORIAL SHEET – 4
1. Write notes on the following
i) Intermediate language
ii) Quadruples
a) What is Local Code Optimization? Why its need arises?
b) What are intermediate languages? How can one generate intermediate code for a declarative
statement?
3. a) Give an example of potential cases of code optimization.
b) List the issues in the design of a Code generator.
4. What do you understand by recursive macro expansion?
5. Differentiate between SLR, CLR and LALR?
6. Explain the following:
a) Peehole optimization
b) YACC package on LINUX systems
MCA/D-18
COMPILER DESiGN
MCA- 14-51
J’otal Pages : 03
10136
Time : Three Hours] [Maximum darks : 80
Note : Attempt Five questions in all, selecting one qtiesl,ioB
trom each Unit. Q. NO. 1 IS Dompulsof)’. All questik n-s
c ' eqns rrlarks,
1. (a) What do you mean by high level language ?
(b) Write a regular ex:pression for a language over
(0, 1) which starts or end .with either 00 or 11.
(e) What are syntax and semantic errors ?
(d) Why left recursion is not good for parsers ?
(e) What do you mean by invariant in code ’?
2. What do you mean by a compiler ? Explain the phases a
program undergoes dv i ny, compilation using suitable
example.
3. (a) What do yoti mean by Finite automation ? How are
they used in lexical analysis phase ?
(2-50f9) L-10136
(h) Draw a FA for the •'anguage L = (w : w e (a, b)*
&& n w) % 3 - 0 && nd,(w) % 2 0}
4. (a) What do you mean by 3-address code representation
of a code ? Explain.
(b) What is a symbol table * Why is it used in a
program † Explain which kind of information is
stored in it.
5. What is a storage allocation scheme for programs ?
Explain the types of allocation mechanism usign suitable
examples.
Unit IH
6. (a) What is a Top-Down parser ? When a grammar is
ready to be parsect by it ? Explain using suitalile
cxample.
(b) What is ambiguity in grammars ? Which parser is
able to handle amL*iguity an‹i how ?
7. Yt hat is Shift-Reduce parser ? Explain the LR parsing
algorithm on the below grammar as input :
li —+ c + r, s -+ i; T —. T•r. T + F. v —› (n). F -+ id
8. Exqlain the fo1l‹›iving
(a) Regic<tei allocation
(b) Intermediate languages.
9. (a) fi’liat do you mean by code optimization ? Explain
machine-dependent and independent optimization
techmc ues.
(b) What do you mean by DAG blocks ? Why are they
used in code optimization ?
11
MCA-14-52 ADVANCED WEB TECHNOLOGY
Maximum marks: 100 (External: 80, Internal: 20) Time: 3 hours
Note: Examiner will be required to set NINE questions in all. Question Number 1 will consist of objective
type/short-answer type questions covering the entire syllabus. In addition to question no. 1, the examiner is required
to set eight more questions selecting two from each unit. Student will be required to attempt FIVE questions in all. Question Number 1 will be compulsory. In addition to compulsory question, student will have to attempt four more
questions selecting one question from each Unit. All questions will carry equal marks.
UNIT – I
Introduction: DNS caching and prefetching, CSS Expressions and performance, Buffering, Weblog. Search Engines: Searching techniques used by search engines, keywords, advertisements, Search Engine
Optimization (SEO) for individual web pages: header entries, selection of URL, SEO for entire website: Hyperlinks
and link structure, page rank of Google, robots,
Pitfalls in Optimization: optimization and testing, keyword density, duplicate contents, broken links, poor
readability, navigation styles; tools for optimization: etracking, Google analytics.
UNIT – II
PHP: Introduction, Variables, Data Types, Operators and Expressions, Control Flow; Functions; Code Blocks and
Browser Output, Objects, String Manipulation and Regular Expressions, Authentication with PHP, Interaction with File System and Server, Form processing, Session Management, cookies, generating dynamic contents with
MySQL.
UNIT – III
Advanced Development: Object oriented JavaScript, callbacks, closures, modules, AJAX, JQuery: Introduction,
Traversing and Working with DOM, Listening to DOM events, Styling. Angular.js: Introduction, Directives, Forms,
Services, MVC development.
UNIT – IV
Optimization: Optimizing images, Load balancers, Tuning MYSQL, query caching, query execution and
optimization, traffic generation.
Security: Introduction, Handling user access and user input, Bypassing client-side controls, Authentication, Session
management and Session hijacking, Attacks on data stores: SQL query log, SQL injections; Attacks on Users: XSS
attacks; Cross-site Request Forgery (CXRF), Dos and DDos attacks, DNS hijacking.
Reference Books:
1. Peter Smith, “Professional Website performance”, Wiley India Pvt. Ltd. 2. Deitel H.M., Deitel P.J., “Internet & World Wide Web: How to program”, Pearson Education. 3.Kogent Learning, “Web Technologies: HTML, JavaScript, PHP, Java, JSP, XML, AJAX – Black Book”,
Wiley India Pvt. Ltd.
4. Boronczyk, Naramore, “Beginning PHP, Apache, MySQL Web Development”, Wiley India Pvt.
LtdStuttard D., Pinto M., “The Web Application Hackers Handbook”, Wiley India Pvt.
12
Lectures Topics
Lecture Plan
MCA-14-52
1. DNS caching and prefetching
2. CSS Expressions and performance
3. Buffering, Weblog
4. Search Engines 5. Searching techniques used by search engines
6. Keywords, advertisements
7. Search Engine Optimization (SEO) for individual web pages
8. Header entries, selection of URL
9. SEO for entire website: Hyperlinks and link structure, page rank of Google
10. Robots 11. Optimization and testing, keyword density
12. Duplicate contents, broken links, poor readability
13. Navigation styles
14. Tools for optimization: etracking, Google analytics.
15. PHP: Introduction, Variables
16. Data Types, Operators and Expressions 17. Control Flow; Functions
18. Code Blocks and Browser Output
19. Objects, String Manipulation
20. Regular Expressions
21. Authentication with PHP 22. Interaction with File System and Server
23. Form processing, Session Management
24. Cookies
25. Generating dynamic contents with MySQL.
26. Object oriented JavaScript 27. Callbacks, closures 28. Modules
29. AJAX
30. JQuery: Introduction
31. Traversing and Working with DOM
32. Listening to DOM events, Styling
33. Angular.js: Introduction, Directives 34. Forms, Services
35. MVC development.
36. Optimizing images, Load balancers
37. Tuning MYSQL 38. Query execution and optimization 39. Traffic generation.
40. Security: Introduction, Handling user access and user input
41. Bypassing client-side controls, Authentication
42. Session management and Session hijacking
43. Attacks on data stores: SQL query log
44. SQL injections; Attacks on Users: XSS attacks 45. Cross-site Request Forgery (CXRF), Dos and DDos attacks
46. DNS hijacking
13
TUTORIAL SHEET 1
1. What is search engine optimization? Explain.
2. What is Web Engneering? Explain its characteristics with example. 3. Differentiate Web Application and Conventional Software.
4. What is Web Server? Explain its features with example.
5.i) Explain all the attributes of List tag? Write a HTML code to create a list with
subparts.
ii) Explain the difference between HTML and SGML.
iii) What is cookie? How can we create cookies?
TUTORIAL SHEET 2
1. Create a web page using form, list and table.
2. What are Client Side Programming and Server Side Programing.Give examples?
3. Explain: (i) Regular expression
(ii)Navigation styles
4. i) What is Style Sheet? Create a web page using Style Sheet.
ii) Explain Servlet Life cycle.
5. What is Session management? Explain.
TUTORIAL SHEET 3
1. Explain the following: (i) Cookies
(ii)Session
(iii)WWW
(iv)AJAX
2. Create a web page using Frames.
3. Explain all style properties of style sheet. 4. What is Web Browser? Explain its functions. 5 i) Explain Server Architecture.
ii) What are Cascading style sheets? What is their importance in HTML? Write CSS code for altering
format of a regular text.
TUTORIAL SHEET 4
1. What is MVC structure? Explain.
2. Explain
(i) Debugger
(ii) SGML (iii) DNS hijacking (iv) XSS and DDOS attacks
3. How can we generate dynamic contents using MYSQL?
4. Explain:
i) Virtual host
ii) Secure Servers
iii) SQL query log
5. Explain Object oriented java script with the help of an example.
6
’4
4
!14
18
MCA-14-53 LINUX AND SHELL PROGRAMMING
Maximum marks: 100 (External: 80, Internal: 20) Time: 3 hours
Note: Examiner will be required to set NINE questions in all. Question Number 1 will consist of objective
type/short-answer type questions covering the entire syllabus. In addition to question no. 1, the examiner is required
to set eight more questions selecting two from each unit. Student will be required to attempt FIVE questions in all.
Question Number 1 will be compulsory. In addition to compulsory question, student will have to attempt four more
questions selecting one question from each Unit. All questions will carry equal marks.
UNIT – I
Introduction: Basic features, architecture, distributions, Installation requirements; Kernel, Shell.
File System: boot block, super block, inode table, data blocks, accessing files, storage of files, standard directories,
system calls for files, file and disk related commands, hard disk partitions; System startup and shut down processes,
init and run levels, rc and init files.
UNIT – II
C language compiler, layout of C program in memory, process environment, kernel support, process images,
managing zombie and orphan processes, use of makefiles, dependency calculations, dynamic loader, debugging with
gdb.
UNIT – III
User Management: Adding new users and groups, super users, creating and mounting file systems. User management commands.
Security and Connections: viewing and changing the permissions and ownerships of files and directories, creating
networks, Signal generation and handling, Environment variables, Commands: man, ping, ifconfig, raise, alarm,
pause, abort etc.
UNIT – IV
Shell: meaning, types; connecting processes with pipes, tee, redirect input and output, background processes,
managing multiple processes, changing priority, scheduling of processes, at, batch and cron commands, process
related commands, filters.
Shell Programming: Introduction, shell programming in various shells, file name substitution, read command, operators, conditional statements, looping and case statements, expr statement, command line arguments, parameter
passing and arguments, associative arrays, string and mathematical functions, arrays and functions, libraries, shell
variables, shell programs to automate system tasks, interrupt processing, shell scripts for administrators, debugging
shell scripts.
Text Books:
1. Matthew Neil, Stones Richard, “Beginning Linux Programming”, 4th Ed., Wiley India Pvt. Ltd.
2. John Goerzen, “Linux Programming Bible”, IDG Books, New Delhi.
Reference Books:
1. Negus Christopher, “Linux Bible”, 8th Ed., Wiley India Pvt. Ltd. 2. Petersen Richard, “Linux: The Complete Reference”, 6th Ed., Tata Mcgraw Hill.
3. Venkateshmurthy M.G., “Introduction to Unix & Shell Programming”, Pearson Education.
19
Lectures Topics
Lecture Plan
MCA-14-53
1. Basic features ,Architecture
2. Distributions, Installation requirements
3. Kernel, Shell
4. File System: boot block, super block, inode table, data blocks 5. Accessing files, storage of files
6. Standard directories, system calls for files,
7. File and disk related commands,
8. System startup and shut down processes,
9. init and run levels, rc and init files.
10. C language compiler 11. Layout of C program in memory
12. Process environment, kernel support, process images
13. Managing zombie and orphan processes
14. Use of makefiles
15. Dependency calculations, dynamic loader
16. Debugging with gdb. 17. Adding new users and groups
18. Super users, creating and mounting file systems
19. User management commands.
20. Security and Connections
21. Viewing and changing the permissions and ownerships of files and directories 22. Creating networks
23. Signal generation and handling
24. Environment variables, man, ping
25. ifconfig, raise, alarm, pause, abort commands
26. Shell: meaning, types 27. Connecting processes with pipes, tee 28. Redirect input and output, background processes,
29. Managing multiple processes, changing priority,
30. Scheduling of processes, at, batch and cron commands, process related commands
31. Filters
32. Shell Programming introduction
33. Shell programming in various shells 34. File name substitution, read command,
35. Operators, conditional statements
36. Looping and case statements, expr statement,
37. Command line arguments, parameter passing and arguments 38. Associative arrays, string and mathematical functions 39. Arrays and functions, libraries, shell variables
40. Shell programs to automate system tasks
41. Interrupt processing, shell scripts for administrators
42. Debugging shell scripts.
20
TUTORIAL SHEET 1
1. a) Difference between Linux and UNIX. b) Explain various regular expressions in brief. c) Explain structure of file system in brief. d) Explain booting process in Linux. f) How new user can be added and current user can be removed in Linux by system administrator? g) Explain various optimization levels with C under Linux. h) What is inode entry structure? Explain with the help of a diagram.
2 a) Explain following commands in Linux:
b)
i) ls ii) cat iii) wc iv) pwd v) man
vi) who vii) bc viii) du.
Describe grep and sed filters in Linus with examples and all the possible options.
3 a) Name various Linus distributions along with architecture of Linux operating system. b) Explain following regular expressions in detail: (i) + (ii)? (iii) IRE (iv) TRE(v) * (vi) [] (vii) ^
4. a) Explain C-compiler provided & how it is used?
b) How we manage the projets in Linux? c) What are makefiles and dependency calculations?
5. i) What is memory management? Explain the concept of dynamic and static memory.
ii) What is gdb and how it is used?
iii) Explain network file and interrupt processing.
TUTORIAL SHEET 2
1. a) Discuss main features of Unix.How it differs from Linux?
b) Explain Types of shells?
c) How shell acts as command interpreter?
d) Discuss UNIX system organization and explain functions of kernel.
e) What is logging in and logging out?
2. i) What are the methods to change the permissions of a file? Explain.
ii) Explain shell variables and creation of common substitution.
iii) What are loops and functions in shell?
3. a) What are rc and init files? Explain the purpose.
b) Explain ifconfig, raise, alarm, pause, abort commands
4. What is file system in Linux? Discuss the standard file system. Explain various file system types in Linux.
How files can be mounted and unmounted in Linux?
5. a) How jobs can be controlled in Linux?
b) What do you understand by signals in Linux? How signals can be handled in Linux?
21
TUTORIAL SHEET 3
1. a) Discuss various shell operators in Linux.
b) Explain loops in shell in Linux.
2 a) Write a shell script to copy multiple files without overwriting.
b) How super user status can be acquired? Also discuss various privileges given to administrator.
3. i) Explain authentication and password administration?
ii) What are privileges?
iv) Explain shell programming and how it is different from other programming?
4. Write short note on
a) Initialization of process
b) Debugging with gdb
c) Scripts in shell programming
5. Write short note on
a) Scripts in shell programming
b) Debugging gdb
c) C-compiler options
TUTORIAL SHEET 4
1. What do you understand by make file? How projects can be handled using make file? Design a make file
with the help of dependency calculators. Explain with the help of examples.
2. a) How debugging can be done with gdb? Explain.
b) How static and dynamic libraries can be built and used?
3. i) What are regular expressions?
ii) What is grep, egrep, fgrep? Discuss with examples.
4. a) What are wildchars? What is pattern matching and syntax in regular expression?
b) What are character classes?
5. Explain the following in C-environment
a) C-compiler vs editor
b) Memory management
c) Managing projects
d) Using static and dynamic libraries
26
MCA-14-54 MOBILE APPLICATION DEVELOPMENT
Maximum marks: 100 (External: 80, Internal: 20) Time: 3 hours
Note: Examiner will be required to set NINE questions in all. Question Number 1 will consist of objective
type/short-answer type questions covering the entire syllabus. In addition to question no. 1, the examiner is required to set eight more questions selecting two from each unit. Student will be required to attempt FIVE questions in all.
Question Number 1 will be compulsory. In addition to compulsory question, student will have to attempt four more
questions selecting one question from each Unit. All questions will carry equal marks.
UNIT – I
Introduction: Mobile Applications, Characteristics and Benefits, Application Model, Infrastructure and Managing
Resources, Mobile Software Engineering, Frameworks and Tools, Mobile devices Profiles.
Application Design: Memory Management, Design patterns for limited memory, Work flow for Application
Development, Techniques for composing Applications, Dynamic Linking, Plug-ins and rules of thumb for using
DLLs, Concurrency and Resource Management.
Development: Intents and Services, Storing and Retrieving data, Communication via the Web, Notification and
Alarms, Graphics and Multimedia, Telephony, Location based services, Packaging and Deployment, Security and
Hacking
UNIT-II
Google Android: Introduction, JDK & ADK, Android Application Architecture, Traditional Programming Model and Android, Activities, Intents, Tasks, Services; Runtime Environment for Applications, Callbacks and Override in
application, Concurrency, Serialization, Application Signing, Publishing your application, API keys for Google
Maps.
Android Framework: GUI and MVC Architecture, Fragments and Multi-platform development, Creating Widgets:
Layouts, Canvas Drawing, Shadows, Gradients; Applications with multiple screens; Handling database in Android:
Android Database class, Using the Database API.
UNIT-III
Android Applications: Working with Eclipse and Android, Various life cycles for applications, Building a User
Interface: Blank UI, Folding and Unfolding a scalable UI, Making Activity, Fragment, Multiple layouts; Content
Provider, Location and Mapping: location based services, Mapping, Google Maps activity, Working with MapView
and MapActivity; Playing and Recording of Audio and Video in application; Sensors and Near Field
Communication; Native libraries and headers, Building client server applications.
UNIT-IV
Other Platforms: Apple iPhone Platform, Introduction to iPhone OS and iOS, UI tool kit interfaces, Event handling
and Graphics services, Layer Animation.
Cross-platform development: Introduction to QT, Platforms supported by QT, Modules and Tools of QT,
Introduction to Unity engine for game development.
Reference Books:
1. Zigurd Mednieks, Laird Dornin, G,Blake Meike and Masumi Nakamura “Programming Android”, O’Reilly
Publications.
2. Wei-Meng Lee, “Beginning iPhone SDK Progrmming with Objective-C”, Wiley India Ltd.
3. James C.S. “Android Application development”, CENGAGE Learning.
4. Gargenta M., Nakamura M., “Learning Android”, O’Reilly Publications.
27
Lecture Plan
MCA-14-54
Lectures Topics
1. Mobile Applications, Characteristics and Benefits 2. Application Model, Infrastructure and Managing Resources 3. Mobile Software Engineering
4. Frameworks and Tools
5. Mobile devices Profiles.
6. Application Design: Memory Management
7. Design patterns for limited memory
8. Work flow for Application Development 9. Techniques for composing Applications
10. Dynamic Linking, Plug-ins and rules of thumb for using DLLs
11. Concurrency and Resource Management.
12. Development: Intents and Services Storing and Retrieving data
13. Communication via the Web
14. Notification and Alarms, Graphics and Multimedia 15. Telephony, Location based services
16. Packaging and Deployment, Security and Hacking
17. Google Android: Introduction, JDK & ADK
18. Android Application Architecture
19. Traditional Programming Model and Android, Activities 20. Intents, Tasks, Services
21. Runtime Environment for Applications
22. Callbacks and Override in application, Concurrency
23. Serialization, Application Signing
24. Publishing your application, API keys for Google Maps.
25. Android Framework: GUI and MVC Architecture 26. Fragments and Multi-platform development
27. Creating Widgets: Layouts, Canvas Drawing
28. Shadows, Gradients; Applications with multiple screens
29. Handling database in Android: Android Database class, Using the Database API.
30. Android Applications: Working with Eclipse and Android
31. Various life cycles for applications 32. Building a User Interface: Blank UI, Folding and Unfolding a scalable UI
33. Making Activity, Fragment
34. Multiple layouts, Content Provider
35. Location based services, Mapping, Google Maps activity
36. Working with MapView and MapActivity
37. Playing and Recording of Audio and Video in application 38. Sensors and Near Field Communication
39. Native libraries and headers, Building client server applications.
40. Apple iPhone Platform
41. Introduction to iPhone OS and iOS 42. UI tool kit interfaces 43. Event handling and Graphics services, Layer Animation.
44. Introduction to QT, Platforms supported by QT
45. Modules and Tools of QT
46. Introduction to Unity engine for game development.
28
Tutorial Sheet-1
1. Distinguish between the following concept :
(a) JDK and ADK
(b) intents, tasks and services of Mobile app
2. What are Mobile applications? Explain their characteristics and benefits.
3. Explain the application model with the help of suitable diagram.
4. Explain framework and various tools of mobile app.
Tutorial Sheet -2
1. Explain Android Application Architecture.
2. How Traditional Programming Model is different from Android.
3. Explain Activity Life Cycle.
4. Define the process of Application Signing.
5. Explain the concept of concurrency and serialization.
Tutorial Sheet -3
1. What is a Google Maps API key?
2. Explain Android GUI architecture.
3. What are the fragments? Explain fragment life cycle. How they achieve multiplatform support.
4. Canvas Drawing
5. Explain SQL and Database centric data model for Android applications.
Tutorial Sheet -4
1. What is the function of Database API?
2. What are the various life cycles for applications?
3. What are the content providers? Explain the process of writing and integrating a content provider.
4. How sensors and near field communication takes place.
5. How can we make applications with multiple screens?
Tutorial Sheet -5
1. What is Media Store in Android?
2. How Audio and Video recording takes place in Android?
3. Explain the process of Audio and Video playback.
4. How mobile phones provide Location based Services.
5. Explain Map View and Map Activity.
Roll No. ....... ................. Total Pages : 03
MCA/D-18 10139
MOBILE APPLICATION DEVELOPMENT
MCA-14-54
Time : Three Hours] Maximum Marks .: 80
Note : Attempt five questions in all, selecting at least One
question from each Unit. Q. No. 1 is compulmry.
1. (a)
(b)
tc)
.(d)
(e)
(#
(g)
#)
What is the lmobile applications model 7
Name the various security threats in a mobile
application.
Name the different variants of android,
now can database be connected to android ?
What are the things that should be kept in mind
while designing a UI ?
What .is meant by near field communication 7
What is the basic difference between android and
apple iPhone platform ?
Comment on the purpose of Unity. 8>2=16
P.T.O.
2. (a)
(b)
3. (a)
Q)
4. (a)
(b)
y. (a)
G10139
Discuss, the various types frameworks for mobile
applications. 8
What is meant by plug-ins ? How .these can be
added and used in mobile application † 8
What is meant by concurrency † How are .resources
:managed in a concurrent environment ? 8
How can a mobile application use and interact with
Web based services 1† 8
Differentiate between traditional programming and
android programming using suitable examples. 8
What are the various activities and intents that can
be added to .google android applications 7 Explain.
8
How can you create widges in antlroid * Explain
using a suitable example. 8
What are tire various APIs for database ? How
these can :be used by android ? 8
2
Unit III
6. What are the various locations based sew ices in andic›id
How' can you perform geoglc map activities ID dr
application ? Explain in detail. 16
7. How’ can you build client server applications in andrr› id ' '
Explain using suitables, I ñ
Unit IV
8. (a) A'ritc show note on I OS.
(b) Llov' event handling is done in iPiit ries " s
9. What is QT '? Explain the vaTious platforms supprotecl !•
QT along with x’arious tool› o1‘ QT. l I›
29
MCA-14-55 CLOUD COMPUTING
Maximum marks: 100 (External: 80, Internal: 20) Time: 3 hours
Note: Examiner will be required to set NINE questions in all. Question Number 1 will consist of objective
type/short-answer type questions covering the entire syllabus. In addition to question no. 1, the examiner is required
to set eight more questions selecting two from each unit. Student will be required to attempt FIVE questions in all. Question Number 1 will be compulsory. In addition to compulsory question, student will have to attempt four more
questions selecting one question from each Unit. All questions will carry equal marks.
UNIT – I
Cloud Computing: Definition, Roots of Clouds, Characteristics, Cloud Architecture – Public, Private, Hybrid,
Community, Advantages & Disadvantages of Cloud Computing.
Virtualization: Benefits & Drawbacks of Virtualization, Virtualization Types – Operating System Virtualization,
Platform Virtualization, Storage Virtualization, Network Virtualization, Application Virtualization, Virtualization
Technologies.
UNIT – II
Cloud Services & Platforms: Compute services, Storage services Database services, Application Services, Queuing
services, E-mail services, Notification services, Media services, Content delivery services, Analytics services,
Deployment & management services, Identity & access management services. Case studies of these services.
Federated & Multimedia Cloud Computing: Architecture, Features of Federation Types, Federation Scenarios,
Layers Enhancement of Federation; Multimedia Cloud.
UNIT – III
Python: Introduction, Installation, Data types: Numbers, Lists, Tuples, Sets, Dictionaries, Files; Input/Output
Statements, Control Flow statements, Functions and Variables, Object-Oriented Programming: State, Class, Object,
Relationship.
UNIT – IV
Python in Cloud Computing: Iterators & Generators, Functional programming: Recursion, Higher Order Functions;
Python for Google Cloud Platform and Windows Azure Platform; Packages: JSON, SMTPLib, NumPy, PiCloud,
Django; Cloud Application Development in Python.
Text Books:
1. Arshdeep Bahga, Vijay Madisetti, “Cloud Computing – A Hands-on Approach”, University Press, 2014
2. Rajkumar Buyya, James Broberg, Andrzej Goscinski, “Cloud Computing – Principles and Paradigms”, Wiley
India Pvt. Ltd.
3. Mark Lutz, “Learning Python”, O’Reilly Publications.
Reference Books:
1. Barrie Sosinsky, “Cloud Computing Bible”, Wiley India Pvt. Ltd. Jean Paul Tremblay and Sorenson
The Theory and Practice of Compiler Writing, McGraw Hill.
2. Donovan J. John, System Programming, Tata McGraw Hill.
30
Lecture Plan
MCA-14-55
Lectures Topics
1. Cloud Computing: Definition, Roots of Clouds
2. Characteristics, Cloud Architecture – Public, Private, Hybrid
3. Community, Advantages & Disadvantages of Cloud Computing. 4. Virtualization: Benefits & Drawbacks of Virtualization
5. Virtualization Types – Operating System Virtualization
6. Platform Virtualization, Storage Virtualization
7. Network Virtualization, Application Virtualization
8. Virtualization Technologies. 9. Cloud Services & Platforms: Compute services 10. Storage services Database services
11. Application Services, Queuing services
12. E-mail services, Notification services
13. Media services, Content delivery services
14. Analytics services, Deployment & management services
15. Identity & access management services 16. Case studies of these services.
17. Federated & Multimedia Cloud Computing: Architecture
18. Features of Federation Types, Federation Scenarios
19. Layers Enhancement of Federation
20. Multimedia Cloud. 21. Python: Introduction
22. Installation
23. Data types: Numbers, Lists, Tuples
24. Sets, Dictionaries, Files
25. Input/Output Statements 26. Control Flow statements 27. Functions and Variables
28. Object-Oriented Programming: State, Class
29. Object, Relationship.
30. Python in Cloud Computing
31. Iterators & Generators
32. Functional programming: Recursion 33. Higher Order Functions
34. Python for Google Cloud Platform
35. Python for Windows Azure Platform
36. Packages: JSON
37. SMTPLib, NumPy
38. PiCloud, Django 39. Cloud Application Development in Python
40. -----------Do-------------
31
TUTORIAL SHEET 1
1. What are the roots of clouds and its characteristics.
2. Explain cloud architecture
3. Virtualization: Benefits & Drawbacks of Virtualization
4. Explain Platform Virtualization, Storage Virtualization, Network Virtualization.
TUTORIAL SHEET 2
1. What are Compute services, Storage services Database services, Application Services.
2. Explain Federated & Multimedia Cloud Computing Architecture?
3. What is Federation Scenarios? Explain Layers Enhancement of Federation.
4. Explain Multimedia Cloud.
TUTORIAL SHEET 3
1. Give Introduction and steps of Python Installation.
2. What is Function in Python?
3. Explain State, Class, Object, Relationship in terms of Object-Oriented Programming
TUTORIAL SHEET 4
1. How Python is implemented in cloud computing.
2. Explain Python for Google Cloud Platform
3. Explain Cloud Application Development in Python.
38
MCA-14-56
Software Laboratory X (Based on MCA-14-52)
Advanced Web Technology
Create a design for the 3 websites according to prescribed design.
Portal 1
40
Portal 3
Implement the following PHP + MySQL programs to develop the above applications.
1. Create a form for new user (signup form) registration and validate the form using J-Query and display error
messages.
41
2. Create a login form for administrator and other users (Like buyer, supplier, and customer) with proper
validation and forgot password provision.
3. Implement search option to search the website content.
4. Using SESSION management technique implement the HIT Counter.
5. To store current date-time in a COOKIE and display the “Last visited on date-time on the web page
upon reopening of the same page.
Implement the following for Portal 1 (I-Shop)
Create MySQL database to store all the products form different suppliers under different
categories (Like i-Phone, i-Pad, i-Pod, Mac-book, Mac Desktop computers and accessories etc.)
a) Develop admin panel to store the products under various categories.
b) Write code to view all the products form different suppliers.
Apply role based security using SESSION management techniques and manage the users
according to the following rule:
a) There is an admin of the site that can view all the users logged in. When a user remains idle up to
5 minutes after login, it will show him as an Offline user.
b) Assign the rights of opening web page according to role as following:
Customer: User can only view the products from different suppliers.
Buyer: Buyer can buy different products from different suppliers. (Implement shopping cart
application)
Supplier: Supplier can view/edit only his own products.
Administrator: Administrator can allow/edit different users and suppliers.
Implement the following for Portal II (The Place)
Create MySQL database to store all the hotel packages for different places from different
hotels/venders under different categories (Silver Package, Golden Package, Premium Package
etc.)
c) Develop admin panel to store the hotel packages under various categories.
d) Write code to view all the hotel packages from different venders.
Apply role based security using SESSION management techniques and manage the users
according to the following rule:
c) There is an admin of the site that can view all the users logged in. When a user remains idle up to
5 minutes after login, it will show him as an Offline user.
42
d) Assign the rights of opening web page according to role as following:
Customer: User can only view the hotel packages from different venders.
Buyer: Buyer can buy different packages from different venders. (Implement shopping cart
application)
Vender: Vender can view/edit only his own Packages/Places/Plans.
Administrator: Administrator can allow/edit different Buyers and venders.
Implement the following for Portal III (Job Listing)
Create MySQL database to store all the jobs form different employers under different categories
(Engineering, Teaching, Office, Manpower etc.)
e) Develop admin panel to store the jobs under various categories.
f) Write code to view all the current openings form different employers.
Apply role based security using SESSION management techniques and manage the users
according to the following rule:
e) There is an admin of the site that can view all the users logged in. When a user remains idle up to
5 minutes after login, it will show him as an Offline user.
f) Assign the rights of opening web page according to role as following:
User: User can only view the jobs posted by different employers. suppliers.
Jobseeker: Registered jobseeker can buy different membership plans from different consultants.
(Implement shopping cart application)
Employers: Employers can insert/edit/view his own information.
Administrator: Administrator can allow/edit different jobseeker and employers.
43
MCA-14-57
Software Laboratory X (Based on MCA-14-53)
Linux & Shell Programming
1. Write a simple shell program to print:
1. Current date, usemame and current directory
2. List all the files in the current directory beginning with a’
3. Print contains of file from given line number to next given number of lines
Write a shell program to display pay-slip of an employee with ssn for following if:
a) Bp>25000, bra 10%, da = 90%, ta = 8%
b) Bp>10000&<25000, bra = 8%, da = 80%, ta = 7%
c) 13p<l0000, bra = 6%, da 60%, ta = 5%
2. Shell Script Program to perform all Arithmetic operations on integers.
3. Shell Script program to findArea of Square, Rectangle, Circle
5. Write shell script to show various system configuration like
1) Currently logged user and his log name
2) Your current shell
3) Your current shell
4) Your operating system type 5) Your current path setting
6) Your current working directory
7) Show Currently logged number of users
8) About your os and version, release number, kernel version
9) Show all available shells
10) Show mouse settings
11) Show computer CPU information like processor type, sped etc
12) Show memory information
13) Show hard disk information like size of hard-disk, cache memory, model etc.
14) File system (Mounted)
6. Shell Script Program to fmd whether number is +ve, -ye or 0
7. Script to use a command from the given Menu:
1. Displays a long listing of files
2. Displays long listing of files including hidden files
3. Delete files from the directory
4. Copy contents of one file to another
5. Count number of files in a Directory
6. Merge one file to another and display the contents of file.
8. Shell Script Program to print natural numbers from ito 10using WHILE loop.
9. Shell Script Program to print multiplication table of any number using FOR loop.
10. Shell Script Program to print Employee Payroll
11. Shell script program to accept a character and check whether it is an
1. Lower case alphabet
2. Upper case alphabet
3. A digit
44
4. Special Symbol
5. Vowel
Using case control structure
12. Shell Script Program to count number of odd and digits within a given number
13. Using case esac structure
• Find the number of users logged into the system Print the
calendar for current year
• Print the date
14. Shell Script Program to perform all Arithmetic Operations using Command line
Arguments
15. Shell Script Program to check whether given file is a directory or not
16. Write a program inc to implement:
1. Selection sort
2. Bubble sort
3. Binary Search
I7 . Shell Script Program to search whether element is present is in the list or not
18. Shell script Program to implement read, write. execute permissions 19. Write an awk script :
a) Which takes name, age, class of the student as input
b) Print the record of student data file c) Search the record of the student
20. Shell Script Program for the following : a)FCFS Algorithm
b) SJF Algorithm c) Priority Scheduling
21. Shell script Program for the following :
a)To see currently running Process
b) To stop any process by PID i'e' to kill process
c) To stop processes by name i'e' to kill process
d) To get information about all running process e)To stop all process except your shell
f) To display the owner of the process along with the processes g) To see if a particular process is running or not' h) To see currently running processes and other information like memory and CPU usage we
realtime updates
i) To display a tree of Processes
22. Script to convert JPEG images to PNG images, where the image names are provided on the command
line possibly via wildcards instead of each being listed within the script.
23. Shell script to find out all the files under a directory and its subdirectories' This takes not
consideration only those files or directories which do not have spaces or New lines in their name'
45
24. Write a shell to search for a pattern from a file, in the pattern and file name should be supplied by a
user.
25. Implements ed commands.
26. Write script to demonstrate the use of Grep with Regular Expression and files 27 . Menu driven shell script to listing files, present working directory process running, display
current system date 28'Program to find which users log in and at what time using grep
29. Implement c files using make files : . create a file hellofunc.c that defines a function my PrintHelloMake Q which takes Prints
student record
. create a file hellomake.c which calls a function myPrintHelloMakeQ defined in hellofunc.c which takes as input student name, age, class and pass these as arguments'
. hellomake.h declare the function void myPrintHelloMake Q
46
MCA-14-57
Software Laboratory X (Based on MCA-14-54)
Mobile Application Development
1. Create an App to convert the temperature into Degree and Fahrenheit
Clicking on the button (Celsius or Fahrenheit) generate the temperature value in
corresponding unit while clearing the information in other output text view.
2. Develop a calculator App :
3. Create an app for maintaining phone contacts “MY CONTACTS”
Step1: design the layout as shown below
Step2: maintain a small database of contacts using “SQL-Lite”; to store and search the contacts.
To Search a contact, type name in a text box.
In update contact the already stored information will be visible to the user in the text boxes
“Enter your name” or “phone number” instead of default text.
47
4. Create an application for the “Life Insurance Corporation (LIC) of India” having following
menus:
HOME – Information about LIC
PRODUCTS- Insurance plans, Endowment Plans, Money Back Plans, Term
Assurance Plans, and Health Plans etc.
Group Schemes – information about various group schemes
Customer Services – SMS Enquiry, Tax benefit, Policy guidelines, Phone
Helpline, Policy Status etc.
Premium Payment – Payment at cash counter, Payment through alternate channels.
5. Create an application to check the “University Results”, the results are maintained on the server.
Step 1: Layout of the application shown below:
Step 2: Create the database with the fields as shown
below: Step 3: Populate the database and then fetch the
results.
48
6. Create a Messenger Application “MY CIRCLE” , for Chat, Call and E-mail facility:
When you press on the E-mail tab, the list of contacts will be displayed; select the
contact to send the e-mail. Similarly select for call and chat.
Add to my circle should add a new contact with name, phone number and e-mail-id.
7. Create a GPS Vehicle tracking app “My Way”
1) App should track the current location of the vehicle.
2) View your location history by going back to a specific day and time.
3) Set boundaries (Geo-Fences) which send an alert when crossed into or out of.
4) Find out the speed of the Vehicle.
5) Set a speed limit which sends an alert when broken.
49
8. Create an application for the “Online Shopping”
Step 1: Design the layout for the online shopping point
Step 2: Create a Database to store the products with their features like price,
category etc. Step 3: Apply filters to sort the items according to price, brand and
color etc.
50
9. Develop a Gaming Application: In this game the player collects the coins by jumping
and makes score. The app should have
High score page
Volume Control Page