0% found this document useful (0 votes)
132 views60 pages

M.Sc. Computer Science (Part-I) (For Colleges) - 19.092019

This document outlines the revised syllabus for the M.Sc. (Computer Science) program at Savitribai Phule Pune University, to be implemented in the 2019-2020 academic year. The syllabus covers 8 semesters over 2 years and includes both theory and practical courses. Students will study core compulsory subjects as well as choose optional subjects each semester. The syllabus aims to provide skills for learning new technologies and understanding their effects on society. It builds on the previous syllabus but incorporates changes to align with the new credit-based system.

Uploaded by

Anigrah Raj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
132 views60 pages

M.Sc. Computer Science (Part-I) (For Colleges) - 19.092019

This document outlines the revised syllabus for the M.Sc. (Computer Science) program at Savitribai Phule Pune University, to be implemented in the 2019-2020 academic year. The syllabus covers 8 semesters over 2 years and includes both theory and practical courses. Students will study core compulsory subjects as well as choose optional subjects each semester. The syllabus aims to provide skills for learning new technologies and understanding their effects on society. It builds on the previous syllabus but incorporates changes to align with the new credit-based system.

Uploaded by

Anigrah Raj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

M. Sc.

[I] Computer Science

Savitribai Phule Pune University


(Formerly University of Pune)

Two Year Degree Program in Computer Science

(Faculty of Science & Technology)

Revised Syllabi for

M.Sc. (Computer Science) Part-I

(For Colleges Affiliated to Savitribai Phule Pune University)

Choice Based Credit System Syllabus


To be implemented from Academic Year 2019-2020
M. Sc. [I] Computer Science

Title of the Course: M.Sc. (Computer Science)

Preamble:

This syllabus is the extension of the existing syllabus which is currently being taught to
M.Sc. (Computer Science) of Savitribai Phule Pune University for the last few years, but
modified to be placed within the credit based system to be implemented from the academic
year 2019-2020. However, there are few changes incorporated in the existing syllabus.
It is believed that the proposed changes as part of the credit based system will bring a
qualitative change in the way M.Sc. (Computer Science) is taught, which will offer a more
enriched learning experience. It aims to provide technology-oriented students with the
knowledge and ability to develop creative solutions, and better understand the effects of
future developments of computer systems and technology on people and society.
The syllabus is about developing skills to learn new technology, grasping the concepts and
issues behind its use and the use of computers.
M. Sc. [I] Computer Science

Course Structure:
Year/ Course Type Course Course Name Credit % of Assessment
Sem Code IA UE Total
Core Compulsory CSUT111 Paradigm of 4 30 70 100
Theory Paper Programming Language
I Year CSUT112 Design and Analysis of 4 30 70 100
Sem-I Algorithms
CSUT113 Database Technologies 4 30 70 100
Choice Based CSDT114A Cloud computing 2 15 35 50
Optional Paper CSDP114A Cloud Computing 2 15 35 50
Practical
OR
CSDT114B Artificial Intelligence 2 15 35 50
CSDP114B Artificial Intelligence 2 15 35 50
Practical
OR
CSDT114C Web Services 2 15 35 50
CSDP114C Web Services Practical 2 15 35 50
Core Compulsory CSUP115 PPL and Database 4 30 70 100
Practical Paper Technologies Practical

Year/ Course Type Course Course Name Credit % of Assessment


Sem Code IA UE Total
Core Compulsory CSUT121 Advanced Operating 4 30 70 100
Theory Paper System
I Year CSUT122 Mobile Technologies 4 30 70 100
Sem-II CSUT123 Software Project 4 30 70 100
Management
Choice Based CSDT124A Project 2 15 35 50
Optional Paper CSDP124A Project related 2 15 35 50
Assignments
OR
CSDT124B Human Computer 2 15 35 50
Interaction
CSDP124B Human Computer 2 15 35 50
Interaction Practical
OR
CSDT124C Soft Computing 2 15 35 50
CSDP124C Soft Computing 2 15 35 50
Practical
Core Compulsory CSUP125 Practical on Advanced 4 30 70 100
Practical Paper OS & Mobile
Technologies
M. Sc. [I] Computer Science

Year/ Course Type Course Course Name Credit % of Assessment


Sem Code IA UE Total
Core Compulsory CSUT231 Software Architecture 4 30 70 100
Theory Paper and Design Pattern
II Year CSUT232 Machine Learning 4 30 70 100
Sem-III CSUT233 Evolutionary 4 30 70 100
Algorithms
Choice Based CSDT234A Big Data 2 15 35 50
Optional Paper CSDP234A Big Data Practical 2 15 35 50
OR
CSDT234B Web Analytics 2 15 35 50
CSDP234B Web Analytics Practical 2 15 35 50
OR
CSDT234C Project 2 15 35 50
CSDP234C Project related 2 15 35 50
Assignments
Core Compulsory CSUP235 Practical on Software 4 30 70 100
Practical Paper Architecture and
Design Pattern and
Machine Learning

Year/ Subject Paper Title of Paper Credit % of Assessment


Sem IA UE Total
II Year Core CSUIT241 Industrial Training 20
Sem-IV /Institutional project

IA :- Internal Assessment, UE :- University Examination


M. Sc. [I] Computer Science

Equivalence of Previous Syllabus:

Old Subject New Subject

Principles of Programming Languages Paradigm of Programming Language


Advanced Networking No Equivalence
Distributed Database Concepts Database Technologies
Design and Analysis of Algorithms Design and Analysis of Algorithms
Network Programming No Equivalence
Digital Image Processing No Equivalence
Advanced Operating Systems Advanced Operating Systems
Data Mining and Data Warehousing Big Data
Project Project
Programming With DOT NET No Equivalence
Artificial Intelligence Artificial Intelligence
Advance Design and Analysis of Algorithms Evolutionary Algorithms
Software Metrics & Project Management Software Project Management
Mobile Computing Mobile Technologies
Soft Computing Soft Computing
Project Project
Web Services Web Services
Database and System Administrator No Equivalence
Functional Programming No Equivalence
Business Intelligence No Equivalence
Industrial Training /Institutional project Industrial Training /Institutional project
Parallel Computing No Equivalence
Embedded System No Equivalence
Software Quality Assurance No Equivalence
Modeling and Simulation No Equivalence

Practical paper implementation strategy:

Subject Platform
PPL Linux
Database Technologies Linux
AI Linux
Web Services Linux/Windows
Cloud Computing Linux

Note : Any version of Linux (Fedora/ Redhat/ Ubuntu etc) can be used as per your comfort.
M. Sc. [I] Computer Science

Detailed Syllabus:

Course Code: Course Name: Total Lectures


