Document 399427

STUDENT KIT
M.Sc. (Computer Science)/
M.Sc. (Information Technology) II semester
Jan-May 2014 Onwards
Devi Ahilya Vishwavidyalaya
School of Computer Science & IT
“We make things happen . . .”
Producing world – class
IT Professionals
Since 1986
www.scs.dauniv.ac.in
MISSION OF SCS
 To produce world-class professionals who have excellent analytical skills,
communication skills, team building spirit and ability to work in cross
cultural environment.
 To produce international quality IT professionals, who can independently
design, develop and implement computer applications.
 Professionals who dedicate themselves to mankind.
SCHOOL OF COMPUTER SCIENCE & IT
DEVI AHILYA VISWAVIDYALAYA
Takshashila Campus, Khandwa Road, Indore – 452017
Tel. (0731) – 2470027, 2438518 Fax : (0731) – 2763618
Email: [email protected]
School Of Computer Science & IT, DAVV, Indore
Scheme-Jan-May 2014 onwards
M.Sc.(CS/IT) Semester – II
Sub. Code
Subject Name
L
T
P
CS-4209
Data Structures
Using C++
3
1
2
CS-4405
Database
Management
System
Software
Engineering
Computer
Architecture
Organization and
Management
Concepts
Comprehensive
Viva
3
1
3
CS-4305
CS-4008
IC-4915
CS-4809B
Total
C
Inter
nal
Practical/Projec
t
5
30
20
50
100
4
6
30
20
50
100
1
0
4
40
-
60
100
3
1
2
5
30
20
50
100
2
1
0
3
40
-
60
100
100
100
4
End
Sem
Total
27
600
Note: Proposed Scheme can be changed/amended/improved according to necessity and requirement.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
2
M.Sc. (CS/IT) – II
CS 4209 Data Structures using C++
1. Course title and code: Data Structures using C++ CS-4209
2. Credit hours-5(Five)
3. Program(s) in which the course is offered.
MCA, MCA(Integrated), MBA(CM)
4. Name of faculty member responsible for the courseMr.Ajay Tiwari, Mr. K.L.Suryawanshi
5. Level/year at which this course is offered – I year II Semester
6. Pre-requisites for this course - C Language
7. Co-requisites for this course: NA
8. Date of approval of the course specification within the institution: NA
9. Location if not on main campus: NA
Aim and Objectives
1. Aim
To develop proficiency in the specification, representation, and implementation of Data
Structures and apply the concepts for better program design.
2. Objectives
1. To understand object oriented concepts and programming.
2. To understand abstract data types
3. To implement data structures and related algorithms used in computer science.
4. Profiling of the algorithms used in specific data structures.
5. To handle a mini project and apply DS concepts for better program design
Course Description
DATE
TOPIC
References
Week 1 Introduction to C++: Structures, Variables in C++,
References,Functions, Function Overloading, Default
Values for Formal Arguments of Functions, Inline Functions.
Ch:11-18
Week 2 Class and Objects: Introduction to Classes and Objects
Constructors,
destructors,
friend
function,
dynamic
memory allocation, Inheritance, Overloading, Polymorphism,
Templates.
Ch:11-18
HS
HS
M.Sc. (CS/IT) II Sem Jan-May 2014 |
3
Week 3 Definition of data structures and abstract data types. Static and
Dynamic implementations. Examples and real life applications,
Address calculation in a single and multi dimensional array.
Sparse matrices. Data Structures: Arrays, Stacks, Queues,
Dequeues
Week 4 Definition, Array based implementation of stacks, Examples:
Infix, postfix, and prefix representation, Applications:
Mathematical expression Evaluation Definition: Queues &
Lists: Array based implementation of Queues / Lists: Array
based- implementation of Queues / Lists. Circular
of Queues
and Lists.
Linked Lists, Singly
and Doubly
linked list Applications of
Week 5 implementation
Linked Lists.
Week 6 Linked List based implementation of stacks and queues.
Straight/ circular implementation of doubly linked Queues /
Lists, Priority queues ,Applications
Week 7 Definition of trees and Binary trees, Properties of Binary trees
and Implementation, Binary Traversal - preorder, post order, in
order traversal, Binary Search Trees, Implementations,
Threaded trees, Balanced multi way search trees, AVL Trees.
Week 8 Implementations, Applications Definition of Undirected and
Directed Graphs and Networks, The Array based
implementation of graphs, Adjacency matrix, path matrix
implementation, The Linked List representation of graphs,
Shortest path Algorithm, Graph Traversal – Breadth first
Traversal, Depth first Traversal, and Connectivity of graphs:
Connected components of graphs, Weighted Graphs,
Applications.
Ch:1,4,6,7 SS
Week 9 Time Complexity, Big – Oh - notation, Running Times, Best
Case,Worst Case, Average Case, Factors depends on running
time Introduction to Recursion, Divide and Conquer
Algorithm, Evaluation time Complexity.
Week 10 Introduction, Sorting by exchange, selection, insertions, Bubble
sort, Selection sort, Insertion sort, Pseudo code algorithm and
their C++ implementation, Efficiency of above algorithms,
Shell sort, Performance of shell sort
Ch:2,3 SS
Week 11 Merge sort, Merging of sorted arrays, The merge sort
Algorithms, Quick sort Algorithm, Analysis of Quick sort,
Picking a Pivot, A partitioning strategy, Heap sort, Heap
Construction, Heap sort, bottom – up, Top – down Heap sort
approach, Radix sort
Week 12 Straight Sequential Search, Array implementations, Linked List
representations, Binary Search, non –recursive Algorithms,
recursive Algorithms, Indexed Sequential Search.
Ch:1,2,4 TBM
Ch:1,4,6, 12 SS
Ch:1,2,4 TBM
Ch:5,6 SS Ch:2,4
TBM
Ch:5,6,12 SS
Ch:4 TBM
Ch:7,11,14 SS
Ch:5 TBM
Ch:16 SS
Ch:9 SS
Ch: 6 TBM
Ch:6
TBM
Ch:9 SS Ch: 7 TBM
M.Sc. (CS/IT) II Sem Jan-May 2014 |
4
Week 13 Hash function, Collision
Hashing Applications.
Week
14
Week
15
Resolution
Techniques,
Assignments:
1. Implementation of Hashing Functions.
2. Practice of graph traversal
Standard Template Libraries
Ch:8, 9,10 SS
Ch: 33 HS
PROJECT: Graphical implementation of All data structures.
Final exam
Books:
HS: Herbert Sheilds- C++ Complete Reference
SS:
Shaum Series Lipschutz- Data Structures
TBM: Tanenbaum- Data Structures using C & C ++
Learning Resources
1. Required Text(s) Data Structures using C by A. M. Tenenbaum, Langsam, Moshe J. Augentem, PHI
Pub.
 Theory & Problems of Data Structures by Jr. Symour Lipschetz, Schaum’s outline by
