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: head.scs@dauniv.ac.in 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
© Copyright 2024