CSUT111 Paradigm of Programming Language (48 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 30 Marks 4
UE: 70 Marks
Course Prerequisites: Student should have basic knowledge of:
• Procedural Language like C
• Object-Oriented Languages (C++ and Java)
• Concepts of Operating Systems
• Basic Data Structures and Algorithms.

Course Objectives: To Prepare student to think about programming languages


analytically:
• Separate syntax from semantics
• Compare programming language designs
• Understand their strengths and weaknesses
• Learn new languages more quickly
• Understand basic language implementation techniques
• Learn small programs in different programming Languages
Chapter Course Contents No. of Lectures
1 Introduction 2
• The Art of Language Design
• The Programming Language Spectrum
• Why Study Programming Languages?
• Compilation and Interpretation
• Programming Environments
2 Names, Scopes, and Bindings 5
• The Notion of Binding Time
• Object Lifetime and Storage Management
• Static Allocation, Stack-Based Allocation,
Heap-Based Allocation, Garbage Collection
Scope Rules
• Static Scoping, Nested Subroutines,
Declaration Order, Dynamic Scoping The
meaning of Names in a Scope
• Aliases, Overloading, Polymorphism and
Related Concepts, the Binding of Referencing
Environments
• Subroutine Closures, First-Class Values and
Unlimited Extent, Object Closures Macro
Expansion

M. Sc. [I] Computer Science

3 Control Flow 5
• Expression Evaluation , Precedence and
Associativity, Assignments, Initialization,
Ordering Within Expressions, Short-Circuit
Evaluation
• Structured and Unstructured Flow, Structured
Alternatives to goto
• Sequencing
• Selection - Short-Circuited Conditions,
Case/Switch Statements Iteration
• Iteration - Enumeration-Controlled Loops,
Combination Loops, Iterators, Logically
Controlled Loops Recursion
• Recursion - Iteration and Recursion,
Applicative- and Normal-Order Evaluation
4 Data Types 8
• Introduction
• Primitive Data Types
• Numeric Types : Integer, Floating point,
Complex , Decimal, Boolean Types, Character
Types
• Character String Types
• Design Issues, Strings and Their Operations,
String Length Operations, Evaluation,
Implementation of Character String Types
• User defined Ordinal types Enumeration types,
Designs Evaluation Subrange types, Ada’s
design Evaluation Implementation of user
defined ordinal types
• Array types
• Design issues, Arrays and indices, Subscript
bindings and array categories, Heterogeneous
arrays, Array initialization, Array operations,
Rectangular and Jagged arrays, Slices,
Evaluation, Implementation of Array Types
• Associative Arrays
• Structure and operations, Implementing
associative arrays,
• Record types
• Definitions of records, References to record
fields, Operations on records, Evaluation,
Implementation of Record types
• Union Types
• Design issues, Discriminated versus Free
unions, Evaluation, Implementation of Union
types
M. Sc. [I] Computer Science

• Pointer and Reference Types


• Design issues, Pointer operations, Pointer
problems, Dangling pointers, Lost heap
dynamic variables, Pointers in C and C++,
Reference types, Evaluation
• Implementation of pointer and reference types
- Representation of pointers and references
Solution to dangling pointer problem Heap
management
5 Subprograms and Implementing Subprograms 5
• Introduction
• Fundamentals of Subprograms
• Design Issues for subprograms
• Local Referencing Environments
• Parameter-Passing Methods
• Parameters That Are
• Subprograms
• Overloaded Subprograms
• Generic Subroutines, Generic Functions in
C++, Generic Methods in Java
• Design Issues for Functions
• User-Defined Overloaded Operators
• Coroutines
• Implementing Subprograms
• The General Semantics of Calls and Returns
• Implementing “Simple” Subprograms
• Implementing Subprograms with Stack-
Dynamic Local Variables
• Nested Subprograms
• Blocks
• Implementing Dynamic Scoping
6 Data Abstraction and Object Orientation 8
• Object-Oriented Programming
• Encapsulation and Inheritance
Modules, Classes, Nesting (Inner Classes), Type
Extensions, Extending without Inheritance
• Initialization and Finalization
Choosing a Constructor, References and Values,
Execution Order, Garbage Collection
• Dynamic Method Binding
• Virtual- and Non-Virtual Methods, Abstract
Classes, Member Lookup, Polymorphism,
Object Closures
• Multiple Inheritance
• Semantic Ambiguities, Replicated Inheritance,
M. Sc. [I] Computer Science

Shared Inheritance, Mix-In Inheritance


7 Concurrency 5
• Introduction : Multiprocessor Architecture
Categories of concurrency, Motivations for
studying concurrency
• Introduction to Subprogram-level, concurrency
Fundamental concepts, Language Design for
concurrency, Design Issues
• Semaphores - Introduction Cooperation
synchronization, Competition Synchronization,
Evaluation
• Monitors - Introduction, Cooperation
synchronization, Competition Synchronization,
Evaluation,
• Message Passing Introduction- The concept of
Synchronous Message Passing
• Java Threads - The Thread class –Priorities,
Competition Synchronization Cooperation
Synchronization, Evaluation
8 Functional Programming in Scala 10
• Strings
• Numbers
• Control Structures
• Classes and Properties
• Methods
• Objects
• Functional Programming
• List, Array, Map, Set

References:

Sr. No. Title of the Book Author/s Publication


1 Programming Language Michel L. Scott Kaufmann Publishers, An
Pragmatics, 3e Imprint of Elsevier, USA
2 Concepts of Programming Robert W. Sebesta Pearson Education
Languages, Eighth Edition
3 Scala Cookbook Alvin Alexander O’REILLY publication
M. Sc. [I] Computer Science

Course Code: Course Name: Design and Analysis of Total Lectures


CSUT112 Algorithm (48 Hours)

Teaching Scheme : Examination Scheme: No. of Credits


4 hrs/week IA: 30 Marks 4
UE: 70 Marks
Course Prerequisites: Basic knowledge of algorithms and programming concepts
Data Structures and Advanced Data Structures
Basic Knowledge of Graphs and Algorithms
Course Objectives: • To design the algorithms
• To select the appropriate algorithm by doing necessary
analysis of algorithms
• To learn basic Algorithm Analysis techniques and understand
the use of asymptotic notation
• Understand different design strategies
• Understand the use of data structures in improving algorithm
performance
• Understand classical problem and solutions
• Learn a variety of useful algorithms
• Understand classification of problems
• To provide foundation in algorithm design and analysis
• To develop ability to understand and design algorithms in
context of space and time complexity.
Chapter Course Contents No. of
Lectures
1 Basics of Algorithms 8
• Algorithm definition and characteristics
• Space complexity
• Time complexity, worst case-best case-average
case
• complexity, asymptotic notation
• Recursive and non-recursive algorithms
• Sorting algorithms (insertion sort, heap sort,
bubble sort)
• Sorting in linear time: counting sort, concept of
bucket and radix sort
• Searching algorithms: Linear, Binary
2 Divide and conquer strategy 5
• General method, control abstraction
• Binary search
• Merge sort, Quick sort
• Comparison between Traditional Method of
Matrix Multiplication vs. Strassen’s Matrix
Multiplication
M. Sc. [I] Computer Science

3 Greedy Method 7
• Knapsack problem
• Job sequencing with deadlines,
• Minimum-cost spanning trees: Kruskal and
Prim’s algorithm
• Optimal storage on tapes
• Optimal merge patterns
• Huffman coding
• Shortest Path :Dijkstra’s Algorithm

4 Dynamic Programming 10
• Principle of optimality
• Matrix chain multiplication
• 0/1 Knapsack Problem
i) Merge & Purge
ii)Functional Method
• Bellman Ford Algorithm
• All pairs Shortest Path
Floyd- Warshall Algorithm
• Longest common subsequence,
• String editing, Travelling Salesperson problem

5 Decrease and Conquer 5


• Definition of Graph Representation of Graph
• By Constant - DFS and BFS
• Topological sorting
• Connected components and spanning trees
• By Variable Size decrease Euclid’s algorithm
• Articulation Point and Bridge edge
6 Backtracking 5
• General method
• Fixed Tuple vs. Variable Tuple Formulation
• n- Queen’s problem
• Graph coloring problem
• Hamiltonian cycle
• Sum of subsets
7 Branch and Bound 5
• Introduction
• FIFO BB Search, LIFO Search
• Definitions of LCBB Search
• Bounding Function, Ranking Function
• Traveling Salesman problem Using Variable
tuple
M. Sc. [I] Computer Science

• Formulation using LCBB


• 0/1 knapsack problem using LCBB
8 Problem Classification 3
• Nondeterministic algorithm
• The class of P, NP, NP-hard and NP - Complete
problems
• Cook’s theorem

References:

Sr. Title of the Book Author/s Publication


No.
1 Computer algorithms Ellis Horowitz, Sartaj Sahni & Galgotia Publication
Sanguthevar Rajasekaran
2 T. Cormen, C. Leiserson, & R. Algorithms MIT Press
Rivest
3 A. Aho, J. Hopcroft & J. Ullman The Design and Analysis of Addison Wesley
Computer Algorithms
4 Donald Knuth The Art of Computer Addison Wesley
Programming
5 Steven Skiena The Algorithm Manual Springer
6 Jungnickel Graphs, Networks and Springer
Algorithms
M. Sc. [I] Computer Science

Course Code: Course Name: Database Technologies Total Lectures