TMH
 C++ Complete Reference by Herbert Sheilds
2. Essential References
• Data Structures and Algorithms by A.V. Aho, J.E. Hopcroft and T.D. Ullman, Original
edition, Addison-Wesley, 1999, Low Priced Edition.
• Fundamentals of Data structures by Ellis Horowitz & Sartaj Sahni, Pub, 1983,AW.
• Data Structures and Program Design in C By Robert Kruse, PHI,
3- Recommended Books and Reference Material (Journals, Reports, etc) (Attach List)
• Fundamentals of computer algorithms by Horowitz Sahni and Rajasekaran.
• Introduction to Computers Science -An algorithms approach , Jean Paul Tremblay,
Richard B. Bunt, 2002, T.M.H.
• Data Structure and the Standard Template library – Willam J. Collins, 2003, T.M.H
4-.Electronic Materials, Web Sites etc
Will be uploaded on www.dauniv.ac.in / scsintranet
5- Other learning material such as computer-based programs/CD, professional
standards/regulations
Lab Assignments
Week 1
1. Write a program to display message:
Welcome to Oops
Wish you all the best.
2. Write a program to find the area of circle, rectangle or triangle.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
5
3.
Write a program that allows the user to enter the number, and then generate the table,
formatting it into ten columns and 20 lines. Interaction with the program should look like
this.
Enter a number: 2
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58
60
4.
Write a temperature – conversion program that gives the user the option of converting
Fahrenheit to Celsius or Celsius to Fahrenheit. Then carry out the conversion. Use Floating
point numbers.
5.
Create the equivalent of four-function calculator. The program should request the user to
enter a number, an operator, and another number. It should then carry out the specified
arithmetical operation; adding, subtracting, multiplying or dividing the two numbers. (It
should use a switch statement to select the operation). Finally it should display the result.
When it finishes the calculation, the program should ask if the user want to do another
calculation. The response can be ‘y’ or ‘n’.
6. A phone number, such as (212) 767-8900, can be thought of as having three parts: the area
code (212), the exchange (767), and the number (8900). Write a program that uses a structure
to store these three parts of a phone number separately. Call the structure phone.Create two
structure variables of type phone. Initialize one, and have the user input a number for the
other one. Then display both numbers.
7. A point on the two-dimensional plane can be represented by two numbers: an X coordinate
and a Y coordinate. For example, (4,5) represents a point 4 units to the right of the origin
along the X axis, and 5 units up the Y axis. The sum of two points can be defined as new
points, and whose Y coordinate is the sum of their Y coordinates.
8. Write a program that uses a structure called point to model a point. Define three points, and
have the user input values to two of them. Then set the third point equal to the sum of the
other two, and display the value of the new point.
9. Create a structure called volume that uses three variables of type Distance to model
volume of a room. Initialize a variable of type Volume to specific dimensions, and then
calculate the volume it represents, and print out the result. To calculate the volume, convert
each dimension from a Distance variable to a variable of type float representing feet and
fractions of a foot, and then multiply the resulting three numbers.
10. Write a function called circarea ( ) that finds the area of a circle in a similar way. It should
take an argument of type float and return an argument of the same type. Write a main ( )
function that gets a radius value from the user, calls circarea ( ), and displays the result.
11. Raising a number n to a power p is the same as multiplying n by itself p times. Write a
function called power ( ) that takes double value for n and an int value for p, and returns the
result as double value. Use a default argument of 2 for p, so that if t h i s argument is
committed, the number will be squared. Write a main ( ) function that gets values from the
user to test this function.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
6
12. Write a function called zero Smaller ( ) that is passed two int argument by reference and then
sets the smaller of the two numbers to 0. Write a main ( ) program to exercise this function.
13. Write a function that takes two Distance values as arguments and returns the larger
one.Include a main ( ) program that accepts two Distance figures from the user, compares
them, and displays the larger.
14. Create a class that imitates part of the functionality of the basis data type int, Call the class int
(note different spelling). The only data in this class is an int variable. Include member
functions to initialize an Int to 0, to initialize it to an int value, to display it (it looks just
like an int), and to add two Int values.
15. Write a program that exercises this class by creating two initialized and one uninitialized
int values, adding these two initialized values and placing the response in the un-initialized
value, and then displaying this result.
Week 2
16. Create a class called time that has separate int member data for hours, minutes, and second.One
constructor should initialize this data to 0, and another should initialize it to fixed values.
A member function should display it, in 11:59:59 format. The final member function should
add two objects of type time passed as arguments. A main ( ) program should create two
initialized time objects, and one that isn’t initialized. Then it should add the two initialized
values together, leaving the result in the third time variable. Finally it should display the value
of this third variable.
17. Write a function called reversit ( ) that reverse a string (anarray of char). Use a for loop that
swaps the first and last characters, then the second and next-to-last characters, and so on. The
string should be passed to reverse it ( ) as an argument. Write a program to exercise reversit
the program should get a string from the user, call reversit ( ) and print out the result. Use an
input met ho d that allows embedded blanks. Test the program with Napoleon’s famous
phrase, “Able was I ere I saw Elba”.
18. Create a class called employee that contains a name (an array of char) and an employee
number (type Long). Include a member function called get data ( ) to get data from the user for
insertion into the object, and another function called put data ( ) to display the data. Assume the
name has no embedded blanks. Write a main () program use this class. It should create an array
of type employee, and then the user input data for up to 10 employees. Finally, it should print
out the data for all the employees.
19. Write a program that substitutes an overloaded += operator for the overloaded+ operator in the
STRPLUS program. This operator should allow statements likes1 +=s2; where s2 is added
(concentrated) to s1 and the result left in s1. The operator should also permit the results of the
operation to be used in other calculations, as in s3 = s1 +=s2.
20. Create a class int. Overload all five integer arithmetic operators (+; =; *; /; and %) so that they
operate an objects of type int. If the result of any such arithmetic operation exceeds the normal
range of ints = from = 32,768 to 32; 767 –have the operator print a warning and terminate the
M.Sc. (CS/IT) II Sem Jan-May 2014 |
7
program. Such a data type might be useful where mistakes caused by arithmetic
overflow are unacceptable. Hint: To facilitate checking for overflow; perform the calculations
using type long. Write a program to test this class.
21. Imagine a publishing company that markets both book and audio-cassette versions of its
works. Create a class publication that stores the title (a string) and price (type float) of a
publication. From this class derive two classes; book, which adds a page count (type int); and
tape, which adds a playing time in minutes (type float). Each of these three classes should have
a get data () function to get its data from the user at the keyboard, and a put data ( ) function
to display its data. Write a main ( ) program to test the book and tape classes by creating
instances of them, asking the user to fill in their data with get data ( ), and then displaying the
data with put data ( ).
22. Write a program that reads a group of numbers from the user and places them in an array of
type float. Once the numbers are stored in the array, the program should average them and
print the result. Use pointer notation wherever possible.
23. Start with the String class from the NEWSTR. Add a member function called up it ( ) that
converts the string to all upper case. You can use the toupper ( ) library function, which
takes a single character as an argument and return a character that has been converted (if
necessary) to uppercase. This function uses the CTYPE, H header file. Write some code in main
( ) to test this function.
24. Add a destructor to the LINKLIST program. It should delete all the links when a link list
object is destroyed. It can do this by following along the chain, deleting each links as it
goes. You can test the destructor by having it display a message each time it deletes a link; it
should delete the same number of links that were added to the list. (A destructor is called
automatically by the system for any existing objects when the program exits.)
25. Imagine the same publishing company that markets both book and audio-cassette versions
of its works. As in that exercise, create a class called publication that stores the title (a string)
and price (type float) of a publication. From this class derive two classes: book, which adds
a page count (type int); and tape, which adds a playing time in minutes (type float). Each of
the three classes should have a get data ( ) function to get its data from the user at the
keyboard, and a put data ( ) function to display the data.
Week 3
26. Write a C++ Program to construct a Class stack of integers and to perform the following
operations on it:
a. Push b. Pop c. Display
The program should print appropriate messages for stack overflow, stack underflow, and
stack empty.
27. Write a C++ Program to simulate the working of a queue of integers using an array. Provide
the following operations:
a. Insert b. Delete c. Display
28. Write a C++ Program to simulate the working of a circular queue of integers using an
array.Provide the following operations:
a. Insert b. Delete c. Display
29. Write a C++ Program to convert and print a given valid parenthesized infix arithmetic
expression to postfix expression. The expression consists of single character operands and the
binary operators + (plus), - (minus), * (multiply) and / (divide).
M.Sc. (CS/IT) II Sem Jan-May 2014 |
8
30. Write a C++ Program to evaluate a valid suffix/postfix expression using stack. Assume that
the suffix/postfix expression is read as a single line consisting of non-negative single digit
operands and binary arithmetic operators. The arithmetic operators are + (add), - (subtract), *
(multiply) and / (divide).
Week 4
31. Write a C++ Program using dynamic variables and pointers, to construct a singly linked list
consisting of the following information in each node: student id (integer), student name
(Character string) and semester (integer). The operations to be supported are:
a. The insertion operation
i. At the front of a list
ii. At the back of the list
iii. At any position in the list
b. Deleting a node based on student id. If the specified node is not present in the list
an error message should be displayed. Both the options should be demonstrated.
c. Searching a node based on student id and updates the information content. If the
specified node is not present in the list an error message should be Both situations
should be displayed.
d. Sorting all the nodes in the list.
e. Displaying all the nodes in the list.
32. Write a C++ Program using dynamic variables and pointers to construct a stack of integers
using singly linked list and to perform the following operations:
a. Push b. Pop c. Display
The program should print appropriate messages for stack overflow and stack empty.
33. Write a C++ program using dynamic variables and pointers to construct a queue of integers
using singly linked list and to perform the following operations:
a. Insert b. Delete c. Display
Week 5
34. Write a C++ Program to support the following operations on a do ubly linked list where each
node consists of integers:
a. Create a doubly linked list by adding each node at the front.
b. Insert a new node to the left of the node whose key value is read as an
input.
c. D e le t e the node of a given data, if it is found, otherwise display
appropriate message.
d. Display the contents of the list.
Week 6
35. Write a C++ Program
a. To construct a binary search tree of integers.
b. To traverse the tree using all the methods i.e., inorder, preorder and
postorder.
c. To display the elements in the tree.
36. Write a C++ program to implement multi-way search trees.
37. Write a C++ program to implement AVL trees
M.Sc. (CS/IT) II Sem Jan-May 2014 |
9
38. Write recursive C++ Programs for
a. Searching an element on a given list of integers using the Binary Search method
b. Solving the Towers of Hanoi problem.
Week 7
39. Write a C++ program to implement Hashing Functions
M.Sc. (CS/IT) II Sem Jan-May 2014 |
10
CS 4405 Database Management System
1. Course title and code: CS-4405: Database Management System:
2. Credit hours: 6 (Six)
3. Program(s) in which the course is offered.
MCA, M.Sc.(Computer Science), M.Sc.(Information Technology), MBA (Computer Management)
4. Name of faculty member responsible for the course:
Dr. Sanjay Tanwani, Ms. Chaitali Uikey,
5. Level/year at which this course is offered : I year II Semester
6. Pre-requisites for this course (if any): A slight knowledge of traditional file management system.
7. Co-requisites for this course (if any): Should teach Database Application and Tools just after the
completion of the course.
Aim and Objectives
1. Aim
The student should learn database design and information retrieval concepts and apply these
concepts in complex projects involving large database.
2. Objectives
The course objectives are to:







To present necessary concepts for database designing.
Design conceptual, logical database model and physical model.
Evaluate set of query using SQL and algebra.
Concepts of RDBMS, and learn Object oriented modeling.
To introduce transaction management and concurrency.
To introduce storage structure and file management.
Develop any multi-phased project as a part of a team.
2. Briefly describe any course development objectives that are being implemented. (eg increased use of
IT or web based reference material, changes in content as a result of new research in the field).
The course is focused on to increase the design skills of students for database technology, it is expected
that student will use extensively the internet in discovering new tools and implement database
applications.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
11
Course Description
Week
1
2
3
4
5
6
7
8
9
Topic
Introduction: Advantages of DBMS approach, Various views of data, data
independence, schema & sub-schema, primary concept of data models,
database languages, transaction management, database administrator &user,
data dictionary, database architectures.
Relational Model: Domains, relation, kind of relation, Relational databases,
Various types of keys: candidate, primary, alternate & foreign keys.
The structure, relational algebra with fundamental and extended operations,
modification of database.
Relational Database: Basic structure of SQL, Set operation, Aggregate
functions, Null values, Nested Sub queries, derived relations, views,
Modification of database, join relation, Domain, relation & keys, DDL in SQL.
Database Integrity: general idea, integrity rules, Domain rules, Attributes rules,
assertion, triggers, integrity & SQL.
ER model: Basic concept, design issues, mapping constraint, keys, ER
diagram, weak & strong entity-sets,
Specialization & generalization, aggregation, inheritance, design of ER
schema, Reduction of ER Schema to tables.
Programming concepts of PL/SQL, Stored procedure, Database connectivity
with ODBC/JDBC.
Concept of NoSQL, Brief history of NoSQL, SQL verses NoSQL, CAP
Theorem (Brewer’s Theorem), NoSQL pros/cons, Categories of NoSQL
database, Production deployment, MongoDb, Key Features, practical with
MongoDb
Functional dependencies: Basic definitions, Trivial & non trivial dependencies,
closure set of dependencies & of attributes, Irreducible set of dependencies,
FD diagram.
Normalization: Introduction to normalization, non loss decomposition, First,
second and third normal forms, dependency preservation, BCNF, multivalue
dependencies and fourth normal form, join dependencies and fifth normal
form.
Transaction Management: basic concept, ACID properties, transaction state,
Implementation of atomicity & durability, Concurrent execution, Basic idea of
serializability.
Concurrency & Recovery: Basic idea of concurrency control, basic idea of
deadlock, Failure Classification, storage structure-types, stable storage
implementation, data access, recovery & Atomicity: log based recovery,
deferred database modification, immediate database modification, checkpoints.
Storage Structure: overview of physical storage media, magnetic disk:
performance & optimization, RAID.
File Organization: File organization, Organization of records in files, basic
concept of Indexing, ordered indices: B+ tree & B tree index files.
10
11
12
13
14
15