CSUT113 (48 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 30 Marks 4
UE: 70 Marks
Course Prerequisites: • Knowledge of file system concepts
• Strong foundation of Related database Concepts (Basic &
Advanced)
• A firm foundation of any RDBMS package

Course Objectives: • Provide an overview of the concept of NoSQL technology.


• Provide an insight to the different types of NoSQL databases
• Make the student capable of making a choice of what database
technologies to use, based on their application needs.

Chapter Course Contents No. of Lectures


1 Introduction to NOSQL (Core concepts) 18
Why NoSQL
Aggregate Data Models
Data modeling details
Distribution Models
Consistency
Version stamps
Map-Reduce
2 Implementation with NOSQL databases 14
Key-Value Databases (Riak)
Document Databases (Mongodb)
Column-Family stores (Cassandra)
Graph databases (Neo4j)
3 Schema Migrations 5
4 Polygot Persistence (Multi model types) 5
5 Beyond NoSQL 3
6 Choosing your database 3

References:

Sr. No. Title of the Book Author/s Publication


1 NoSQL Distilled Pramod Sadalge, Martin
Fowler
2 NoSQL for Dummies A Willy Brand
3 http://nosql-database.org

Note: For Database Technologies implementation of databases/assignments can be done in all, but for
university practical examination only MongoDB and Neo4j will be used/considered. Other can be for self
learning/demonstration.
M. Sc. [I] Computer Science

Course Code: Course Name: Cloud Computing Total Lectures


CSDT114A (30 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 15 Marks 2
UE: 35 Marks
Course Prerequisites:
Operating System
Fundamentals of Computer Networks
Good Understanding of Object Oriented Programming
Concepts

Course Objectives: • To understand the principles and paradigm of Cloud


Computing
• To appreciate the role of Virtualization Technologies
• Ability to design and deploy Cloud Infrastructure
• Understand cloud security issues and solutions

Chapter Course Contents No. of Lectures


1 Introduction to Cloud Computing
Overview, Layers and Types of Cloud, Desired
Features of a Cloud, Benefits and Disadvantages
of Cloud Computing, Cloud Infrastructure
Management, Infrastructure as a Service 8
Providers, Platform as a Service Providers,
Multitenant Technology.
Cloud-Enabling Technology: Broadband Networks
and Internet Architecture, Data Center
Technology, Virtualization Technology.
Infrastructure as a Service, Platform as a Service,
Software as a Service, Cloud Deployment Models.

2 Abstraction and Virtualization


Introduction to Virtualization Technologies, Load
Balancing and Virtualization, Understanding
Hyper visors, Virtual Machines Provisioning
and Manageability Virtual Machine Migration 7
Services, Provisioning in the Cloud Context
Virtualization of CPU, Memory , I/O Devices,
Virtual Clusters and Resource management
M. Sc. [I] Computer Science

3 Programming, Environments and Applications


Features of Cloud and Grid Platforms,
Programming Support of Google App Engine,
Programming on Amazon AWS and Microsoft
Azure, Emerging Cloud Software Environments, 8
Applications: Moving application to cloud,
Microsoft Cloud Services, Google Cloud
Applications, Amazon Cloud Services, Cloud
Applications.

4 Security In The Cloud


Security Overview – Cloud Security Challenges
and Risks – Software-as-a-Service Security –
Security Governance – Risk Management – 7
Security Monitoring – Security Architecture
Design – Data Security – Application Security –
Virtual Machine Security - Identity Management
and Access Control, Disaster Recovery in Clouds.

References:

Sr. No. Title of the Book Author/s Publication


1 Cloud Computing: Technologies Brian J.S. Chee and CRC Press, ISBN
and Strategies of the Ubiquitous Curtis Franklin :9781439806128
Data Center
2 Rajkumar Buyya, Christian Mastering Cloud McGraw Hill, ISBN:
Vecchiola, S. ThamaraiSelvi Computing: Foundations 978 1259029950,
and Applications 1259029956
Programming
3 Kai Hwang, Geoffrey C Fox, Distributed and Cloud Morgan Kaufmann
Jack G Dongarra Computing, From Publishers, 2012.
Parallel Processing to the
Internet of Things
M. Sc. [I] Computer Science

CSDP114A: Cloud Computing Practical Assignments

Sr. Assignment
No
1. Working and Implementation of Infrastructure as a service.
2. Working and Implementation of Software as a service.
3. Working and Implementation of Platform as a services.
4. Practical Implementation of Storage as a Service.
5. Working of Google drive to make spreadsheet and notes.
6. Working and Implementation of identity management.
7. Write a program for web feed.
8. Execute the step to Demonstrate and implementation of cloud on single sign on.
9. Practical Implementation of cloud security.
10. Installing and Developing Application Using Google App Engine.
11. Implement VMWAreESXi Server
12. Using OpenNebula to manage heterogeneous distributed data center Infrastructure.
13. Implementation of Cloud Failure Cluster.
14. Managing and working of cloud xen server.
15. Working with Aneka and demonstrate how to Managing cloud computing Resources .
16. Installation and configuration of cloud Hadoop and demonstrate simple query.
17. Create a sample mobile application using Amazon Web Service (AWS) account as a cloud
service. Also provide database connectivity with implemented mobile application.
M. Sc. [I] Computer Science

Course Code: Course Name: Artificial Intelligence Total Lectures


CSDT114B (30 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 15 Marks 02
UE: 35 Marks
Course Prerequisites: Concepts of Data structures and Design and Analysis of
algorithms.
Strong data analytics skills.
Strong will to learn machine learning languages.

Course Objectives: To learn various types of algorithms useful in Artificial


Intelligence (AI).
To convey the ideas in AI research and programming
language related to emerging technology.
To understand the numerous applications and huge possibilities
in the field of AI that goes beyond the normal human
imagination.
Chapter Course Contents No. of Lectures

Introduction to Artificial Intelligence:

Introduction and Intelligent systems, What Is AI,


1 The Foundations of Artificial Intelligence, The 2
History of Artificial Intelligence, Applications of
AI, Early work in AI and related fields, AI
problems and Techniques.

Searching:
2
-Defining AI problems as a State Space Search:
example, Search and Control Strategies, Problem
Characteristics, Issues in Design of Search
Programs, Production System.
Blind Search Techniques : 8
-BFS, DFS, DLS, Iterative Deepening, Search,
Bidirectional Search, Uniform cost Search.
Heuristic search techniques:
-Generate and test ,Hill Climbing, Best First
search, Constraint Satisfaction, Mean-End
Analysis, A*,AO*.
M. Sc. [I] Computer Science

Knowledge Representation:

Representations and Mappings, Approaches to


Knowledge Representation, Knowledge
3 representation method, Propositional Logic,
Predicate logic, Representing Simple facts in
Logic, Resolution, Forward and backward
chaining .
Game Playing- Minimax Search Procedures, 8
Adding alpha-beta cutoffs.

Introduction to AI with Python:

Introduction to Python , why python with AI,


Features of Python, Basics of Python, Python
4 statements, Methods & Functions using python, 6
Basic and advanced modules &Packages, Python
Decorators and generators .Advanced Objects &
Data structures.

Machine Learning:

Why Machine learning,


Types of Machine Learning:
5 Supervised learning- Classification & Regression.
Random Forest, KNN Algorithm.
Unsupervised learning-Clustering & Association. 6
Reinforcement learning.

References:

Sr. No. Title of the Book Author/s Publication


1 Computational Intelligence Eberhart Elsevier Publication
2 Artificial Intelligence: A New Synthesis Nilsson Elsevier Publication
3 Artificial Intelligence with Python PrateekJoshi Packt Publishing Ltd

4 Reinforcement and Systematic Machine Parag Kulkarni Wiley-IEEE Press


Learning for Decision Making, Edition
5 Artificial Intelligence Saroj Kausik Cengage Learning
6 Introduction to Machine Learning EthemAlpaydin PHI 2nd Edition
M. Sc. [I] Computer Science

CSDP114B: Artificial Intelligence Practical

Sr. No. Assignment


1 Subject teacher should conduct first lab practical on basic programs using python for
introducing and using python environment such as,
a) Program to print multiplication table for given no.
b) Program to check whether the given no is prime or not.
c) Program to find factorial of the given no
and similar programs.
2 Write a program to implement List Operations(Nested list, Length, Concatenation,
Membership ,Iteration ,Indexing and Slicing), List Methods(Add, Append, Extend &
Delete)
3 Write a program to Illustrate Different Set Operations.
4 Write a program to implement Simple Chatbot.
5 Write a program to implement Breadth First Search Traversal.
6 Write a program to implement Depth First Search Traversal.
7 Write a program to implement Water Jug Problem.
8 Write aprogram to implement K -Nearest Neighbor algorithm.
9 Write a program to implement Regression algorithm.
10 Write a program to implement Random Forest Algorithm.
M. Sc. [I] Computer Science

Course Code: Course Name: Web Services Total Lectures


CSDT 114C (30 Hours)
Teaching Examination Scheme: No. of Credits
Scheme : IA: 15 Marks 2
4 hrs/week UE: 35 Marks
Course • Strong knowledge about Java programming.
Prerequisites: • Good Understanding of Object Oriented Programming
concepts.
• Must be familiar with XML.
Course • To understand the details of web services technologies like
Objectives: WSDL,UDDI, SOAP
• To learn how to implement and deploy web service client and
server
• To explore interoperability between different frameworks
• To understand the concept of RESTful system.
Chapter Course Contents No. of Lectures
Web Service and SOA fundamentals
1 Introduction to Web Services — The definition
of web services, basic operational model of web
services, tools and technologies enabling web
services, benefits and challenges of using web
services.
Web Services Architecture — Web services 6
Architecture and its characteristics, core building
blocks of web services, standards and technologies
available for implementing web services, web
services communication models, basic steps of
implementing web services.

SOAP: Simple Object Access Protocol


2 Inter-application communication and wire 8
protocols, SOAP as a messaging protocol,
Structure of a SOAP message, SOAP
communication model, Building SOAP Web
Services, developing SOAP Web Services using
Java, Error handling in SOAP, Advantages and
disadvantages of SOAP.
M. Sc. [I] Computer Science

Unit III : Describing and Discovering Web


Services
3 WSDL - WSDL in the world of Web Services,
Web Services life cycle, anatomy of WSDL
definition document, WSDL bindings, WSDL
Tools, limitations of WSDL, Service discovery,
role of service discovery in a SOA, service
discovery mechanisms, 8
UDDI – UDDI Registries, uses of UDDI Registry,
Programming with UDDI, UDDI data structures,
support for categorization in UDDI Registries,
Publishing API, Publishing information to a UDDI
Registry, searching information in a UDDI
Registry, deleting information in a UDDI Registry,
limitations of UDDI.
Unit IV : The REST Architectural style :
Introducing HTTP, The core architectural
4 elements of a RESTful system, Description and
discovery of RESTful web services, Java tools and
frameworks for building RESTful web services,
JSON message format and tools and frameworks
around JSON, Build RESTful web services with 8
JAX-RS APIs, The Description and Discovery of
RESTful Web Services, Design guidelines for
building RESTful web services, Secure RESTful
web services

References:

Sr. No. Title of the Book Author/s Publication


1 Building Web Services with Java, S. Graham and others Pearson Edn., 2008.
2nd Edition
2 J2EE Web Services Richard Monson-Haefel Pearson Education.

3 Java Web Services Programming, R.Mogha,V.V.Preetham Wiley India Pvt.Ltd.


4 XML, Web Services, and the F.P.Coyle Pearson Education
Data Revolution
M. Sc. [I] Computer Science

CSDP114C: Web Services Practical Assignments

Pre-requisites
• Strong knowledge about Java programming / PHP / .Net Framework
• Good Understanding of Object Oriented Programming concepts.
• Must be familiar with XML.

Objectives
• To understand how to develop web services using Java/PHP/.Net

Sr. No. Assignment


1. Create 'Dynamic Web Project', which will host your web service functionality
to greet the user according to server time and create 'Dynamic Web Project',
which will host the client application that will send user name and test the web
service.
2. Create 'Dynamic Web Project', which will host your web service functionality
to convert Celsius to Fahrenheit and create 'Dynamic Web Project', which will
host the client application that will send Celsius and test the web service.
3. Create 'Dynamic Web Project', which will host your web service functionality
to find the factorial of given number and create 'Dynamic Web Project', which
will host the client application that will send positive integer number and test
the web service.
4. Create 'Dynamic Web Project', which will host your web service functionality
to validate email id (use regular expression) and create 'Dynamic Web Project',
which will host the client application that will send email id and test the web
service.
5. Create 'Dynamic Web Project', which will host your web service functionality
to validate user name and password (use database for storing username and
password) and create 'Dynamic Web Project', which will host the client
application that will send user name and password and test the web service.
6. Create 'Dynamic Web Project', which will host your web service functionality
to select employee details (use database for storing emp details (eno, ename,
designation, salary)) and create 'Dynamic Web Project', which will host the
client application that will send employee name and display the details.
7. Create 'Dynamic Web Project', which will host your web service functionality
to select Movie details (Movie(mno, mname,release_year) and
Actor(ano,aname), 1 : M cardinality ) and create 'Dynamic Web Project',
which will host the client application that will send actor name and display the
details.
8. Create 'Dynamic Web Project', which will host your web service functionality
to validate mobile no (use regular expression: should contain only 10 numeric
no) and create 'Dynamic Web Project', which will host the client application
that will send mobile no and test the web service.
9. Create 'Dynamic Web Project', which will host your web service functionality
to convert Rupees to Dollar, Pound, Euro,….. and create 'Dynamic Web
Project', which will host the client application that will send amount in Rupees
& type of conversion and tests the web service.
M. Sc. [I] Computer Science

10. Create 'Dynamic Web Project', which will host your web service functionality
to give the suggestion for given key word and create 'Dynamic Web Project',
which will host the client application that tests the web service.
11. Create 'Dynamic Web Project', which will host your web service functionality
to find area and volume of the circle and create 'Dynamic Web Project', which
will host the client application that tests the web service.
12. Create 'Dynamic Web Project', which will host your web service functionality
to find number of vowels in the given string and create 'Dynamic Web Project',
which will host the client application that tests the web service.
13. Create 'Dynamic Web Project', which will host your web service functionality
to convert decimal number to Binary, Octal, Hexa Decimal and create
'Dynamic Web Project', which will host the client application that will send
decimal number & type of conversion and test the web service.
14. Create 'Dynamic Web Project', which will host your web service functionality
to validate user name and password (use database for storing username and
password) and create 'Dynamic Web Project', which will host the client
application that will send user name and password and test the web service.
15. Create 'Dynamic Web Project', which will host your web service functionality
for returning book price and create 'Dynamic Web Project', which will host the
client application that will send Book Name
M. Sc. [I] Computer Science

CSUP115: PPL and Database Technologies Practical

LIST OF SCALA PROGRAMS (PPL)


Control Structures
1. Write a program to calculate average of all numbers between n1 and n2(eg.100 to 300 Read
values of n1 and n2 from user)
2. Write a program to calculate factorial of a number.
3. Write a program to read five random numbers and check that random numbers are perfect
number or not.
4. Write a program to find second maximum number of four given numbers.
5. Write a program to calculate sum of prime numbers between 1 to 100
6. Write a program to read an integer from user and convert it to binary and octal using user
defined functions.
Arrays
1. Write a program to find maximum and minimum of an array
2. Write a program to calculate transpose of a matrix.
3. Write a program to calculate determinant of a matrix,
4. Write a program to check if the matrix is upper triangular or not.
5. Write a program to sort the matrix using insertion sort.
6. Write a program for multiplication of two matrices(Validate number of rows and columns
before multiplication and give appropriate message)
String
1. Write a program to count uppercase letters in a string and convert it to lowercase and display
the new string.
2. Write a program to read a character from user and count the number of occurrences of that
character.
3. Write a program to read two strings. Remove the occurrence of second string in first string.
4. Create array of strings and read a string from user. Display all the elements of array
containing given string.

Classes and Objects


1. Define a class CurrentAccount (accNo, name, balance, minBalance). Define appropriate
constructors and operations withdraw(), deposit(), viewBalance(). Create an object and
perform operations.
2. Define a class Employee (id, name, salary). Define methods accept() and display(). Display
details of employee having maximum salary.
3. Create abstract class Order (id, description). Derive two classes PurchaseOrder&
SalesOrder with members Vendor and Customer. Create object of each PurchaseOrder and
SalesOrder. Display the details of each account.
4. Create abstract class Shape with abstract functions volume() and display(). Extend two classes
Cube and Cylinder from it. Calculate volume of each and display it.
M. Sc. [I] Computer Science

5. Create class Project (id, name, location). Define parameterized constructor. Keep a count of
each object created and display the details of each project.
6. Define a class Sports (id, name, description, amount). Derive two classes Indoor and Outdoor.
Define appropriate constructors and operations. Create an object and perform operations.
7. Design abstract class Employee with computeSal() as abstract function. Create two subclasses
Worker and Manager. Salary of worker should be calculated on hourly basis of work and
Salary of Manager should be calculated on monthly basis with additional incentives.
List
1. Create Lists using five different methods( Lisp style , Java style, fill, range and tabulate
methods)
2. Create two Lists and Merge it and store the sorted in ascending order.
3. Create a list of integers divisible by 3 from List containing numbers from 1 to 50.
4. Create a list of even numbers up to 10 and calculate its product.
5. Write a program to create list with 10 members using function 3n2+4n+6
6. Write a program to create a list of 1 to 100 numbers. Create second list from first list
selecting numbers multiple of 10.
7. Create a list of 50 members using function 2n+3. Create second list excluding all elements
multiple of 7.
Map
1. Write a user defined functions to convert lowercase letter to uppercase and call the function
using Map.
2. Write a program to create map with Rollno and FirstName. Print all student information with
same FirstName.

Set
1. Write a program to create two sets and find common elements between them.
2. Write a program to display largest and smallest element of the Set
3. Write a program to merge two sets and calculate product and average of all elements of the
Set
M. Sc. [I] Computer Science
Database Technologies: MongoDB Practical Assignment 1
1. Create a database with the name ‘Movie’.
2. A ‘Film’ is a collection of documents with the following fields:
a. Film Id
b. Title of the film
c. Year of release
d. Genre / Category (like adventure, action, sci-fi, romantic etc.) A film
can belong to more than one genre.
e. Actors (First name and Last name)
A film can have more than one actor.
f. Director (First name and Last name)
A film can have more than one director.
g. Release details (It consists of places of release, dates of release and rating of
the film.)
3. An ‘Actor’ is a collection of documents with the following fields:
a. Actor Id
b. First name
c. Last Name
d. Address (Street, City, State, Country, Pin-code)
e. Contact Details (Email Id and Phone No)
f. Age of an actor.
Queries:

1. Insert at least 10 documents in the collection Film –

a. Insert at least one document with film belonging to two genres.


b. Insert at least one document with film that is released at more than one place
and on two different dates.
c. Insert at least three documents with the films released in the same year.
d. Insert at least two documents with the films directed by one director.
e. Insert at least two documents with films those are acted by a pair ‘Madhuri
Dixit’ and ‘Shahrukh Khan’.
2. Insert at least 10 documents in the collection Actor.
Make sure, you are inserting the names of actors who have acted in films,
given in the ‘Film’ collection.
3. Display all the documents inserted in both the collections.
4. Add a value to the rating of the film whose title starts with ‘T’.
5. Add an actor named " " in the ‘Actor’ collection. Also add
the details of the film in ‘Film’ collection in which this actor has acted in.
6. Delete the film " ".
7. Delete an actor named " ".
8. Delete all actors from an ‘Actor’ collection who have age greater than “ ”
9. Update the actor’s address where Actor Id is “ ”.
10.Update the genre of the film directed by “ ”.
M. Sc. [I] Computer Science
Database Technologies: MongoDB Practical Assignment 2

1. Create a database with name ‘Company’.


2. An ‘Employee’ is a collection of documents with the following fields:
a. Employee ID
b. First Name
c. Last Name
d. Email
e. Phone No.
f. Address (House No, Street, City, State, Country, Pin-code)
g. Salary
h. Designation
i. Experience
j. Date of Joining
k. Birthdate
3. A ‘Transaction’ is a collection of documents with the following fields:
a. Transaction Id,
b. Transaction Date
c. Name (First Name of employee who processed the transaction)
d. Transaction Details (Item Id, Item Name, Quantity, Price)
e. Payment (Type of Payment (Debit/Credit/Cash), Total amount paid, Payment
Successful)
f. Remark (Remark field can be empty.)
Queries:
1. Insert at least 5 documents in ‘Employee’ collection.
2. Insert multiple documents (at least 10) into the ‘Transaction’ collection by passing
an array of documents to the db.collection.insert () method.
3. Display all the documents of both the collections in a formatted manner.
4. Update salary of all employees by giving an increment of Rs. 4000.
5. Update the remark for transaction id 201.
6. Update designation of an employee named “_ ” from supervisor to
manager.
7. Update designation of an employee having Employee Id as .
8. Change the address of an employee having Employee Id as .
9. Delete transaction made by “ ” employee on the given date.
10.Delete all the employees whose first name starts with ‘K’.
M. Sc. [I] Computer Science
Database Technologies: MongoDB Practical Assignment 3

This assignment is based on ‘Movie’ database having collections ‘Film’ and ‘Actor’.

Prerequisite: Read MongoDB Aggregate framework before executing the following


assignments.

Note: It is expected that student should fill in the data relevant to the queries given in the
assignment. The result set should not be empty.

1. Find the titles of all the films starting with the letter ‘R’ released during the year
2009 and 2011.
2. Find the list of films acted by an actor " ".
3. Find all the films released in 90s.
4. Find all films belonging to “Adventure” and “Thriller” genre.
5. Find all the films having ‘A’ rating.
6. Arrange the film names in ascending order and release year should be in descending
order.
7. Sort the actors in ascending order according to their age.
8. Find movies that are comedies or dramas and are released after 2013.
9. Show the latest 2 films acted by an actor “ ”.
10. List the titles of films acted by actors “ ” and “ ”.
11.Retrieve films with an actor living in Spain.
12.Retrieve films with actor details.
Note: Similarly, additional queries can be executed based on these collections for
practice.
M. Sc. [I] Computer Science