Reference
Chapter 1
Chapter 2
Chapter 2
Chapter
3+Chapter 4
Chapter 6
Chapter 6
Chapter 6
From Ivan
Bayross+
Lecture
Notes
Lecture
Notes
Chapter 7
Chapter 7
Chapter 15
Chapter 16
+ Chapter
17
Chapter 11
Chapter 12
The chapters indicated above are from
“Database System concepts – Henry F. Korth”,Tata McGraw Hill” 5th Edition
M.Sc. (CS/IT) II Sem Jan-May 2014 |
12
Learning Resources
1. Text Books
1.
Database System concepts – Henry F. Korth , Tata McGraw Hill 5th Edition
2. Reference Books
1. “Fundamentals of Database Systems”, Elmasri R, Navathe S, Addison Wesley 4th Ed., ISBN
0321122267
2. An introduction to database system- Bipin C. Desai
3. An introduction to Database System - C.J Date
4. SQL, PL/SQL The programming language of Oracle- Ivan Bayross
5. SQL & PL/SQL for Oracle – Black Book
3- Recommended Books and Reference Material (Journals, Reports, etc) (Attach List)
4- Electronic Materials, Web Sites etc
5- Other learning material such as computer-based programs/CD, professional standards/regulations
LAB ASSIGNMENTS
Assignment No. 1
1. Explain DML and DDL command.
2. Write all data types and its definition which are used in SQL.
3. What is integrity constraint? Explain primary key, foreign key, not null, unique, default,
check. Also use all integrity constraints in below TABLE
4. What is table level constraint and column level constraint?
5. Review all Built-in function in ORACLE.
6. Create tables according to the following definition
a) DEPOSIT (acctno, cname, bname, amount, adate)
b) BRANCH (bname, city)
c) CUSTOMER (cname, city)
d) BORROW (loanno, cname, bname, amount)
7. Describe tables, which are already created.
8. Insert at least 20 rows in each table.
Assignment No. 2 Table Operation- Altering Structure
1.
2.
3.
4.
5.
6.
7.
Renaming all Tables.
Adding columns to a table.
Removing columns from a table.
Increasing width of the column.
Decreasing width of the column.
Changing data type of a column.
Changing number data type to char.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
13
8. Copying a table.
9. Copying a table specifying different column names.
10. Copying table structure only and not records.
Assignment No. 3 Selecting Data from Single Table
1. List all data from table DEPOSIT.
2. List all data from table BORROW.
3. List all data from table CUSTOMER.
4. List all data from table BRANCH.
5. Give account number and amount of depositors.
6. Give cname and account number of depositors.
7. Give names of customers.
8. Give names of branches.
9. Give names of borrowers.
10. Give names of customers living in city NAGPUR.
11. Give names of depositors having AMOUNT greater than 4000.
12. Give account date of customer ANIL.
13. Give names of all branches located in city BOMBAY
14. Give name of borrower having loan no. 206.
15. Give names of depositors having account at VRCE.
16. Give names of all branches located in city DELHI.
17. Give name of customers who opened account after date ‘1-12-2005’
18. Give account number and deposit amount of customer having account opened between dates
1-12-2009 and 1-1-2009.
19. Give name of the city where branch KAROLBAGH is located.
20. Give detail of customer ANIL.
Assignment No. 4 Join or Cartesian product
1. Give name of customer having living city BOMBAY and branch city DELHI.
2. Give names of customers having the same living city as their branch city.
3. Give names of customers who are borrowers as well as depositors and having living city
NAGPUR.
4. Give names of customers who are depositors and have the same branch city as that SUNIL.
5. Give names of depositors having the same living city as that of SHIVANI and having deposit
amount greater than 2000.
6. Gives names of borrowers having deposit amount greater than 1000 and amount greater than
2000.
7. Give name of depositors having the same branch as the branch of SUNIL.
8. Give names of borrowers having loan amount greater than the loan amount of ANIL.
9. Give name of customers living in the city where branch of depositors SUNIL is located.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
14
10. Give LOANNO and LOAN AMOUNT of borrowers having the same branch as that of
depositor SUNIL.
11. Give LOANNO, LOAN AMOUNT, ACCOUNT NO, and DEPOSIT AMOUNT of customers
living in city NAGPUR.
12. Give LOANNO, LOAN AMOUNT, ACCOUNT NO, and DEPOSIT AMOUNT of customers
having deposit branch located in DELHI.
13. Give LOANNO, LOAN AMOUNT, ACCOUNT NO, and DEPOSIT AMOUNT, BRANCH
NAME, BRANCH CITY and LIVING CITY of PRAMOD.
14. Give deposit details and loan details of customer in the city where PRAMOD is living.
15. Give names of depositors having the same branch city as that of SUNIL and having the same
living city as that of ANIL.
16. Give names of depositors having amount greater than 1000 and having the same living city as
PRAMOD.
17. Give branch city and living city of PRAMOD.
18. Give branch city of SUNIL or branch city of ANIL.
19. Give the living city of ANIL and the living city of SUNIL.
20. Give city of customer having the same branch city as that of PRAMOD.
Assignment No. 5 Set Operations
1. List all the customers who are depositors but not borrowers.
2. List all the customers who are both depositors and borrowers.
3. List all the customers, along with their amount, who are either borrowers or depositors and
living in city NAGPUR.
4. List all the depositors having deposit in all the branches where SUNIL is having account.
5. List all customers living in city NAGPUR and having branch city BOMBAY.
6. List all the depositors living in city NAGPUR.
7. List all the depositors living in city NAGPUR and having branch in city DELHI.
8. List the branch cities of ANIL and SUNIL.
9. List the customer having deposit greater than 1000 and loan less than 10000.
10. List the borrowers having branch city same as that of SUNIL.
11. List the cities of depositors having branch VRCE.
12. List all the cities where branches of ANIL and SUNIL are located.
13. List the AMOUNT for the depositors living in the city where ANIL is living.
14. List the cities which are either branch city of ANIL or living city of SUNIL.
15. List the customers who are both borrowers and depositors and having the same branch city as
that of ANIL.
Assignment No. 6 Aggregate Functions
1. List total loan.
2. List total deposit.
3. List total loan taken from ANDHERI branch.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
15
4. List total deposit of customer having account date later than 1-Jan-2009.
5. List maximum deposit of customers living in BOMBAY.
6. List total deposit of customers having branch city DELHI.
7. Count total number of branch cities.
8. Give number of customers who are depositors as well as borrowers.
9. Give citywide name and branchwise deposit.
10. Give minimum loan from branch VRCE.
Assignment No. 7Group By and Having Clause
1. List the branches having sum of deposit more than 4000.
2. List the branches having a sum of deposit more than 1000 and located in city BOMBAY.
3. List the names of customers having deposit in the branches where the average deposit is more
than 1000.
4. List the names of customers having maximum deposit.
5. List the name of customers having maximum deposit in the customers living in NAGPUR.
6. List the name of branch having highest number of depositors.
7. Count the number of depositors living in NAGPUR.
8. Give names of customers in POWAI branch having more deposit than all customer VRCE
branch.
9. Give names of customers having more deposit than the average deposit in their respective
branches.
10. Give the name of branches where number of depositors is less than 2.
11. Give name of city having more customers living in than NAGPUR.
12. Give the name of cities in which the maximum numbers of branches are located.
13. Count the number of customers living in the city where branch is located.
Assignment No. 8The Update Statement
1.
2.
3.
4.
5.
6.
7.
8.
Give 10% interest to all depositors.
Give 10% interest to all depositors having branch VRCE.
Give 10% interest to all depositors living in NAGPUR.
Add 100 Rs. To the deposit of ANIL and assign it to SUNIL.
Change the living city of VRCE branch borrowers to NAGPUR.
Deposit the sum of the deposits of SUNIL and VIJAY in the account of ANIL.
Transfer RS 10 from the account of ANIL to the account of SUNIL.
Add Rs. 10 to the amount of all depositors having deposit higher than the average deposit.
Assignment No. 9 The Delete Statement
1. Delete from customer.
2. Delete depositors of branches having number of customer between 1 and 3.
3. Delete branches having average deposit less than 5000.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
16
4. Delete branches having maximum loan more than 5000.
5. Delete deposit of VIJAY.
6. Delete deposit of AJAY if VIJAY is not a depositor
7. Delete customer from BOMBAY city.
8. Delete depositors having deposit less than 500.
9. Delete borrower having loan more than 10000.
10. Delete borrower of branches having average loan less than 1000.
11. Delete borrower having loan more than 1000 and branch KAROLBAGH.
12. Delete the name of those depositors of VRCE branch who live in the city BOMBAY.
Assignment No. 10 The following schema is required by a Computer Training Institute to store
information.
COURSE(coursecode, coursename, syllabus, lastno)
BATCH(batchcode, coursecode, startingdate, duration, coursefees, netincome, expectedincome,
lastno)
ADVERTISEMENT(refcode, medianname, pages, advdate, amount)
ENQUIRY(enquiryno, fname, sname, coursecode, plotno, street, city, pincode, phone, enquirydate,
refcode, en_st)
INSTALLMENT(rollno. Installmentdate, amount, installmentstatus)
ENROLLMENT (rollno. Enquiryno, batchcode, enrollmentdate)
FEESPAID(rollno, feespaiddate, chequeno, bankname, remarks, amount)
EXPENDITURE (expcode, amount, expdate, chequeno, bankname, remark, batchcode)
EXPMASTER(expcode, expname, exptype, netexp)
1. Displaying the contents of course.
2. Displaying the contents of BATCH.
3. Displaying the BATCHCODE of BATCH having expected income more than not income by
2000.
4. Displaying the COURSENAME, STARTINGDATE for a particular BATCH.
5. Displaying the ROLLNO, ADDRESS of students in specified BATCH.
6. Displaying the ROLLNO, NAME, INSTALLMENT DATE, AMOUNT for a particular
BATCH.
7. Displaying the ROLLNO, NAME of students who paid fees more than 5000 at a time
8. Displaying the names of students who are in the same batch in which person ANIL is enrolled.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
17
9. Displaying name of persons enrolled in a specified course.
10. Displaying the names of students who have not paid any fees.
11. Finding out the difference between expected fees and total fees for a particular roll number.
12. Finding out the monthly and weekly income.
13. Finding out the number of persons whose name starts with S.
14. Displaying amount in the format Rs. 99,999,99.
15. Deleting all rows from ENQ for a specified COURSENAME.
16. Updating LASTNO of COURSE having data from BATCH.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
18
CS-4305: Software Engineering
1. Course title and code:
Software Engineering,
CS-4305
2. Credit hours:
Four
3. Program(s) in which the course is offered.
MCA, MCA(Integrated), MBA(CM)
4. Name of faculty member responsible for the course:
Dr. Ugrasen Suman, Dr. Deepak Abhyankar, Ms. Archana Choudhary
5. Level/year at which this course is offered: PG Level First Year Second Semester
6. Pre-requisites for this course (if any):
Programming Experience, Systems Analysis and Design
7. Co-requisites for this course (if any):
A Simple Project for testing Software Engineering Practices
8. Date of approval of the course specification within the institution:
Course is approved by BoS and has been discussed within the department. It is introduced since
2003
9. Location if not on main campus: Main Campus
Aims and Objectives
1. Aim
To enable the students to have a thorough understanding of the activities in software
development life cycle and application of engineering principles in software development
processes.
2. Objectives