Database Technologies: MongoDB Practical Assignment 4

This assignment is based on ‘Company’ database having collections ‘Employee’


and ‘Transaction’.

Prerequisite: Read MongoDB Aggregate framework before executing the following


assignments.

Note: It is expected that student should fill in the data relevant to the queries given in the
assignment. The result set should not be empty.

1. Find employees having designation as either ‘manager’ or ‘floor supervisor’.


2. Find an employee whose name ends with " " and print the
output in json format.
3. Display the name of an employee whose salary is greater than
using a MongoDB cursor.
4. Sort the employees in the descending order of their designation.
5. Count the total number of employees in a collection.
6. Calculate the sum of total amount paid for all the transaction documents.
7. Calculate the sum of total amount paid for each payment type.
8. Find the transaction id of the latest transaction.
9. Find designation of employees who have made transaction of amount greater than
Rs. 500.
10. Find the total quantity of a particular item sold using Map Reduce.
M. Sc. [I] Computer Science

Database Technologies: Neo4j Practical Assignment 1

Create the following databases as graph models. Visualize the models after creation, Return
properties of nodes, Return the nodes labels, Return the relationships with its properties.
NB: You may assume and add more labels , relationships, properties to the graphs

1. Create a library database , as given below.

There are individual books, readers, and authors that are present in the library data model.. A
minimal set of labels are as follows:
Book: This label includes all the books
Person: This label includes authors, translators, reviewers, Readers, Suppliers and so on
Publisher: This label includes the publishers of books in the database

A set of basic relationships are as follows:


PublishedBy: This relationship is used to specify that a book was published by a publisher
Votes: This relationship describes the relation between a user and a book, for example, how a
book was rated by a user.
ReviewedBy : This relationship is used to specify that a book was reviewed and remarked by a
user.
TranslatedBy: This relationship is used to specify that a book was translated to a language by a
user.
IssuedBy: This relationship is used to specify that a book was issued by a user.
ReturnedBy: This relationship is used to specify that a book was returned by a user

Every book has the following properties:


Title: This is the title of the book in string format
M. Sc. [I] Computer Science

Tags: This is an array of string tags useful for searching through the database based on topic, arguments,
geographic regions, languages, and so on
Status: the book status , specifying whether its issued or in library.
Condition: book condition, new or old
Cost : Cost of book
Type: book is a Novel, Journal, suspense thriller etc

2. Consider a Song database, with labels as Artists, Song, Recording_company,


Recoding_studio, song author etc.
Relationships can be as follows
Artist → [Performs] → Song →[Written by] → Song_author.
Song → [Recorded in ] → Recording Studio →[managed by] → recordingCompany
Recording Company → [Finances] → Song
You may add more labels and relationship and their properties, as per assumptions.

3. Consider an Employee database, with a minimal set of labels as follows Employee:


denotes a person as an employee of the organization Department: denotes the
different departments, in which employees work. Skillset: A list of skills acquired by
an employee
Projects: A list of projects in which an employee works.
A minimal set of relationships can be as follows: Works_in :
employee works in a department Has_acquired: employee has
acquired a skill Assigned_to : employee assigned to a project
Controlled_by: A project is controlled by a department Project_manager :
Employee is a project_manager of a Project

4. Consider a movie database, with nodes as Actors, Movies, Roles, Producer, Financier, Director.
Assume appropriate relationships between the nodes, include properties for nodes and relationships.

5. Create a Social network database , with labels as Person, Affiliations, Groups, Story, Timeline
etc. Some of the relationships can be as follows:
Person →[friend of]→ Person→[affiliated to]→affiliations
Person →[belongs to]→ Groups, Person →[create]→Story→[refers to] →Person
Person→[creates]→Timeline→[reference for]→ Story ,
Timeline→[contains]→Messages
M. Sc. [I] Computer Science

Database Technologies: Neo4j Practical Assignment 2 Simple Queries.

1. Library Database :
a) List all people, who have issued a book “……”
b) Count the number of people who have read “ ….”
c) Add a property “Number of books issued “ for Mr. Joshi and set its value as the
count
d) List the names of publishers from pune city.

2. Song Database:
a) List the names of songs written by “:…..”
b) List the names of record companies who have financed for the song “….”
c) List the names of artist performing the song “…..”
d) Name the songs recorded by the studio “ …….”

3. Employee Database:
a) List the names of employees in department “……..”
b) List the projects along with their properties, controlled by department “……”
c) List the departments along with the count of employees in it
d) List the skillset for an employee “…….”

4. Movie Database:
a) Find all actors who have acted in a movie “…….”
b) Find all reviewer pairs, one following the other and both reviewing the same
movie, and return entire subgraphs.
c) Find all actors that acted in a movie together after 2010 and return the actor
names and movie node
d) Find all movies produced by “ …….”

5. Social Network Database:


a) Find all friends of “John”, along with the year, since when john knows them.
b) List out the affiliations of John.
c) Find all friends of john, who are born in the same year as John
d) List out the messages posted by John in his timeline, during the year 2015.
M. Sc. [I] Computer Science

Database Technologies: Neo4j Assignment 3 Complex pattern Queries:

1. Library database
a) List all readers who have recommended either book “…” or “……..” or “……..”
b) List the readers who haven’t recommended any book
c) List the authors who have written a book that has been read / issued by maximum number
of readers.
d) List the names of books recommended by “……….” And read by at least one reader
e) List the names of books recommended by “………” and read by maximum number of readers.
f) List the names of publishers who haven’t published any books written by authors from
Pune and Mumbai.
g) List the names of voracious readers in our library

2. Song Database:
a) List the names of artists who have sung only songs written by “………”
b) List the names of artists who have sung the maximum number of songs recorded by “……”
studio
c) List the names of songs financed by “…..”, and sung by “……..”

3. Employee Database:
a) List the names of employees having the same skills as employee “………..”
b) List the projects controlled by a department “……….” and have employees of the same
department working in it.
c) List the names of the projects belonging to departments managed by employee “…….”

4. Movie Database:
a) List the names of actors that paired in multiple movies together.
b) List all pairs of actor–movie subgraphs along with the roles played.
c) List all reviewers and the ones they are following directly or via another a third
Reviewer
d) List the names of movies that have the most number of reviews.

4. Social Network Database:


a) List out the people, who have created maximum timeline messages.
b) List all friends of John’s friend, Tom
c) List the people with maximum friends
d) List the people who are part of more than 3 groups.
M. Sc. [I] Computer Science

Course Code: Course Name: Advanced Operating System Total Lectures


CSUT121 (48 Hours)
Teaching Examination Scheme: No. of Credits
Scheme : IA: 30 Marks 4
4 hrs/week UE: 70 Marks
• Working knowledge of C programming.
Course • Basic Computer Architecture concepts.
Prerequisites: • Basic algorithms and data structure concepts.
Course This course teaches Advanced Operating Systems Concepts using Unix/Linux. This
Objectives: course strikes a delicate balance between theory and practical applications In fact,
most Units start with the theory and then switches focus on how the concepts are
implemented in a C program. This course describes the programming interface to the
Unix/Linux system - the system call interface. It is intended for anyone writing C
programs that run under Unix/Linux. This course provides an understanding of the
functions of Operating Systems. It also provides provide an insight into functional
modules of Operating Systems. It discusses the concepts underlying in the design and
implementation of Operating Systems.
Chapter Course Contents No. of Lectures
1 Introduction to UNIX/LinuxKernel 04
• System Structure, User Perspective, Assumptions about
Hardware, Architecture of UNIX Operating System
(TextBook-1: Chapter Topics: 1.2, 1.3, 1.5, 2.1)
• Concepts of Linux Programming- Files and the
Filesystem, Processes, Users and Groups, Permissions,
Signals, Interprocess Communication (TextBook-3:
Chapter 1- relevant topics)
2 File and Directory I/O 15
• Buffer headers, structure of the buffer pool, scenarios for
retrieval of a buffer, reading and writing disk blocks,
inodes, structure of regular file, open, read, write, lseek,
close, pipes, dup (TextBook- 1: Chapter Topics: 3.1-3.4,
4.1, 4.2, 5.1-5.3, 5.5-5.7, 5.12, 5.13)
• open, creat, file sharing, atomic operations, dup2, sync,
fsync, and fdatasync, fcntl, /dev/fd, stat, fstat, lstat, file
types, Set-User-ID and Set-Group-ID, file access
permissions, ownership of new files and directories,
access function, umask function, chmod and fchmod,
sticky bit, chown, fchown, and lchown, file size, file
truncation, file systems, link, unlink, remove, and
rename functions, symbolic links, symlink and readlink
functions, file times, utime, mkdir and rmdir, reading
directories, chdir, fchdir, and getcwd, device special files
(TextBook-2: Chapter Topics: 3.3, 3.4, 3.10-3.14, 3.16,
4.2-4.23)
M. Sc. [I] Computer Science

3 Process Environment, Process Control and Process 15