Understanding the importance of Software Engineering.
Understand the various activities undertaken for a software development project.
Understanding the planning of a software project.
Understanding and Comparing the tools and techniques of Structured and Object oriented
approaches at various stages of software development process.
Understand the various attributes of quality and ways to achieve the desired quality.
Discuss various reliability models and approaches to design a reliable system.
Explain the importance of testing approaches to design a reliable and operational system.
Discuss the post implementation issues such as maintenance, evolution and reengineering
for strengthening the operational life of the system.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
19
Course Description
Week
Topic
Reading
Week 1 Introduction to Software Engineering: Software, Software
Classifications and Characteristics, Emergency of Software
TB 1
Engineering, What is Software Engineering? Software Engineering
Chapter 1
Challenges
Assignment: Exercises 1 to 21.
Assignments: Group projects (3-4 students in a group)
Week
Software processes: Process model, Elements and Characteristics
2
of Process model, Process Classification, Phased Development Life TB1 Chapter 2
Cycle, Software Development Processes: Waterfall model, Iterative
Waterfall model, Prototyping model, Incremental model, Spiral
model, RAD model, Agile process model, and RUP process model.
Comparative study of various development models. Component
based development and Reusability.
Assignment: Exercises: 1 to 21.
Week
3
Week
4
Week
5
Week
6
Project management: Project management essentials, Project
success and failures, Project Life Cycle, Project team structure and
organization, Software Configuration Management, Risk
Management.
Assignment: Exercises 1 to 23.
Project Planning: Project planning activities, Metrics and
Measurements, Project Size Estimation, Effort Estimation
Techniques, Staffing and Personnel Planning, Project Scheduling
and Miscellaneous Plans.
Assignment: Exercises 1 to 32.
Midterm First evaluation
Requirement Engineering Process: Software Requirements,
Requirement Engineering Process, Requirement Elicitation,
Requirement Analysis (Structured Analysis, Object Oriented
Analysis, Data Oriented Analysis and Prototyping Analysis),
Requirements Specification, Requirement Validation, and
Requirement Management.
Assignment: Exercises: 1 to 38
Software Design: Software Design Process, Characteristics of a
Good Design, Design Principles, Modular Design (Coupling and
Cohesion), Software Architecture, Design Methodologies (Function
Oriented Design and Object Oriented Design)
Assignment: Exercises 1to 16.
TB 1
Chapter 3
TB 1
Chapter 4
TB 1
Chapter 5
TB 1
Chapter 6
M.Sc. (CS/IT) II Sem Jan-May 2014 |
20
Week 7
Structured Design Methodology (SDM), Transaction Analysis and
Logical Design;
Assignment: Exercises 17 to 21. (Chapter 6)
Implementation: Coding principles, Coding process, Code
verification and documentations.
Assignment: Exercises 1 to 15. (Chapter 8)
Midterm Second Evaluation
Week 8
Software Testing: Testing Fundamentals, Test Planning, Black Box
Testing, White Box Testing, Levels of Testing, Debugging
Approaches
Week 9
Software Quality: Quality Concept, Quality Factors, Verification
and Validation, Quality Assurance Activities, Quality Standards:
Capability Maturity Model (CMM), ISO 9000, Six Sigma.
Assignment: Exercises 1 to 19.
Week 10 Software Reliability
Assignment: Exercises 20 to 24 (Chapter 10)
Software Maintenance, Evolution, and Reengineering.
Assignment: Exercises 1 to 17 (Chapter 11)
Midterm Third Evaluation
Week 11 Review of Assignments and group projects
Week 12 Final Exam
* TB = Text Book
TB 1
Chapter 6
TB 1
Chapter 8
TB 1
Chapter 9
TB 1
Chapter 10
TB 1
Chapter 10
Chapter 11
Learning Resources
1. Text Books
1. Software Engineering: Concepts & Practices- Ugrasen Suman, First Edition, Cengage
Learning.
2. Fundamentals of Software Engineering-Rajib Mall, PHI, New Delhi.
2. Reference Books
1. An Integrated Approach to Software Engineering- Pankaj Jalote, Second/ Third Edition,
Narosa Publishing House.
2. Software Engineering-A practitioner’s approach- R. S. Pressman, Tata McGraw-Hill
International Editions, New York.
3. Software Engineering- Ian Sommerville, Pearson Education, New Delhi.
4. Software Engineering Concepts-Richard E. Fairly, Tata McGraw Hill Inc. New York.
5. http://courses.cs.vt.edu/csonline/SE/Lessons
3- Recommended Books and Reference Material (Journals, Reports, etc) (Attach List)
4-.Electronic Materials, Web Sites etc
1 . www.rspa.com
2 www.sei.cmu.edu
2. www.acm.org
3. www.ieee.org
5- Other learning material such as computer-based programs/CD, professional
standards/regulations
M.Sc. (CS/IT) II Sem Jan-May 2014 |
21
Assignments on Software Engineering
MCA II Semester
Assignment 1:
Select a project that you want to develop and define the aim, objectives, and goals of your project. Select a
software development methodology to develop the same project. Perform various phases of the methodology
to produce work-products.
Assignment 2:
Exercises from the Text book 1 will be given to the students at the end of Chapter/ Unit of the syllabus. The
assignments will be evaluated at the beginning of each week.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
22
CS – 4008 Computer Architecture
1. Course title and code: Computer Architecture CS - 4008
2. Credit hours: 5
3. Program(s) in which the course is offered.
Master of Science – Computer Science, Master of Science – Information
Technology, Master of Computer Applications
4. Name of faculty member responsible for the course :
Ms. Shweta Agrawal, Er. Shantilal Dawar
5. Level/year at which this course is offered: First Year, Second Semester
6. Pre-requisites for this course Digital Electronics
7. Co-requisites for this course:
Basic Architectural as well as instruction overview of basic 8-bit Microprocessor like 8085.
8. Date of approval of the course specification within the institution:
Course is approved by BoS and has been discussed within the department. It is
introduced since 2003.
9. Location if not on main campus: Main Campus
Aim and Objectives
1. Aim
To provide an understanding of the modern computer architecture, including mechanism of
parallelism and pipelining through assembly language programming.
2. Objectives












To learn about various measuring trends and laws.
To understand the various functional units of CPU.
To understand about various types of instruction formats and addressing modes.
To understand about various types of processor organization and to learn about RISC and CISC
features.
To understand the processing unit design
To understand the pipelining and its implementation.
To understand the parallel processing and introduction to super scalar processors.
To learn about instruction level parallelism.
To understand the concept of cache and their implementation
To learn about interrupts and input output organization.
To learn about multi core architecture.
To learn shared memory concept and cache coherence.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
23
Course Description
No. of
weeks
Week 1
Week 2
Week 3
Week 4
Week 5
Week 6
Week 7
Week 8
Week 9
Week 10
Topic
Reading
Technological trends, measuring performance-MIPS,CPI/IPC, Benchmark
suite, Geometric and Arithmetic means Speed up, Amdahl’s law.
Assignment: Ex.1.1 to 1.20
Objective questions 1.1 to 1.16 (Page no. 1.30-1.31)
Functional units and components in computer organization: The memory
unit, the input and output subsystem, the bus structures, design of ALU
Assignment. : Ex.2.1 to 2.20
Objective questions 2.1 to 2.18 (Page no.2.27 –2.28)
External Devices, I/O Modules, Programmed I/O, Interrupt driven I/O,
Direct memory access.
Theory Assignment. : Ex.11.1 to 11.12 (page no. 11.54-11.56)
Chap. 1
comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap. 2 & 3
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap. 11 comp.
Archi. Schaum’s
outlines by Dr.
Rajkamal
Concepts of instruction formats and instruction set, instruction set types,
types of operands and operations. Generation of memory address and
addressing modes.
Theory Assignment : Ex.4.1 to 4.10 (page no. 4.77-4.80)
STACKS and QUEUS, GPR organization and stack based organizations.
Encoding of machine instructions. Features of RISC and CISC processors..
Theory Assignment. : Ex.4.10 to 4.20
Objective questions 5.1 to 5.16 (Page no. 3.56-3.57)
Processing unit design: Processor micro architecture –I, fundamentals
concepts for data path implementation. Processor micro architecture-II data
path implementation.
Theory Assignmet. : Ex.5.1 to 4512
Objective questions 5.1 to 5.16 (Page no. 5.46)
Instruction pipelining, instruction pipelining hazards, data dependency
hazards and control hazards, overcoming hazards.
Theory Assignment : Ex.6.1 to 6.6
Objective questions 6.1 to 6.8 (Page no. 6.48)
Parallel processing and pipelining, pipelining in RISC and CISC processors.
Theory assignment. : Ex. 6.7 to 6.12
Objective questions 6.9 to 6.12 (Page no. 6.49)
Chap. 4
Comp.
Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap.4
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap.5
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap.6
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap.6
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Super scalar processors, in order and out of order execution, instruction level Chap.6,&7
parallelism, introduction to VLIW processors, vector processors.
Comp. Archi.
Theory Assignment: Ex.7.1 to 7.8
Schaum’s outlines
Objective questions 7.1 to 7.16 (Page no. 7.30)
by Dr. Rajkamal
CACHES: Data caches, instruction caches and unified caches, cache Chap.9
implementations, fully associative and direct mapped caches, write back Comp. Archi.
versus write through caches.
Schaum’s outlines
Theory assignment: Ex.9.1 to 9.12
by Dr. Rajkamal
Objective questions 9.1 to 9.16 (Page no.9.27)
M.Sc. (CS/IT) II Sem Jan-May 2014 |
24
Week 11
Week 12
Week 13
Week 14
Multiprocessor Architectures: Introduction, architectures, Performance
characteristics, Multicore architectures- single chip Multiprocessors,
Theory Assignment: Ex.12.1 to 12.4
Objective questions 12.1 to 12.4 (Page no. 12.46)
Interconnections Structures, Interprocessors arbitration, Interprocessors
Communication, Memory Organizations in Multiprocessors,
Theory assignment. : Ex.12.5 to 12.8
Objective questions 12.5 to 12.8 (Page no. 12.46)
Shared Memory Multiprocessors System, Synchronization- Memory
Organization, Contention and Arbitration, Cache coherence,
Assig. : Ex.12.9 to 12.12
Objective questions 12.9 to 12.16 (Page no. 12.47)
Final exam
Chap.12
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap.12
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Chap.12
Comp. Archi.
Schaum’s outlines
by Dr. Rajkamal
Learning Resources
1.Required Text:
i.
Computer Architecture: Scahaum’s outlines by Dr. Rajkamal.
2. Essential References
i.
Computer Organization & Architecture by William Stallings.
ii.
Computer Architecture & Parallel Processing, Hwang & Briggs, McGraw Hill
iii.
Microprocessor Archi. Prog. and app. With 8085/8080
By Ramesh S. Gaonkar
iv.
Computer Architecure: pipelined and parallel Processor Design by Michael J. Flynn, Jones &
Bartlett Learnning 1995
3-. Electronic Materials, Web Sites etc
i.
Williamstallings.com/COA5e.htmlm,
ii.
http://www.ece.cmu.edu/~koopman/comparch.html
iii.
http://dept-info.labri.fr/~strandh/Teaching/AMP/Common/Strandh-Tutorial/Dir.html
iv.
http://nptel.iitk.ac.in/courses/Webcourse-contents/IIT-%20Guwahati/comp_org_arc/index.htm
4- Other learning material such as computer-based programs/CD, professional
standards/regulations
8085 , 8086 and ARM simulator for learning assembly language programming.
M.Sc. (CS/IT) II Sem Jan-May 2014 |
25
IC 4915 Organization and Management Concepts
1. Course title and code: Organization and Management Concepts IC 4915
2. Credit hours: 3
3. Program(s) in which the course is offered.
(If general elective available in many programs indicate this rather than list programs)
M.Sc.(CS), M.Sc.(IT), MCA, MBA(CM)
4. Name of faculty member responsible for the course :
Col. (Dr.) V.K. Gautam, Ms. Jyoti Jadhwani
5. Level/year at which this course is offered : I year II Semester
6. Pre-requisites for this course: None
7. Co-requisites for this course: None
8. Date of approval of the course specification within the institution : NA
9. Location if not on main campus : Main Campus
Aim and Objectives
1. Aim:
To make students aware of basics of Management.
2. Objectives :
The syllabus will help the students to be more effective and efficient managers and they will
be able to better deal with situations with the help of the principles and concepts of
management.
Course Description
WEEK
TOPIC
Week 1
Fundamentals of Management :
Definition, Its Nature & purpose.
The Evolution of Management Thought.
The Systems Approach to the Management Process.
The Functions of Manager.
Planning :
Types of Plans.
Steps in Planning.
Week 2
Week 3
READING
Decision making :
Rational Decision Making.
Programmed And Non Programmed Decision Making.
Ess. Of Mgmt. by
Koontz&Weihrich
Org & Mgmt by
RD Agarwal
Org & Mgmt by
RD Agarwal
Ess. Of Mgmt. by
Koontz &Weihrich
M.Sc. (CS/IT) II Sem Jan-May 2014 |
26
Week 4
Week5
Week6
Org & Mgmt by
RD Agarwal
Organizing :
Formal and Informal Organization.
Organizational division.
Departmentation :
Bases of departmentation
Organization charts
Line and Staff concepts.
Week 7
Staffing: Definition of Staffing.
The Systems Approach to HRM.
Selection process, Techniques and Instruments.
Week 8 Performance Appraisal and Career Strategy :
Rewards and stress of managing
Formulating the Career Strategy.
Week 9 Motivation – Theories of motivation.
Special motivation techniques.
Week10 Leadership – Definition.
The Managerial Grid.
Week 11 Controlling :
The Basic Control Process.
Week 12 Control Techniques. Time Management.
Ess. Of Mgmt. by
Koontz&Weihrich
Org & Mgmt by
RD Agarwal
Org & Mgmt by
RD Agarwal
Ess. Of Mgmt. by
Koontz&Weihrich
Org & Mgmt by
RD Agarwal
Ess. Of Mgmt. by
Koontz&Weihrich
Learning Resources
1. Required Text:
Koontz & Weihrich , “Essentials of Management” Tata McGraw Hill Inc.
2. Essential References
1. R.D Agarwal, “Organization and Management” Tata McGraw Hill Inc.
3- Recommended Books and Reference Material (Journals, Reports, etc) (Attach List)
1. Kast, Rosenzweig “Organization and Management” McGraw Hill Inc. International Student
Edition
2. Peter Drucker “Effective Executive” Pan Books
3. W.H.Newman, E.K. Warren ‘The Process of Management”, Prentice Hall of India
4. Stephen R. Covey, ‘Principle Centered Leadership”, Simon & Schuster
4-.Electronic Materials, Web Sites etc
5- Other learning material such as computer-based programs/CD, professional standards/regulations
M.Sc. (CS/IT) II Sem Jan-May 2014 |
27