Relationships
• Process states and transitions, layout of system memory,
the context of a process, saving the context of a process,
sleep, process creation, signals, process termination,
awaiting process termination, invoking other programs,
the user id of a process, changing the size of the process,
The Shell, Process Scheduling (TextBook-1: Chapter
Topics: 6.1-6.4, 6.6, 7.1-7.8, 8.1)
• Process termination, environment list, memory layout of
a C program, shared libraries, environment variables,
setjmp and longjmp, getrlimit and setrlimit, process
identifiers, fork, vfork, exit, wait and waitpid, waitid,
wait3 and wait4, race conditions, exec, changing user
IDs and group IDs,system function, user identification,
process times (TextBook-2: Chapter Topics: 7.3, 7.5-7.7,
7.9-7.11, 8.2-8.11, 8.13, 8.15, 8.16)
4 Memory Management 06
• The Process Address Space, Allocating Dynamic
Memory, Managing Data Segment, Anonymous
Memory Mappings, Advanced Memory Allocation,
Debugging Memory Allocations, Stack-Based
Allocations, Choosing a Memory Allocation
Mechanism, Manipulating Memory, Locking Memory,
Opportunistic Allocation (TextBook-3: Chapter 8)
• Swapping, Demand Paging (TextBook-1: Chapter Topics:
9.1, 9.2)
5 Signal Handling 08
• Signal concepts, signal function, unreliable signals,
interrupted system calls, reentrant functions, SIGCLD
semantics, reliable-signal technology, kill and raise,
alarm and pause, signal sets, sigprocmask, sigpending,
sigsetjmp and siglongjmp, sigsuspend, abort, system
function revisited, sleep (TextBook-2: Topics: 10.2-
10.13, 10.15-10.19)

References:
Sr. Title of the Book Author/s Publication
No.
1 The Design of the UNIX Operating System Maurice J. Bach. PHI
2 Advanced Programming in the UNIX Richard Stevens Addison-Wesley
Environment
3 Linux System Programming Robert Love O’Reilly
M. Sc. [I] Computer Science

Course Code: Course Name: Mobile Technologies Total Lectures


CSUT122 (48 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 30 Marks 4
UE: 70 Marks
Course Concepts of Networking
Prerequisites: Conversant with OS internals
Familiar with the network Protocol stack
Gain knowledge about different mobile platform and application
development
Brief History of wireless communication
Course Objectives: To impart basic understanding of the wireless communication
systems.
To expose students to various aspects of mobile and ad-hoc
networks.
Understand the issues relating to Wireless applications
Understand the Mobile security
Chapter Course Contents No. of Lectures
1 Introduction to Mobile Computing 03
• Introduction and need for Mobile computing
• Mobility and portability
• Mobile and Wireless devices
• Mobile Applications
• Mobile Operating system – IOS, BlackBery,
Windows phone, Plam OS, Symbian
OS,PhoneGap
2 Android Fundamentals 07
• Introduction to Android - Overview and
evolution of Android , Features of Android,
Android architecture
• Components of an Android Application,
Manifest file
• Android Activity
• Service Lifecycle
3 Android UI Design 07
• Basic UI Designing (Form widgets ,Text
Fields , Layouts ,[dip, dp, sip, sp] versus px)
• Intent(in detail)
• All components (e.g Button , Slider, Image
view, Toast) Event Handling
• Adapters and Widgets
• Menu
M. Sc. [I] Computer Science

4 Android Thread and Notification 07


• Threads running on UI thread
(runOnUiThread)
• Worker thread
• Handlers & Runnable
• AsynTask (in detail)
• Broadcast Receivers
• Services and notifications
• Toast
• Alarms
5 Advanced Android Programming 05
• Content Providers – SQLite Programming
• JSON Parsing
• Accessing Phone Service(Call, SMS, MMS)
• Location based services
6 PhoneGap Programming 12
• Why Use PhoneGap?
• How PhoneGap Works
• Designing for the Container
• Writing PhoneGap Applications
• Building PhoneGap Applications
• PhoneGap Limitations
• PhoneGap Plug-Ins
• Hello, World! Program
• PhoneGap APIs –1
Accelerometer:
• Querying Device Orientation,
• Watching a Device’s Orientation,
• Creating a Contact, Searching for Contacts,
Cloning Contacts, Removing Contacts.
7 iOS Fundamentals 08
• Introduction - What is IOS ,IOS
Architecture, Frameworks, Application Life
Cycle, Features
• Swift - Introduction to Swift ,General
Concepts of Swift
• Xcode - Introduction to Xcode , Navigator,
Editor Utility, Tools, Console, Document,
Simulator, Instruments
• Startup - Application Templates,
Introduction to Storyboard , Hello World
Application, How ‘Hello World’ Working,
Debugging Database, Plist, Preference, Sqlite
Web Service, Restful Web Service (JSON &
XML)
M. Sc. [I] Computer Science

References:

Sr. Title of the Book Author/s Publication


No.
1 A Course in Machine Learning Hal Daumé III
2 IOS Apprentice Matthijs Hollemans
3 PhoneGap: Giorgio Natili, PACKT Publication
Beginner's Guide Purusothaman Ramanujam
4 Beginning Android Application Wei-Meng Lee Wiley
Development
M. Sc. [I] Computer Science

Course Code: Course Name: Software Project Management Total Lectures


CSUT123 (48 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 30 Marks 4
UE: 70 Marks
Course Prerequisites: Software Engineering
Basic testing concepts
Course Objectives: • Software Metrics and Project Management covers skills that are
required to ensure successful medium and large scale software
projects.
• It examines Requirements Elicitation, Project Management,
Verification &Validation and Management of Large Software
Engineering Projects.
• Students learn to select and apply project management
techniques for process modeling, planning, estimation, process
metrics and risk management; perform software verification
and validation using inspections, design and execution of
system test cases.
Chapter Course Contents No. of Lectures
Introduction to Project Management
1 What is a Project?
What is Project management?
Project phases and project life cycle
Organizational structure 4
Qualities of Project Manager
WBS
Project Management Components
2 Project Integration Management-Project plan
development and execution 6
Change controls
CCB
Configuration management
Scope Management
Strategic planning 4
3 Scope planning, definition
Verification and control
Time management
Activity planning
4 Schedule development and control
GANTT Chart 2
Cost Management
Cost estimation and Control
5 COCOMO model
BASIC COCOMO NUMERICALS
2
Quality Management
6 • Quality planning and assurance 2
M. Sc. [I] Computer Science

Human Resource Management 2


7 • Organizational planning
• Staff acquisition
Communication Management 2
8 • Information distribution
• Reporting
Risk Management 2
9 • Risk identification
• Quantification and control
Procurement Management 2
10 • Solicitation management and control
• Contract administration
Software Metrics 6
11 • The scope of software metrics
• Size- oriented metrics
• Function oriented
• Software metrics data collection
• Analyzing software data
Software Reliability 6
12 • Measurement and prediction
• Resource measurement
• Productivity, teams and tools
Planning a measurement program 4
13 • What is metrics plan?
• Developing goals, questions and metrics
• Where and When: Mapping measures to
activities
• How: Measurement tools
• Who: Measurers , analyst, tools revision plans
Quality Standards 4
14 • CMM levels
• KPA’s
• PSP/TSP
References:

Sr. Title of the Book Author/s Publication


No.
1. Software Engineering Roger Pressman McGraw-Hill
2. Software Metrics for Robert B. Grady Prentice hill
Project Management and
process improvement
M. Sc. [I] Computer Science

CSDT124A: Project Guidelines


M. Sc. [I] Computer Science

CSDP124A: Project Related Assignments

Assignment 1

Assignment 2

Assignment 3

Assignment 4
M. Sc. [I] Computer Science

Course Code: Course Name: Human Computer Interaction Total Lectures


CSDT124B (30 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 15 Marks 2
UE: 35 Marks
Course Prerequisites: • Foundations of Human Computer Interaction
• Be familiar with the design technologies for individuals and
persons with disabilities
• Be aware of mobile HCI
• Learn the guidelines for user interface.
Course Objectives: • Design effective dialog for HCI.
• Design effective HCI for individuals and persons with
disabilities.
• Assess the importance of user feedback.
• Explain the HCI implications for designing multimedia/
ecommerce/ e-learning Web sites.
• Develop meaningful user interface.
Chapter Course Contents No. of Lectures
1 FOUNDATIONS OF HCI 6
The Human: I/O channels – Memory – Reasoning
and problem solving;
The computer: Devices – Memory – processing
and networks;
Interaction: Models – frameworks – Ergonomics –
styles – elements – interactivity- Paradigms.
2 DESIGN & SOFTWARE PROCESS 7
Interactive Design basics – process – scenarios –
navigation – screen design – Iteration and
prototyping.
HCI in software process – software life cycle –
usability engineering – Prototyping in practice –
design rationale.
Design rules – principles, standards, guidelines,
rules. Evaluation Techniques – Universal Design
3 MODELS AND THEORIES 5
Cognitive models –Socio-Organizational issues
and stake holder requirements –Communication
and collaboration models-Hypertext, Multimedia
and WWW.
4 MOBILE HCI 6
Mobile Ecosystem: Platforms, Application
frameworks
Types of Mobile Applications: Widgets,
Applications, Games- Mobile Information
Architecture, Mobile 2.0, Mobile Design:
Elements of Mobile Design, Tools.
M. Sc. [I] Computer Science

5 WEB INTERFACE DESIGN 6


Designing Web Interfaces – Drag & Drop, Direct
Selection, Contextual Tools, Overlays, Inlays and
Virtual Pages, Process Flow, Case Studies.

References:

Sr. No. Title of the Book Author/s Publication


1 Human Computer Interaction, Alan Dix, Janet Finlay, 3rd Edition, Pearson
(Chapter 1 , 2 & 3) Gregory Abowd, Russell Education, 2004
Beale
2 Mobile Design and Development Brian Fling First Edition
(Chapter 4) O‟Reilly Media Inc.,
2009
3 Designing Web Interfaces Bill Scott and Theresa First Edition,
(Chapter 5) Neil O‟Reilly, 2009
M. Sc. [I] Computer Science

CSDP124B: Human Computer Interaction Practical Assignments


Note: Any tool or technology can be used for implementation e.g., VBDOTNET, JAVA, PHP, etc.

1) Understand the trouble of interacting with Computers - Redesign interfaces of applications.


Select any application, like land-line phone application, registration etc and understand the
trouble of interacting with that application. Comment on design of that application as good or
bad design based on whether interaction principles are matching with users mental model or
not. Redesign the interface for mention the change in design and reason.

2) Know your client: Select anyone category of user and develop application understanding the
user who will be using your system. Comment on the category of user selected and specific
features given for the users and identify what kinds of interfaces will they like and why?.
Compare with existing system analyze and rate them.Analyze user models and develop user
centric interfaces for :

a. Children (4-5 years of age): An application to teach math.


Perform analysis of children behavior e.g. their preferences, interests etc

b. Teenagers: Design a digital diary for young teens to help them overcome various social
pressures they deal with during their teen years. The diary should also be like a self help
tool which would help them deal with incidents like bullying, peer pressure, etc.. This is an
open project and you can think in any direction to make the children sail through their teen
years while trying to discover life around them.
Perform analysis of teenagers e.g. their problems, interests, needs, etc

c. Older generation: Folks from the older generation has been very wary of using their credit
card on the Internet. They have various concerns when it comes to paying their bills. Also
because of their old age, it will be beneficial for them to use the internet and pay their
phone, electricity, gas, etc. bills
Analysis of old people e.g. their nature, interests, needs, etc

d. Rural people: ATVM for train ticketing in rural area


Perform analysis of rural people e.g. their problems, interests, needs, language etc

e. Mentally disabled: Design the interface of a game for mentally disabled children.
Analysis of mentally disabled e.g. their behavior, problems, interests…

Any tool or technology can be used for implementation e.g., VB, DOTNET, JAVA, PHP, etc.

3) Identify 5 different websites catering to one specific goal (eg. Goal – on-line shopping and 5
different websites – ebay, amazon, flipkart, zovi, myntra) and perform a competitive analysis
on them to understand how each one caters to the goal, the interactions and flow of the
payment system and prepare a report on the same. Consider any 8 HCI principles and prepare
the following table evaluating the websites.
M. Sc. [I] Computer Science

Sr. Principles Poor Average Good Good Excellent


No Very
1. Aesthetically pleasing

2. ..

4) To achieve simplicity one needs to optimize the number of elements on a screen, within limits
of clarity. And minimize the alignment points, especially horizontal or columnar
1. Calculate Screen Complexity for existing Graphical User Interface (GUI).
2. Redesign the Screen by applying various guidelines to lower the complexity of selected
Graphical User Interface (GUI) to achieve simplicity

Method for Measuring Complexity:


1. Draw a rectangle around each element on a screen, including captions, controls, headings,
data, title, and so on.
2. Count the number of elements and horizontal alignment points (the number of columns in
which a field, inscribed by a rectangle, starts).
3. Count the number of elements and vertical alignment points (the number of rows in which
an element, inscribed by a rectangle, starts).
4. Calculate number of bits required by horizontal (column) alignment points and number of
bits required by vertical (row) alignment points by applying following formula for
calculating the measure of complexity.

C, complexity of the system in bits


N, total number of events (widths or heights)
m, number of event classes (number of unique widths or heights)
pn, probability of occurrence of the nth event class (based on the frequency of events within
that class)
5. Calculate overall complexity by adding the number bits required by horizontal alignment
points and vertical alignment points.
5) Design/Redesign web user interface based on Gestalt theories and comment on the principle
applied and justify. Alsoanalyze one image in which Gestalt principle is applied and
comment.
Example: Take a look at old IBM logo:

You recognize the letters as an I, a B, and an M, no problem there. But they aren’t letters at
all; the whole thing is a compilation of bright blue horizontal lines arranged to create the
perception of a set of letters. Gestalt Property used here is Closure. Closure means that we
"close" objects that are themselves not complete; not only completing the figure in our
M. Sc. [I] Computer Science

perception, but perceiving the figure as having an extra element of aesthetic design; we look
for a simple, recognizable pattern.

6) Design an application which consists of different types of menus such as Menu bar, Pull-
Down Menu, Cascading Menu, Pop-up Menus,Tear-off Menus. Apply and explain general
menu design guidelines applied for formatting, ordering, phrasing, selecting choices, and
navigating menus for application which is designed.

7) Implement different Kinds of Windows such as message boxes, palette Windows, Pop-up
Windows, primary window, secondary window, dialog boxes, message box etc. For every
window designed for the application explain:
- Purpose
- Description
- Components
- Kind window

8) Identify separate lines of business, e.g., medical, greeting cards, law etc. Design an
application using proper guidelines for icons. Comment on design of icons and their relevance
in the system.

Icon design is an important process. Meaningful and recognizable icons will speed learning and
recall and yield a much more effective system. Poor design will lead to errors, delays, and
confusion. Looks different from all other icons.
- Is obvious what it does or represents. - Is recognizable when no larger than 16 pixels square.
- Looks as good in black and white as in color. Icon Size
Supply in all standard sizes.
- 16 × 16 pixels.
- 16- and 256-color versions. - 32 × 32 pixels
- 16- and 256-color versions. - 48 × 48 pixels
- 16- and 256-color versions.
- Use colors from the system palette.
- Use an odd number of pixels along each side.
- Provides center pixel around which to focus design.
- Minimum sizes for easy selection:
-With stylus or pen: 15 pixels square.
- With mouse: 20 pixels square.
- With finger: 40 pixels square. - Provide as large a hot zone as possible. Choosing Images
- Use existing icons when available.
- Use images for nouns, not verbs.
- Use traditional images.
- Consider user cultural and social norms.

The Design Process of Icons


- Define purpose:
To begin the design process, first define the icon’s purpose and use. Have the design team
brainstorm about possible ideas, considering real-world metaphors.
- Collect, evaluate, and sketch ideas:
M. Sc. [I] Computer Science

Start by designing on paper, not on the computer. Ask everyone to sketch his or her ideas.
- Draw in black and white: Many icons will be displayed in monochrome. Color is an
enhancing property; consider it as such.
- Test for expectation, recognition, and learning. Choosing the objects and actions, and the
icons to represent them, is not a precise process, and will not be easy. So, as in any screen
design activity, adequate testing and possible refinement of developed images must be built
into the design process. Icon recognition and learning should both be measured as part of
the normal testing process.
- Test for legibility.
Verify the legibility and clarity of the icons in general. Also, verify the legibility of the icons
on the screen backgrounds chosen. White or gray backgrounds may create difficulties. An
icon mapped in color, then displayed on a monochrome screen, may not present itself
satisfactorily. Be prepared to redraw it in black and white, if necessary.
- Register new icons in the system’s registry.
Create and maintain a registry of all system icons. Provide a detailed and distinctive description
of all new icons.
M. Sc. [I] Computer Science

Course Code: Course Name: Soft Computing Total Lectures


CSDT124C (30 Hours)
Teaching Scheme : Examination Scheme: No. of Credits
4 hrs/week IA: 15 Marks 2
UE: 35 Marks
Course A strong mathematical background
Prerequisites: Proficiency with algorithms
Critical thinking and problem solving skills
Course Objectives: To introduce the ideas of soft computational techniques based on
human experience.
To generate an ability to design, analyze and perform experiments
on real life problems using various Neural Learning Algorithms.
To conceptualize fuzzy logic and its implementation for various
real world applications.
To apply the process of approximate reasoning using Neuro-
Fuzzy Modeling.
To provide the mathematical background to carry out
optimization using genetic algorithms.
Chapter Course Contents No. of Lectures
1 Introduction to Soft Computing 2
Neural Networks: Definition, Advantages,
Applications, Scope.
Fuzzy logic: Definition, Applications.
Genetic Algorithms: Definition, Applications.
2 Neural Network 15
Fundamental Concept: Artificial Neural Network,
Biological Neural Network,
Brain vs. Computer-Comparison Between Biological
Neuron and Artificial Neuron (Brain vs. Computer),
Artificial Neurons, Neural Networks and
Architectures: Neuron Abstraction, Neuron Single
Functions, Mathematical Preliminaries, Neural
Networks Defined, Architectures: Feedforward and
Feedback, Salient Properties of NeuralNetworks
Geometry of Binary Threshold Neurons and Their
Networks: Pattern Recognition and Data
Classification, Convex Sets, Convex Hulls and Linear
Separability, Space of Boolean Functions, Binary
Neurons are Pattern Dichotomizers, Non-linearly
Separable Problems, Capacity of a Simple Threshold
Logic Neuron, Revisiting the XOR Problem,
Multilayer Networks, How Many Hidden Nodes
areEnough?
Learning and Memory: An Anecodatal Introduction,
Long Term Memory, The Behavioral Approach to
Learning, The Molecular Problem of Memory,
Learning Algorithms, Error Correction and Gradient
M. Sc. [I] Computer Science

Descent Rules, Learning Objective for TLNs, Pattern


Space and Weight Space. Linear Seperabilty, Hebb
Network, Perceptron Network. α- Least Mean Square
Learning.

3 Fuzzy Set Theory 9


Brief Review of Conventional Set Theory,
Introduction to Fuzzy Sets, Properties of Fuzzy Sets,
Operations on Fuzzy Sets, Crisp Relation, Fuzzy
Relation, Tolerance and equivalence relation, Fuzzy
Tolerance and equivalence relation, Fuzzy Max-Min
and Max-Product Composition, Membership
Functions, Fuzzification, Defuzzification to crisp sets,
λ-Cuts for fuzzy Relations, Fuzzy (Ruled-Based)
system, Graphical technique of inference, Membership
value assignment-Intuition, Inference.

4 Genetic Algorithms 4
What are Genetic Algorithms? Why Genetic
Algorithms? Traditional Optimization and Search
Techniques,Simple GA, Terminologies and
Operators in GA, Encoding, Selection, Crossover,
Mutation, Search Termination, Constraints in GA

References:

Sr. No. Title of the Book Author/s Publication


1 Fuzzy Logic With Engineering Timothy Ross Wiley Publication
Applications
2 Introduction to Soft Computing Deepa & Shivanandan Wiley Publication
3 Genetic Algorithms in Search, David E. Goldberg Pearson Education
Optimization and Machine
Learning
4 Fundamentals of Neural Laurene Fausett Pearson Education
Networks – Architectures,
Algorithms, And Applications
5 Neural Networks Satish Kumar Tata McGrawHill
M. Sc. [I] Computer Science

CSDP124C: Soft Computing Practical Assignment

Implement the programs in C/C++/Java/MATLAB

Sr. Assignment
No
1. Write a program to implement Fuzzy Operations
Union
Intersection
Complement
Algebraic sum
Algebraic product
Cartesian product
2. Write a program to implement De Morgans law.
3. Write a program to implement Max-Min Composition and Max-Product Composition.
4. Write a program to implement lambda cut
5. Write a program to implement Activation Function.
6. Write a program to implement Perceptron Learning Rule
7. Write a program to implement Hebb’s Rule
8. Write a program to implement Feed Forward Network
9. Write a program for building an Artificial Neural Network by implementing the Back
propagation Algorithm and test the same using appropriate data sets.
10. Write a program for solving linearly separable problem using Perceptron Model.
11. Write a program to develop supervised learning algorithm
12. Write a program to study and analyze genetic life cycle
M. Sc. [I] Computer Science

CSUP125: Practical on Advanced OS & Mobile Technologies

Sr. No. Mobile Technologies Assignments


1. Java Android Program to demonstrate login form with
validation.

2. Java Android Program to demonstrate Registration form


with validation.
3. Create the simple calculator shown below also perform
appropriate operation

4. Create an Android application which examine, that a


phone number, which a user has entered is in the
given format. * Area code should be one of the
following: 040, 041, 050, 0400, 044 * There should 6-
8 numbers in telephone number (+ area code).
5. By using Spinner, Buttons. Write a program to draw
following GUI.
M. Sc. [I] Computer Science

6. Create an Android application, which show to the user


5-10 quiz questions. All questions have 4 possible
options and one right option exactly. Application
counts and shows to the user how many right answers
were right and shows the result to user.
7. Construct an app to display the image on date wise.
8. Construct image switcher using setFactory().
9. Construct a bank app to display different menu like
windrow, deposite etc.
10. Create an Android application, where the user can
enter player name and points in one view and display
it in another view.
11. Create an Android application, the user can enter 10
students information and stored it in file and
display student information in second view and also
search the particular student information.
12. Write an application to accept two numbers from the
user, and displays them, but reject input if both
numbers are greater than 10 and asks for two new
numbers.
13. Create table Customer (id, name, address, phno).
Create Application for Performing the following
operation on the table. (using sqlite database)
i) Insert New Customer Details.
ii) Show All the Customer Details
14. Create an application that allows the user to enter a
number in the textbox named ‘getnum’. Check whether
the number in the textbox ‘getnum’ is palindrome or
not. Print the message accordingly in the label
control named lbldisplay when the user clicks on the
button ‘check’.
15. Create Following Table:
Emp (emp_no,emp_name,address,phone,salary)
Dept (dept_no,dept_name,location)
Emp-Dept is related with one-many relationship.
Create application for performing the following
Operation on the table
1) Add Records into Emp and Dept table.
2) Accept Department name from User and delete
M. Sc. [I] Computer Science

employee information which belongs to that


department.
16. Perform following numeric operation according to user
selection of radio button

17. Perform following string operation according to user


selection of radio button.

18. Java Andorid Program to Perform all arithmetic


Operations using Calculators
19. Java Android Program to Change the Image Displayed on
the Screen
20. Java Android Program to Demonstrate Alert Dialog Box
21. Java Android Program to Demonstrate the Menu
Application
22. Java Android Program to Demonstrate List View
Activity with all operations (Insert, delete,
Search).
23. Java Android Program to Display SMS from the Phone
Numbers, which are in Your Contacts
24. Java Android Program to send email with attachment.
25. Create an Android application which will ask the user
to input his name and a message, display the two
items concatenated in a label, and change the format
of the label using radio buttons and check boxes for
selection, the user can make the label text bold,
underlined or italic and change its color .include
buttons to display the message in the label, clear
the text boxes and label and then exit.
26. Write a program to search a specific location on
Google Map.
27. Write a program to perform Zoom In, Zoom Out
operation and display Satellite view,Terrain view of
M. Sc. [I] Computer Science

current location on Google Map.


28. Digital Bio Data PhoneGap Application using HTML5.
29. Write a PhoneGap application to display push
notification.
30. Write a PhoneGap application to create a contact,
Searching for Contacts, Cloning Contacts, Removing
Contacts.
31. Write a IOS application to display “Hello World’.
32. Write aios application to display gesture recognizer.
33. Write a Swift program to add the last character
(given string) at the front and back of a given
string. The length of the given string must be 1 or
more.
34. Write a Swift program to create a new string where
all the character "a" have been removed except the
first and last positions.
35. Write a Swift program to create a new string made of
2 copies of the first 2 characters of a given string.
The string may be any length.
36. Students design mobile applications for the Android
or iOS platforms that uniquely meet clear needs in
today’s markets. Student design documents include
narratives, categorized use cases, screen rows, and
database schemata
37. Handling button events / actions in iOS
38. Handling image in iOS using ImageView
39. Write a iOS application to implement UI elements like
ScrollView, TableView, Pickers, Switches
40. Write a iOS application to Managing camera in iOS
41. Write a iOS application to Handling audio, video and
file in iOS
42. Write a iOS application to Handling Accelerometer to
manage change in position
M. Sc. [I] Computer Science

Advanced OS Assignments

Write a following program in ‘C


1. To create ‘n’ children. When the children will terminate, display total cumulative time children
spent in user and kernel mode.
2. To generate parent process to write unnamed pipe and will read from it.
3. To create a file with hole in it.
4. Takes multiple files as Command Line Arguments and print their inode number.
5. To handle the two-way communication between parent and child using pipe.
6. Print the type of file where file name accepted through Command Line.
7. To demonstrate the use of atexit() function.
8. Open a file goes to sleep for 15 seconds before terminating.
9. To print the size of the file.
10. Read the current directory and display the name of the files, no of files in current directory.
11. Write a C program to implement the following unix/linux command (use fork, pipe and exec system
call)
ls –l | wc –l
12. Write a C program to display all the files from current directory which are created in particular
month

13. Write a C program to display all the files from current directory whose size is greater that n Bytes
Where n is accept from user.

14. Write a C program to implement the following unix/linux command


i. ls –l > output.txt

15. Write a C program which display the information of a given file similar to given by the unix / linux
command ls –l <file name>

16. Write a C program that behaves like a shell (command interpreter). It has its own prompt say
“NewShell$”. Any normal shell command is executed from your shell by starting a child process to
execute the system program corresponding to the command. It should additionally interpret the
following command.
i) count c <filename> - print number of characters in file
ii) count w <filename> - print number of words in file
iii) count l <filename> - print number of lines in file

17. Write a C program that behaves like a shell (command interpreter). It has its own prompt say “NewShell$”.
Any normal shell command is executed from your shell by starting a child process to execute the system
program corresponding to the command. It should additionally interpret the following command.
i) list f <dirname> - print name of all files in directory
ii) list n <dirname> - print number of all entries
iii) list i<dirname> - print name and inode of all files
M. Sc. [I] Computer Science

18. Write a C program that behaves like a shell (command interpreter). It has its own prompt say “NewShell$”.
Any normal shell command is executed from your shell by starting a child process to execute the system
program corresponding to the command. It should additionally interpret the following command.
i) typeline +10 <filename> - print first 10 lines of file
ii) typeline -20 <filename> - print last 20 lines of file
iii) typeline a <filename> - print all lines of file

19. Write a C program that behaves like a shell (command interpreter). It has its own prompt say
“NewShell$”.Any normal shell command is executed from your shell by starting a child process to
execute the system program corresponding to the command. It should
i) additionally interpret the following command.
ii) search f <pattern> <filename> - search first occurrence of pattern in filename
iii) search c <pattern> <filename> - count no. of occurrences of pattern in filename
iv) search a <pattern> <filename> - search all occurrences of pattern in filename

20. Write a C program which receives file names as command line arguments and display those
filenames in ascending order according to their sizes.
i) (e.g $ a.out a.txt b.txt c.txt, …)

21. Write a C program which create a child process which catch a signal sighup, sigint and sigquit. The Parent
process send a sighup or sigint signal after every 3 seconds, at the end of 30 second parent send sigquit signal
to child and child terminates my displaying message "My DADDY has Killed me!!!”.

22. Write a C program to implement the following unix/linux command (use fork, pipe and exec system
call). Your program should block the signal Ctrl-C and Ctrl-\ signal during the execution.
i. ls –l | wc –l
23. Write a C Program that demonstrates redirection of standard output to a file.
24. Write a program that illustrates how to execute two commands concurrently with a pipe.
25. Write a C program that illustrates suspending and resuming processes using signals.
26. Write a C program that illustrates inters process communication using shared memory.

You might also like