You are on page 1of 45

STUDENT KIT MCA Second Semester January-May, 2010

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, 2461548 Fax : (0731) 2763618

Email: head.scs@dauniv.ac.in

School of Computer Science D.A. University, Indore


Course Specification DEVI AHILYA UNIVERSITY, INDORE School of Computer Science and Information Technology

Institution :

College/Department :

CS 4405 Database Management System


1. Course title and code: Database Management System: CS 4405 2. Credit hours: 6 (Six)

3. Program(s) in which the course is offered. (If general elective available in many programs indicate this rather than list programs) MCA, MSc(Computer Science), M.sc(Information Technology), MBA (Computer Management) 4. Name of faculty member responsible for the course: Dr. Sanjay Tanwani, Ms. Chaitali Chichghare, Mr. Kunal Khanwilkar 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 of the Course: The student should learn database design and information retrieval concepts and apply these concepts in complex projects involving large database. 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 modelling. To introduce transaction management and concurrency. To introduce storage structure and file management. To introduce query optimization and query processing. To introduce data mining and data warehousing. 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. Course Description Week 1 Topic Reference Introduction: Advantages of DBMS approach, Various views of data, Chapter 1 data independence, schema & sub-schema, primary concept of data models, database languages, transaction management, database administrator &user, data dictionary, database architectures. ER model: Basic concept, design issues, mapping constraint, keys, ER Chapter 2 diagram, weak & strong entity-sets, specialization & generalization, aggregation, inheritance, design of ER schema, Reduction of ER Schema to tables. Domains, relation, kind of relation, Chapter 2 Relational databases, Various types of keys: candidate, primary, alternate & foreign keys. Relational Algebra and SQL: The structure, relational algebra with Chapter 3 extended operations, modification of database, Idea of relational calculus. Relational Database: Basic structure of SQL, Set operation, Aggregate Chapter 4 functions, Null values, Nested Sub queries, derived relations, views, Modification of database, join relation, Domain, relation & keys, DDL in SQL. Programming concepts of PL/SQL, Stored procedure, Database From Ivan Bayross connectivity with ODBC/JDBC Functional dependencies: Basic definitions, Trivial & non trivial Chapter 7 dependencies, closure set of dependencies & of attributes, Irreducible set of dependencies, FD diagram. Normalization: Introduction to normalization, non loss decomposition, Chapter 7 First, second and third normal forms, dependency preservation, BCNF, multivalue dependencies and fourth normal form, join dependencies and fifth normal form. Database Integrity: general idea, integrity rules, Domain rules, Chapter 6 Attributes rules, assertion, triggers, integrity & SQL. Transaction Management: basic concept, ACID properties, transaction Chapter 15 state, Implementation of atomicity & durability, Concurrent execution, Basic idea of serializability.

10

11

Concurrency & Recovery: Basic idea of concurrency control, basic idea Chapter 16 of deadlock, Failure Classification, storage structure-types, stable storage + Chapter implementation, data access, recovery & Atomicity: log based recovery, 17 deferred database modification, immediate database modification, checkpoints. Storage Structure: overview of physical storage media, magnetic disk: Chapter 11 performance & optimization, RAID. File Organization: File organization, Organization of records in files, Chapter 12 basic concept of Indexing, ordered indices: B+ tree & B tree index files. Query processing, Query optimization, Introduction to data mining Chapter 13+ and data warehousing Chapter 14 The chapters indicated above are from Database System concepts Henry F. Korth , Tata McGraw Hill 4th Edition

12

13

14

Subject Learning Outcomes Development of Learning Outcomes in Domains of Learning: 1. Introduction provides the general overview of the nature and purpose of database systems. We explain how the concept of the database systems. We explain how the concept of database system has developed, what the common features of the database system are, what the database system does for the user, and how a database system interfaces with operating systems. 2. Database design provides the overview of the database-design process, with major emphasis on the database design using the entity relationship data model. Entity relationship data model provides a high level view of the issues in database design. 3. Relation database introduces the relational model of data, covering basic concepts as well as the relational algebra. A brief introduction to integrity constraints and focus on the most influential of the user- oriented relational languages: SQL. 4. SQL provide how to interface between a programming language and the database supporting SQL. 5. Introduction to the theory of relational database design. The theory of functional dependencies and normalization is covered, with emphasis on the motivation and intuitive understanding of each normal form. An overview of relational design and relies on an intuitive understanding of logical implication of functional dependencies. This allows the concept of normalization to be introduced prior to full coverage of functional dependency theory.

6. Transaction management focuses on the fundamentals of a transaction-processing system, including transaction atomicity, consistency, isolation, and durability as well as the notion of serializability. Focuses on concurrency control and presents several techniques for ensuring serializability, including locking, timestamping, and optimistic techniques. 7. Data storage and querying deals with disk, file, and file-system structure. A variety of data access techniques including hashing and B+ tree indices. Query-evaluation algorithms and query optimization provides an understanding of the internals of the storages and retrieval components of a database. Learning Resources 1. Text Books Database System concepts Henry F. Korth , Tata McGraw Hill 4th 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 3- Recommended Books and Reference Material (Journals, Reports, etc) (Attach List) 4-.Electronic Materials, Web Sites etc 5- Other learning material such standards/regulations as computer-based programs/CD, professional

DBMS Assignments
(Student should submit their assignment in hard copy (hand written) as well as soft copy to the respective faculty)

A. Prepare the following case study on ER diagram and normalized database design based on FDs (a) Database design for Retail Banking (b) Database design for Technical Training Institute (c) Database design for an Internet Book Shop (d) Database design for Customer Order Warehouse

(e) Database design for University Registrars Office B. Define the schema for the following databases with specific data type and constraints, the table name and its fields name are to be taken from database description which are given below : 1. Sales Information System A database is being constructed for storing sales information system. A product can be described with a unique product number, product name, selling price, manufacturer name. The product can be sold to a particular client and each client have it own unique client number, client name, client addresses, city, pin code, state and total balance to be required to paid. Each client orders to buy product from the salesman. In the order, it has unique sales order number, sales order date, client number, salesman number (unique), billed whole payment by the party or not and its delivery date. The information associated with salesman is name, addresses, city, pin code, state, salary of the sales man, delivery date, total quantity ordered, product rate. Write the SQL queries for the following a) b) c) d) e) f) g) h) i) j) k) l) m) n) o) Retrieve the list of names and the cities of all the clients. List the various products available. Find the names of all clients having a as the second letter in their names. List all the clients who are located in INDORE. Find the products whose selling price is greater than 2000 and less than or equal to 5000. Add a new column NEW_PRICE into the product_master table. Rename the column product_rate of Sales_Order_Details to new_product_rate. List the products in sorted order of their description. Display the order number and date on which the clients placed their order. Delete all the records having delivery date before 25th March, 2010. Change the delivery date of order number ON01008 to 16-05-10. Change the bal_due of client_no CN01003 to 1200. Find the product with description as HDD1034 and DVDRW. List the names, city and state of the clients not in the state of MP. List of all orders that were cancelled in the month of March.

2. College Department Management A student is described by a unique Roll Number, Name, Address, and Semester. Each student enrols himself/herself in an Academic programme offered by a Department. Academic programmes have programme name(unique), duration, a programme code(unique) and a list of subjects (both core and elective subject) while the departments have department code (unique), department name (unique), HoD who is a Teacher and list of courses offered by it. Each teacher is described by employee code (unique), name, department and designation. A student registers some courses in a semester. A course is described by a unique course number, title of the course, credit allotted for the course and offering department. Database stores the grades obtained by different students in different courses registered by him/her in different semesters. Database also

stores information about the courses offered by a department in a semester, the corresponding teacher(s) for each course. Write the SQL queries for the following a) b) c) d) e) f) g) h) i) j) k) l) m) n) o) p) Find all the students name, city, course allotted from the SCS department. List the total number of Faculty in the SCS department. List the available courses from the SCS department. List the all students in a particular semester. List the students who earned CGPA greater than or equal to 8.5. How much subjects are registered by a student in each semester. List the common students who are allotted the same courses of both the programme MCA and M. Tech. List the total number of student enrolled in the subject DBMS. Retrieve the semester of the student under DBMS subject. Retrieve the entire student name and arrange into ascending order. Modify a student address DEWAS to INDORE where sdt_id=CSI08002. Find the total credit point of student required to complete for a course like MCA. List the all courses which are related to computer science. Retrieve all the students located at INDORE. Find the total number of department in our database. List the all courses which are related to computer science.

3. Bank Database System A bank database keeps record of the details of customers, accounts, loans and transactions such as deposits or withdraws. Customer record includes customer id, customer name, address, age, contact number, email id etc., accounts details are account number, account type(fixed account, savings account, monthly account etc), date of creation of the account. Transaction detail keeps information about amount deposited or withdrawn to/from a particular account and the date of transaction. The database should also store record of loans which include loan amount, loan date and the account number to which the loan is granted. Make appropriate tables for the above database and try to find out the following queries: a) b) c) d) e) f) List the details of account holders who have a savings account. List the Name and address of account holders with loan amount more than 50,000. Change the name of the customer to ABC whose account number is TU001 List the account number with total deposit more than 80,000. List the number of fixed deposit accounts in the bank. Display the details of customers who created their accounts between 20-jan-10 to 20Mar-10. g) Display the detailed transactions on 28th Feb, 2010. h) Display the total amount deposited and withdrawn on 29th Aug, 2008. i) List the details of customers who have a loan.

4. Library Information System A library database stores information about books, journals, magazines etc. Searching for books can be done by author, title, subjects etc. Similarly journals can be searched by subject area, publisher etc. It should also be possible to see which book is issued to which student and belonging department. Write the queries for the following a) b) c) d) e) f) g) List the names of the books issued between 21-Jan-10 and 29-Jan-10. Retrieve the name and number of books by a particular author. Retrieve the name of the publisher which has maximum number of books. Count the total number of books in the library. Count the number of books issued to a student with Roll no CSB06001. Change the author of the book to ABC with book id=BK003. Retrieve the name of the student to whom the book named Database System, by E. Navathe is issued. h) Display the total number of books issued to different departments. i) List the name of the books where subject is like ora. 5. Hospital Information System Hospital information system stores following information: Patients - indoor/outdoor, medicines/lab tests (including results) prescribed to patients, information if a patient if referred to other expert/hospital. Doctors - specialization, patients attended etc. Different wards/beds and patients allotted to them etc. Patient registration form contains Registration number, Patient name, Address, Gender, Bed number, date of registration, refer doctor id etc. Doctor information contains Doctor code, Doctor Name, Specialization etc. Lab test information contains Test name, test number, test date, results and referred doctors code. Bed information contains bed number, ward number and status (whether allotted or not). Queries: a) b) c) d) e) f) g) h) i) j) Display the details of patients admitted between 20-jan-10 and 20-Mar-10. Change the name of the patient to Ram whose patient id=PT011. Display the names of the patients and lab test results performed on 20-jan-10. Display the number of patients taking treatment under doctor =ABC. Retrieve the name of doctor who is taking care of maximum number of patients. Change the bed number of the patient to 456 where patient id=PT023. Change the status of bed with bed number 123 with not allotted. List the bed details which are free in ward number 10. List the name of male patients in ward no 13 taking treatment under doctor XYZ. List the details of patients with age more than 50 taking treatment under a doctor, whose name like das.

6. Payroll System of DAVV University Write the queries for the following a) b) c) d) e) f) g) h) i) j) k) l) m) n) o) List all the employees of SCS department. Retrieve all the employees who have the gross salary greater than or equal to Rs-21,000. Find the DA, TA, HRA of the employee name Nitin. Find the total leave get by an employee. List the employees department. List the name grades of the employee of the SCS department. Find how much tax will be required to pay by an employee in each month. List the employees who are joined between 10-APR-07 to 28-AUG-08. Retrieve the mail id of all employees of SCS department. Total leave available of the employee Ravindra. Add a new column employee phone to a table employee. List the employees with basic salary 8000. Find the employees who have the highest bank balance. Retrieve the employees who have the bank loan. Find the bank balance of the employee SCSMP07001.

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. (If general elective available in many programs indicate this rather than list programs) MCA, M. Sc (CS), M. Sc (IT), MBA (CM) 4. Name of faculty member responsible for the course: Dr. Ugrasen Suman, Ms. Archana Chaudhary 5. Level/year at which this course is offered: PG Level First Year Second Semester 6. Pre-requisites for this course (if any): Programming Paradigms, 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. Aims of the Course 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. 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) 1) Understanding the importance of Software Engineering. 2) Understand the various activities undertaken for a software development project. 3) Understanding the planning of a software project. 4) Understanding and Comparing the tools and techniques of Structured and Object oriented approaches at various stages of software development process. 5) Understand the various attributes of quality and ways to achieve the desired quality.

Course Description Date Week 1 Topic Introduction to Software Engineering & Software Processes: Software problem, Software engineering problem, Software engineering approach, Software characteristics and Applications. Assignment: 21-22, Exercises: 1, 3, 4, 5. Week 2 Software processes and its components, characteristics of software processes, Software development processes: Linear Sequential model, Prototyping model, Iterative Enhancement model, Spiral model, Time boxing model, RAD model, Component based development, Comparative study of various development models. Assignment: page 70-71, Exercises: 1, 4, 5, 6, 7, 9. Week 3 Project management process: The people, product, process and project, Phases of project management process, Project life cycle, the W5HH principle. Software configuration management process, Process management process. Assignment: page 647 (TB 1), Exercises: 21.2, 21.4, 21.11. Project Planning: Metrics and measurements, Project estimation (Size & Cost), Project Scheduling, Staffing and personnel planning, Software configuration management plans, Quality assurance plans, Project monitoring plans, Risk management. Assignment: page, Exercises: 2, 3, 6, 8. Midterm First evaluation Week 5 Software Requirement Analysis and Specification: Software requirements, Functional & Non functional requirements, Problem analysis (Structured analysis and Object Oriented analysis, Prototyping approach). Software Requirements Verification, Metrics. specifications (SRS), Validation and TB 1 Chapter 3 TB 1 Chapter 2
TB 2 TB1

Reading TB 1 Chapter 1

Chapter 2

Chapter 21 TB 1 Chapter 4

Week 4

Week 6

TB 1 Chapter 3

Assignment: page 147, Exercises: 1, 3, 7, 10. Week 7 Week 8 Software Design: Design principles: Problem partitioning and hierarchy, Abstraction, Modularity, Top-down and Bottom-up strategies. Effective Modular design: functional Coupling. Structured design methodology. independency, Cohesion, TB 1 Chapter 5 TB 1 Chapter 5

Assignment: page 251, Exercises: 1, 2, 3, 6, 7, 9, and 11. Midterm Second Evaluation

Week 9 Week 10

Software Quality Assurance: Quality concept, Quality management system, movements and assurance, Software reviews: formal and technical. Formal approaches to SQA, Statistical software quality assurance, Software reliability, Capability Maturity Model (CMM), ISO 9000, Six sigma, SQA plan. Assignment: page 769, Exercises: 26.3, 26.10, 26.14, 26.15.

TB 2 Chapter 26 TB 2 Chapter 26

Week 11

Software Testing: Software testing techniques: Testing fundamentals, White box testing, Black box testing, Testing for specialized environments, architectures and applications. Software testing strategies: A strategic approach to software testing, Strategic issues, Unit testing, Integration testing, Validation testing and system testing, The art of debugging. Assignment: page 468, Exercises: 1, 2, 3, 7, 8. Midterm Third Evaluation

TB 1 Chapter 9

Week 12

TB 1 Chapter 9

Week 13 Week 14 Week 15 Week 16

Group presentations Group presentations Review of Assignments due. Review for final exam unit wise. Final Exam

Subject Learning Outcomes Development of Learning Outcomes in Domains of Learning: 1. Software & Software engineering problem, Software engineering approach, Software characteristics and Applications. 2. Software processes and its components, characteristics of software processes, Software development processes: Linear Sequential model, Prototyping model, Iterative Enhancement model, Spiral model, Time boxing model, RAD model, Component based development, Application of these models. 3. The people, product, process and project, Phases of project management process, Project life cycle, the W5HH principle. Software configuration management process, Process management process. 4. Metrics and measurements, Project estimation (Size & Cost), Project Scheduling, Staffing and personnel planning, Software configuration management plans, Quality assurance plans, Project monitoring plans, Risk management.

5. Importance of Software requirements, Functional & Non functional requirements, Problem analysis (Structured analysis and Object Oriented analysis, Prototyping approach). Software Requirements specifications (SRS), Validation and Verification, Metrics. 6. Design principles: Problem partitioning and hierarchy, Abstraction, Modularity, Top-down and Bottom-up strategies. Effective Modular design: functional independency, Cohesion, Coupling. Structured design methodology. 7. Quality concept, Quality management system, movements and assurance, Software reviews: formal and technical, Formal approaches to SQA, Statistical software quality assurance, Software reliability, Capability Maturity Model (CMM), ISO 9000, Six sigma, SQA plan. 8. Software testing techniques: Testing fundamentals, White box testing, Black box testing, Testing for specialized environments, architectures and applications, Software testing strategies: A strategic approach to software testing, Strategic issues, Unit testing, Integration testing, Validation testing and system testing, The art of debugging. Learning Resources 1. Text Books 1. An Integrated Approach to Software Engineering- Pankaj Jalote, Narosa Publishing House. 2. Software Engineering-A practitioners approach- R. S. Pressman, Tata McGraw-Hill International Editions, New York. 2. Reference Books 1. Software Engineering- Ian Sommerville, Pearson Education, New Delhi. 2. Software Engineering Concepts-Richard E. Fairly, Tata McGraw Hill Inc. New York. 3. Software Engineering: Principle & Practice-W. S. Jawadekar, Tata McGraw-Hill, New York. 4. Fundamentals of Software Engineering-Rajib Mall, PHI, New Delhi. 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 3. www.acm.org

Assignments on Software Engineering MCA/ M. Sc (CS) 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: 1. Suppose a program for solving a problem costs C, and a programming product for solving that problem costs 9C. Where do you think the extra 8C cost is spent? Suggest a possible breakdown of this extra cost. 2. If you are given extra time to improve the reliability of the final product developing a software product, how would you distribute this extra time? 3. Suggest ways of reducing the cost due to rework. 4. Suggest some ways to detect software errors in the early phases (when implementation is not yet complete. Assignment 3: 1. Define & discuss Time boxing and Component based development model. 2. What problems will a Software Development Organization face if it does not have sufficiently document in its software process? 3. Suppose you were to plan to undertake the development of product base with large number of technical as well as customer, justify which life cycle model would you adopt. 4. Suggest a suitable life cycle model, for software project which your organization has undertaken on behalf of a certain change his requirements frequently justify. 5. Which of the following process models discussed in this chapter would you follow for the following projects? Give justifications. a) A simple data processing project b) A data entry system for office staff who have never used computers before. The user interface and user friendliness are extremely important. c) A new system for comparing fingerprints. It is not clear if the current algorithms can compare fingerprints in the given response time constraints. d) A spreadsheet system that has some basic features and many other desirable features that use these basic features e) A new missile tracking system. It is not known if the current hardware /software technology is mature enough to achieve the goals. f) An on-line inventory management system for an automobile industry. g) A flight control system with extremely high reliability. There are many potential hazards with such a system.

5. It is reasonable to assume that if software is easy to test, it will be easy to maintain. Suppose that by putting extra effort in design and coding you increase the cost of these phases by 15%, but you reduce the cost of testing and maintenance by 5%. Will you put in the extra effort? 6. Suppose you can measure the number the defects detected during the various reviews and testing. However, the customer requires an estimate of the Number of defects remaining at delivery time. How will you build a model to predict this? Assume the existence of any data you need. Assignment 4: 1. A database system is to be developed. After the requirements, its size is estimated to be 10,000 lines of code. Estimate the overall cost using the Watson and Felix model. 2. Consider a project to develop a full-screen editor. The major components identified are (1) screen edit, (2) command language interpreter, (3) file input and output, (4) cursor movement, and (5) screen movement. The sizes for these are estimated to be 4K, 2K, 1K, 2K and 3k delivered source code lines. Use the COCOMO model to determine (a) overall cost and schedule estimates (assumes values for different from 1.0),(b)cost and schedule estimates for different phases, and (c) detailed cost and schedule estimates for the different components. 3. Suppose each communication path between two people consumes 5% of each persons time. For a project that requires 12 staff-months of programming work, how many people will be needed to finish the project in four months if (a) The democratic team structure is used, and (b) The chief-programmer team structure is used? If the team consists of four persons, what is the difference in the completion time for a team using the democratic structure and a team using the chief-programmer structure? 4. Assume that testing (and bug fixing) effort is proportional to the number of errors detected (regardless of the nature of errors). Suppose that testing detects 90% of the total errors in the SW (10% remain undetected). By adding design and code reviews, suppose the cost of the design and coding phases increases by 10% each(from the base distribution given earlier ),and 10% of the errors are detected in design reviews and 10% in code reviews .(So, testing now detects only 70% of errors.)What is the impact on the overall cost of reviews. Assignment 5: 1. Suppose you are developing a project in an organic mode. you have estimated the size of the product is about 100000 LOC. Compute normal effort and development time. 2. Suppose that an on-the-shelf s/w product for business applicant coast 15000/- and that its size is 40 KLOC. Assuming that in house engineer coast 6000/- per program month including overheads, would it be more effective by the product build it, which element of the cost are not included in the COCOMO MODEL. What additional factor should be considered making the buy and build decision. 3. The industry average productivity figure for engineers is only 10 LOC per day .What is the reason for the low productivity. Can be attributing the poor programming skills of the Software engineers. 4. As a project manager identify the traits that you would look for software engineers .While trying to select person for your team.

5. For the same number of lines of code and same development team size rank the following software project, in order of their estimated development time a) A text editor. b) An employee payroll system. c) An operating system for a new computer. Assignment 6: 1. What are central problems in producing the RS for a system? 2. Construct an example of an inconsistent (incomplete) SRS? 3. Make a friend of yours as the client. Perform structured analysis and object oriented analysis for the following problems: i. An electronic mail system. ii. A simple student registration system iii. A system to analyse a persons diet. iv. A system to manage recipes for a household. v. A system to fill tax forms for the current year tax laws. 4. A library database contains entries that have the name of the book, followed by the authors name, the publishers name, and year of publication, ISBN number of the book, and number of copies of the book. Each of the data entries is on a new line. Represent this database as a regular expression. Assignment 7: 1. What is the cohesion of the following module? How would you change the module to increase cohesion? Procedure file( file_ptr, filr_name, op_name) Begin Case op_name of open perform activities for opening the file. close perfor activities for opening the file. print print the file. End case End. 2. What is the difference between a flow chart and a structure chart? 3. Draw the structure chart for the following program: Main(); { Int x, y; X=0; y=0; A(); b();} A() {x=x+y; y=y+5;} B() {x=x+5; y=y+x; a();}

How would you modify this program to improve the modularity? 4. Use the structured design methodology to produce a design for the following : i. A system to convert ASCII to EBSDIC? ii. A system that acts as a calculator with only basic arithmetic functions? iii. A system do do student registration in the manner it is done at your college? iv. A system to manage the inventory at a hardware store? 5. Given a structure with high fan-out, how would you convert it to a structure with a low fanout? Assignment 8: 1. Define error, fault, and failure? What is the difference between a fault and a failure? Does testing observe faults or failures? 2. What are the different levels of testing and the goals of different levels? 3. What is the goal of testing? Why the psychology of tester is is important

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, M.Sc(CS), M.Sc(IT), MBA(CM) 4. Name of faculty member responsible for the courseMr. Deepak Abhyankar, Ms. Aarti Deshpande 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:None 8. Date of approval of the course specification within the institution 9. Location if not on main campus 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. 1. 2. 3. 4. 5. Objectives To understand object oriented programming To understand abstract data types To implement data structures and related algorithms used in computer science. Profiling of the algorithms used in specific data structures. 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, Ch:11-18 Functions, Function Overloading, Default Values for Formal HS Arguments of Functions, Inline Functions. Week 2 Class and Objects: Introduction to Classes and Objects Ch:11-18

Constructors, destructors, friend function, dynamic memory HS allocation, Inheritance, Overloading, Polymorphism, Templates. Week 3 Definition of data structures and abstract data types. Examples and real life applications Data Structures: Arrays, Stacks, Queues, Dequeues Week 4 Linked Lists, Singly and Doubly linked list Applications of Linked Lists Week 5 Linked implementation of queue and stacks Week 6 Binary Search Tree : Definition and Implementation- preorder, post order, inorder traversal Week 7 Red Black Tree Definition and implementation Week 8 Graphs: Definition and implementation Week 9 Hash function, Collision Resolution Techniques, Applications Assignments: 1. Implementation of Hashing Functions. 2. Practice of graph traversal Ch:1,4,6 SS Ch:1,2,4 TBM Ch:5,6 SS Ch:2,4 TBM Ch:5 SS Ch:4 TBM Ch:7 SS Ch:5 TBM Ch:7 SS Ch:5 TBM Ch:8 SS Hashing Ch:8, 9 SS

Week 10 Time Complexity, Big Oh - notation, Running Times, Best Case,Ch:1 SS/ Worst Case, Average Case, Factors depends on running time,Comer Introduction to Recursion, Divide and Conquer Algorithm, Evaluating time Complexity Week 11 Straight Sequential Search, Array implementations, Linked implementation, Binary Search, Interpolation Search. Week 12 Introduction, Sorting by exchange, selection, insertions, Bubble sort, Selection sort, Insertion sort, Efficiency of above algorithms, Merge sort, Quick sort Algorithm, Heap sort, Heap Construction, Heap sort, Radix sort Assignments: 1. C++ implementation of Sorting algorithms 2. Study and comparison of complexities Week13 Standard Template Libraries Week 14 PROJECT: Graphical implementation of All data structures. Final exam Ch:9 SS Ch: 7 TBM Ch:9 SS Ch: 6 TBM

Ch: 33 HS

Books: HS: Herbert Sheilds- C++ Complete Reference SS: Shaum Series Lipschutz- Data Structures TBM: Tanenbaum- Data Structures using C & C ++ Subject Learning Outcomes Development of Learning Outcomes in Domains of Learning Students should be able to: 1. Outline basic object-oriented design concepts. i.e., Inheritance, Polymorphism, Dynamic Method Binding etc. 2. Explain, implement the following data structures: Lists (unordered and ordered), Stacks, Queues 3. Explain and use pointers, dynamic memory allocation, and linked structures for the above listed data structures. 4. Write and test procedures with linked structures. 5. Explain, implement and apply the following hierarchical data structures: Binary search trees, Heaps, Graphs etc. 6. Analyses sorting and searching algorithms, and explain their relationship to data structures. 7. Analyses time and space complexity of algorithms. using asymptotic upper bounds (big-O notation). 8. Choose and implement appropriate data structures to solve an application problem. Learning Resources 1. Required Text(s)- Text Book: Data Structures using C by A. M. Tenenbaum, Langsam, Moshe J. Augentem, PHI Pub. Theory & Problems of Data Structures by Jr. Symour Lipschetz, Schaums 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 C++ Wish you all the best. 2. Write a program to find the area of circle, rectangle or triangle. 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 the 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 c I r c a r e a ( ), 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 p o w e r ( ) that takes d o u b l e value for n and an i nt value for p, and returns the result as d o u b l e value. Use a default argument of 2 for p, so that if this argument is committed, the number will be squared. Write a main ( ) function that gets values from the user to test this function. 12. Write a function called z e r o 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 un-initialized 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 isnt 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 method that allows embedded blanks. Test the program with Napoleons 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 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 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). 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 update the information content. If the specified node is not present in the list an error message should be displayed. Both situations should be displayed. d. 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 doubly 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. Delete 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 multiway search trees. 37. Write a C++ program to implement AVL trees 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 Write a C++ program to implement Hashing Functions.

CS 4008 Computer Architecture and Organization


1. Course title and code: Computer Architecture and Organization CS 4008 2. Credit hours: 5 3. Program(s) in which the course is offered. (If general elective available in many programs indicate this rather than list programs) 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, Mr. Kamal Sharma 5. Level/year at which this course is offered: First Year, Second Semester 6. Pre-requisites for this course (if any): Digital Electronics 7. Co-requisites for this course (if any) : 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 of the Course To provide an understanding of the modern computer architecture, including mechanism of parallelism and pipelining through assembly language programming. Objectives: 1) 2) 3) 4) 5) 6) 7) 8) To learn about various measuring trends and laws. To understand the various functional units of CPU. To understand the architecture of 8088 microprocessor. To learn the instruction set of 8088 processor, so that they will be able to do assembly language programming. To learn about computer arithmetic and various units of ALU. 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

9) To understand the pipelining and its implementation. 10) To understand the parallel processing and introduction to super scalar processors. 11) To learn about instruction level parallelism. 12) To understand the concept of cache and their implementation 13) To learn about interrupts and input output organization. Course Description No. of week s Week 1 Topic Reading

Week 2

Week 3

Chap. 1 comp. Archi. Schaums outlines by Dr. Rajkamal Basic structure of computer hardware: Functional units and Chap. 2 components in computer organization: The memory unit, the input and comp. Archi. output subsystem, the bus structures, ALU. Program development Schaums outlines by tools: Compiler, interpreter, and assembler. Dr. Rajkamal Assignment. : Ex.2.1 to 2.20 Objective questions 2.1 to 2.18 (Page no.2.27 2.28) Introduction to 8085 micro processor architecture. pin out diagram of Chap. 2 Micropro. and 8085 microprocessor. Addressing modes of 8085 processor. microcompute Theory Assignment. : Ex.1 to 50 (page no. 56-57) r based Lab assignment: system design 1) Write a program to load 05 in the register A and B. By Mohammed 2) WAP to copy the contents of register A into B Rafiquzzaman 3) WAP to copy the contents of memory location 2000 into register A. 4) WAP to load 0A at the memory location 2000. 5) WAP to move the contents of memory location 4000 at memory location 6000. Technological trends, measuring performance, speed up Amdahls law. Assignment: Ex.1.1 to 1.20 Objective questions 1.1 to 1.16 (Page no. 1.30-1.31)

Week 4

Instruction set of 8085 processor: data transfer instructions, arithmetic instructions, branch instructions etc. assembly language programming examples. Introduction to 8088 microprocessor Theory Assignment : Ex.1 to 32 (page no. 100-101) Lab assignment: 1) WAP to add two 8 bit numbers. 2) WAP to add two 8 bit numbers and store the result at memory location 2000. 3) WAP to add the contents of memory location 2000 and 2001 and stores the result at memory location 1000. 4) WAP to add two 16-bit numbers. Store the result at memory address starting from 2000. 5) WAP to subtract two 8-bit numbers. Show the status of all flags.

Chap. 2 Micropro. and microcompute r based system design By Mohammed Rafiquzzaman

Week 5

Bit pair multiplication. Integer division. BCD arithmetic, Design of Chap.3 comp. Archi. ALU. Schaums Theory Assignment. : Ex.3.1 to 3.37 outlines by Objective questions 3.1 to 3.16 (Page no. 3.56-3.57) Dr. Rajkamal Lab assignment: 1) WAP to multiply two 8 bit numbers. 2) WAP to multiply two numbers without using MUL instruction. 3) WAP to multiply two 8 bit numbers stored at memory location 4000 and 4001 and store the result at memory location 2000 and 2001. 4) WAP to perform the division of two numbers. 5) WAP to multiply a number by 2 without using ADD and MUL instruction.

Week 6

Concepts of instruction formats and instruction set, Instruction set types, types of operands and operations. Generation of memory address and addressing modes. Theory Assignmet. : Ex.4.1 to 4.17 Objective questions 4.1 to 4.8 (Page no. 4.86) Lab assignment: 1) WAP which tests if any bit is '0' in a data byte specified at an address 2000.If it is so, 00 would be stored at address 2001 and if not so then FF should be stored at the same address. 2) Assume that 3 bytes of data are stored at consecutive memory addresses of the data memory starting at 2000. Write a program which loads register C with (2000), i.e. with data contained at memory address 2000, D with (2001), E with (2002) and A with (2001). 3) WAP to store ten bytes of data at consecutive memory location. 4) Sixteen bytes of data are specified at consecutive data-memory locations starting at 2000. Write a program which increments the value of all sixteen bytes by 01. 5) WAP to add t 10 bytes stored at memory location starting from 3000.Store the result at memory location 300A. STACKS and QUEUS, GPR organization and stack based organizations. Encoding of machine instructions. Features of RISC and CISC processors. Theory Assignment : Ex.4.18 to 4.39 Objective questions 4.9 to 4.16 (Page no. 4.87) Lab Assignment: 1) Two data-bytes are stored at addresses 2000 and 2001. Interchange the data bytes at these two addresses using (i) indirect addressing and (ii) direct addressing. 2) Write a program to compare the two numbers stored at 2000 and 2001 if the number that is stored on 2000 is grater than store 00 at memory address 2005 otherwise store 01 at 2005. 3) WAP to count the number of ones and zeros in a given data byte. 4) WAP to determine the ones and twos complement of a given data byte. 5) WAP that has five different methods to clear the carry flag.

Chap.4 comp. Archi. Schaums outlines by Dr. Rajkamal

Week 7

Chap.4 comp. Archi. Schaums outlines by Dr. Rajkamal

Week 8

Chap.5 Processing unit design: Processor micro architecture I Fundamentals concepts for data path implementation. Processor micro comp. Archi. Schaums architecture-II data path implementation. outlines by Theory assignment. : Ex.5.1 to 5.11 Dr. Rajkamal Objective questions 5.1 to 5.10 (Page no. 5.36-5.37) Lab assignment : 1) WAP which check that given number is even or odd. If it is odd store 01 at memory location 2000.store 00 otherwise. 2) Eight bytes are stored at consecutive data-memory address starting from 2000.write a program to find out the odd numbers from given bytes. And store these odd numbers at consecutive data-memory address starting from 3000. 3) WAP to check the even or odd parity in a given data byte. 4) Eight bytes are stored at consecutive data-memory address starting from 2000. WAP to check the numbers that has even parity. And store these even parity numbers at consecutive data-memory address starting from 3000. Instruction pipelining, instruction pipelining hazards, data dependency hazards and control hazards. Overcoming hazards, instruction set design influence on pipelining. Theory Assignment: Ex.6.1 to 6.17 Objective questions 6.1 to6.8 (Page no. 6.52) Lab assignment: 1) WAP to perform the division of two numbers without using DIV instruction. 2) WAP to divide a number by 2 without using DIV and SUB Instruction. 3) Eight bytes are stored at consecutive data-memory address starting from 2000. WAP to find out the smallest number. And store this number at data-memory address 3000. 4) Eight bytes are stored at consecutive data-memory address starting from 2000. WAP to find out the largest number. And store this number at data-memory address 3000.

Week 9

Chap.6 comp. Archi. Schaums outlines by Dr. Rajkamal

Week 10

Parallel processing and pipelining, pipelining in RISC and CISC Chap.6 comp. Archi. processors. Super scalar processors. In order and out of order Schaums outlines by Dr. Rajkamal execution. Theory assignment: Ex.6.18 to 6.39 Objective questions 6.9 to 6.16 (Page no.6.53) Lab assignment: 1) WAP to determine the square and cube of a given data byte. 2) WAP to perform BCD addition. Result should be in BCD. 3) WAP to perform the BCD addition. Result should be in BCD. Without using any direct instruction for BCD conversion. 4) WAP for performing subtraction using twos complement method. Instruction level parallelism, introduction to VLIW processors, vector processors, Theory Assignment: Ex.7.1 to 7.5 Objective questions 7.1 to 7.16 (Page no. 7.20-7.21) Lab assignment: 1) Eight bytes are stored at consecutive data-memory address starting from 2000.write a program to arrange these bytes in ascending order. 2) Eight bytes are stored at consecutive data-memory address starting from 2000.write a program to arrange these bytes in descending order. 3) Eight bytes are stored at consecutive data-memory address starting from 2000.write a program to search the bytes that as 00 value. Take a counter which increments for each 00 value. 4) Perform the bit-wise logical AND and OR operation for the binary numbers that follow: (i) 00010101 and 00011000 CACHES: Data caches, instruction caches and unified caches Cache implementations. Fully associative and direct mapped caches. Write back versus write through caches. Theory assignment. : Ex.9.1 to 9.12 Objective questions 9.1 to 9.16 (Page no. 9.27-9.28) Lab assignment:

Week 11

Chap.7 comp. Archi. Schaums outlines by Dr. Rajkamal

Week 12

Chap.9 comp. Archi. Schaums outlines by Dr. Rajkamal

Week 13

1) WAP to generate the square wave of 50% duty cycle Input Output organization, accessing I/O devices, Interrupts. Chap.11 comp. Archi. Memory mapped I/O and I/O mapped I/O. Schaums Programmed I/O. outlines by Assig. : Ex.11.1 to 11.13 Dr. Rajkamal Objective questions 11.1 to 11.16 (Page no. 11.60-11.61)

Week 14

Final exam

Subject Learning Outcomes Development of Learning Outcomes in Domains of Learning 1) 2) 3) 4) 5) Students will be familiar with various measuring tools and functional units of CPU. They will be aware about architecture of 8088 microprocessor. They will have knowledge of assembly language programming. They will be aware about computer arithmetic. They will have understanding about various types of instruction formats and addressing modes. 6) They will have knowledge of various types of processor organization and about RISC and CISC features. 7) They will have understanding about the processing unit design 8) Students will be able to explore the pipelining concepts and its implementation. 9) They will have the knowledge of parallel processing and introduction to super scalar processors. 10) They will be aware about instruction level parallelism. 11) They will be well familiar with the concept of cache and their implementation 12) They will have knowledge about interrupts and input output organization.

Learning Resources 1.Required Text(s) : i) ii) Computer Architecture: Scahaums outlines by Dr. Rajkamal. Microprcessor. and microcomputer based system design By Mohammed Rafiquzzaman

2. Essential References i) The 8088 and 8086 Microprocessors by Walter A. Tribel, Avtar Singh. ii) Computer Organization & Architecture by William Stallings. iii) Computer Architecture & Parallel Processing, Hwang & Briggs, McGraw Hill iv) Microprocessor Archi. Prog. and app. With 8085/8080 By Ramesh S. Gaonkar 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 4- Other learning material such as computer-based programs/CD, professional

standards/regulations 8086 and ARM simulator for learning assembly language programming.

CS 5613 Computer Networks


1. Course title and code: Computer Networks CS 5613 2. Credit hours: 4 hrs. 3. Program(s) in which the course is offered: MCA, M Sc (CS/IT), MBA(CM) II Sem 4. Name of faculty member responsible for the courses: Ms. Preeti Saxena, Mr. Ajay Tiwari, Ms. Chaitali Chichghare 5. Level/year at which this course is offered: II Sem 6. Pre-requisites for this course (if any): Data and Computer Communication. 7. Co-requisites for this course (if any) 8. Date of approval of the course specification within the institution 9. Location if not on main campus : NA Aim and Objectives 1. Aim of the Course: The syllabus is designed to provide a theoretical foundation of computer network and equip the students with an in-depth knowledge of fundamental techniques involved in computer network, which helps the students to understand the actual working of computer network. The course objectives are to: 1. Develop a knowledge of the function of both hardware(basics) and software aspects of computer network systems; 2. Gain an understanding of the principles of operation of a wide variety of network technologies; 3. Develop an appreciation of how network services are developed and a knowledge of their uses; 4. Apply knowledge of computers, software, networking technologies, and information assurance to an organization's management, operations, and requirements. 5. Prepare to continue their studies to obtain Masters degree and various industry certifications. Computer networks is a rapidly evolving field, with new standards and improvements in data communication technology occurring, for this we included the topics of CSMA/CA, wireless LANs, IPv6, new developments in application layer protocols etc. 2. Course development objectives that are being implemented.

1. Use of presentation slides for teaching. 2. Time to time we give references of web based material for various topics. Course Description Week TOPIC Readings 1 Introduction: Computer Network, Goals and Applications, Reference models Chapter 1 OSI and TCP/IP. A Comparative study. 2 LAN, MAN and WAN and topologies, LAN components File server, Workstations, Network Adapter Cards. Connection Oriented and Connection less services, Switching Techniques Circuit Switching, Packet Switching. Assignment I Chapter 1,2

Data Link Layer: Design Issues, Framing, Error Detection: Parity Check, Check Sum and Cyclic Redundancy Check (CRC); Correction Technique: Chapter 3 Hamming code. Flow Control: Elementary Data Link Protocols: An Unrestricted Simplex Protocol, Simplex Stop-and-Wait Protocol, Sliding Window Protocols: One- Chapter 3 Bit Sliding Window Protocol Assignment II Go Back N and Selective Repeat. Data link layer in the Internet: SLIP and Chapter 3 PPP. Assignment III MAC Sublayer: Multiple access protocols: Aloha, CSMA Protocols; Chapter 4 Collision-Free Protocols; IEEE MAC Sublayer protocols: 802.3 802.4, 802.5 and their management. High speed LANs Fast Ethernet, FDDI, Wireless LANs Assignment IV Chapter 4 Chapter 4

7 8

Network Layer: Design issues, Routing Principles. Routing Algorithms: Optimality Principle, Shortest Path Routing, Flooding, Distance Vector Chapter 5 Routing. Link State Routing, Hierarchical Routing, Broadcasting Routing, Multicast Routing, The Network Layer in the Internet: Internet Protocol, Internet Chapter 5 addressing and Internet Control protocols. Assignment V

10

11

Transport Layer: Elements of Transport Protocols, Addressing, Connection Chapter 6 Establishment, Connection Release, Flow Control and Buffering, Multiplexing. The Internet Transport Protocol UDP: Introduction to UDP. Introduction to TCP, The TCP Service Model, The TCP Protocol. Assignment VI Application layer: Client Server Architecture, DNS, WWW and HTTP, Chapter 7 Cookies, Proxy Server. E-mail Protocols (SMTP, POP3, IMAP, MIME), FTP, TELNET. Chapter 7

12

13 14

Network Security: Cryptography, Symmetric- key Algorithms, Public- key Chapter 7 Algorithms, Digital Signatures. Assignment VII

Text book: Computer Networks, Andrew S. Tanenbaum, Addison-Wesley, 4th Ed Subject Learning Outcomes Development of Learning Outcomes in Domains of Learning 1. Familiarity with network terminologies, reference model, applications of network, design issues and how computer network works? 2. Knowledge of Data link layer design issues, Framing, Error correction and Detection techniques. 3. Meaning of flow control and its methods. 4. Problems associated with broadcast network and multiple access control protocols. 5. Knowledge of IEEE 802.3, 802.4 and 802.5. 6. Latest LAN examples. 7. Design issues related to Network layer like routing, addressing and their protocols. 8. Introductory knowledge of Transport layer protocols like TCP and UDP. 9. Idea about client server architecture and working of DNS, HTTP and E Mail. 10. Security issues in computer network and Introduction to Cryptographic algorithms and Digital Signature. Learning Resources 1. Required Text(s) Computer Networks, Andrew S. Tanenbaum, Addison-Wesley, 4th Ed. 2. Essential References Data Communications and Networking, B.A. Frouzan, McGraw-Hill.

3- Recommended Books and Reference Material (Journals, Reports, etc) (Attach List) Data and Computer Communications: W.Stallings, , Prentice-Hall, 5th Ed., 1997. Computer Networking: James F. Kurore & Keith W. Rose , Pearson Education, Third Edition, 2005. Communication Networks: Fundamentals Concepts and Key Architecture : Alberto LeonGarcia and Indra Widjaja, , Tata McGraw-Hill Publishing Company Limited, ISBN 0-070402235-3. Data and Network Communication: Michael A. Miller, Delmar Thomson Learning inc. ISBN 0-07668-1100-X. Introduction to Computer Networks: Douglas E. Comer , Prentice-Hall. Alberto Leon-Garcia and Indra Widjaja, Communication Networks Fundamentals Concepts and Key Architecture , Tata McGraw-Hill Publishing Company Limited, ISBN 0-07-0402235-3 4-.Electronic Materials, Web Sites etc 5- Other learning material such as computer-based programs/CD, professional standards/regulations

Assignments
You may use illustrations and diagrams to enhance the explanations. Assignment1. 1. Name all the basic network topologies and describe advantages of each type of network topology. 2. What are the different service primitives in the OSI model? 3. List and describe all the layers of OSI model with the protocol functionalities and standards. 4. Describe how the TCP/IP protocol stack is organized compared to the ISI/OSI protocol stack 5. What are the Nyquist and the Shannon limits on the channel capacity? Elaborate through examples. 6. Compare the features of different 10 Mbps, 100 Mbps and 1000 Mbps Ethernet technologies. 7. Compare the advantages of fiber optics over copper wire and coaxial cable. 8. With respect to WAN, distinguish between virtual circuit and datagram services Assignment 2.

9. Differentiate between the followings: a. b. c. d. FDM and TDM Circuit switching and packet switching Virtual circuit and diagram Stop and wait protocol and sliding window protocol

10. Explain the difference between the following techniques using an example: a) b) c) d) Unipolar NRZ Polar NRZ Manchester Encoding Differential Manchester Encoding

11. Describe the following: a. Networks Software b. Reference Models c. Network Standards 12. Discuss the following Switching Mechanisms: a. Circuit switching b. Message switching c. Packet switching 13. Compare and contrast packet and cell switching 14. What type of switching techniques is used in ATM and what is the significance of ATM? Discuss the ATM cell format 15. What are the issues to be considered in designing different layers in the network models? Assignment 3. 16. Explain the basic operation of collision detection in Ethernet. 17. Discuss the following design issues of DLL: a. Framing b. Error control c. Flow control 18. Construct a systematic (7, 4) cyclic code using generator polynomial g (x) = x3 + x2 + 1 Consider a data vector = 1010 19. What are the reasons for having a minimum length of Ethernet frame? 20. Derive the throughput expression for Aloha and slotted Aloha. 21. Simulate slotted Aloha protocol and plot a graph of Throughput Vs Load. (Note the program should be well documented). 22. Simulate a 1-bit sliding window protocol and submit the detailed report of data structure, library function used for implementing the protocol.

Assignment 4. 23. Describe the relationship between IP addresses and MAC address. 24. What is the purpose of time to live field of the IP datagram header? 25. Explain the difference between distance vector and link state routing protocol through examples. 26. Discuss the following with respect to Routing algorithms: a. Shortest path algorithm b. Flooding c. Distance vector routing 27. What is a Subnet? How do you implement subnetting? Explain with the help of an example. 28. What is Congestion? How does a leaky bucket algorithm control Congestion? 29. How is the header checksum calculated in IP? Assignment 5. 30. Which field of the IP header changes from a router to a router? 31. Compare the following: a. Bridges with Switches b. Bridges with Routers c. MAC address with IP address 32. Describe the specification and characteristics and application of the following devices: a.Routers b.Bridge c. Repeater also show diagrammatically where is these devices are placed in a Network setup 33. Explain the different classes of IP addresses with suitable examples.

Assignment 6. 34. How does the 3-way handshake mechanism for creating a TCP connection work? 35. What is the difference between a port and a socket? 36. Why do we require transparent bridges and how do we construct them 37. Compare the TCP header and the UDP header. List the fields in the TCP header that are missing from UDP header. Give the reasons for their absence?

38. Highlight the important features of TCPs sliding window scheme? 39. List and explain the important timers used in TCP. Assignment 7.

40. Why is the security of web very important today? Also outline the design goals and features of SSL 3.0. 41. Explain the operation of VLAN with the appropriate diagram 42. What is silly window syndrome? What are its proposed solutions? Explain. 43. Why use FTP to transfer files rather than e-mail? 44. Describe the following: a. IGP b. OSPF c. OSPF Message formats 45. Describe the following with respect to Internet Security: a. Cryptography b. DES Algorithm

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 : Sonal Bamb 5. Level/year at which this course is offered : I year II Semester 6. Pre-requisites for this course (if any) : None 7. Co-requisites for this course (if any) : None 8. Date of approval of the course specification within the institution : Course is approved 9. Location if not on main campus : Main Campus Aim and Objectives 1. Aim of the Course To make students aware of basics of Management. 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. 2. Briefly describe any course development objectives that are being implemented. Course Description WEEK Week 1 TOPIC Fundamentals of Management : Definition, Its Nature & purpose. The Evolution of Management Thought. The Systems Approach to the Management Process. The Functions of Manager. READING Ess. Of Mgmt. by Koontz&Weihrich Org & Mgmt by RD Agarwal

Week 2

Planning : Types of Plans. Steps in Planning. Decision making : Rational Decision Making. Programmed And Non Programmed Decision Making. Organizing : Formal and Informal Organization. Organizational division. Departmentation : Bases of departmentation Organization charts Line and Staff concepts.

Org & Mgmt by RD Agarwal Ess. Of Mgmt. by Koontz&Weihrich

Week 3

Week 4

Org & Mgmt by RD Agarwal

Week5 Week6

Week 7 Week 8

Staffing: Definition of Staffing. The Systems Approach to HRM. Selection process, Techniques and Instruments. Performance Appraisal and Career Strategy : Rewards and stress of managing Formulating the Career Strategy. Motivation Theories of motivation. Special motivation techniques.

Ess. Of Mgmt. by Koontz&Weihrich Org & Mgmt by RD Agarwal

Week 9

Week10

Leadership Definition. The Managerial Grid. Week 11 Controlling : Week 12 The Basic Control Process. Control Techniques. Time Management. Subject Learning Outcomes

Org & Mgmt by RD Agarwal Ess. Of Mgmt. by Koontz&Weihrich Org & Mgmt by RD Agarwal Ess. Of Mgmt. by Koontz&Weihrich

Development of Learning Outcomes in Domains of Learning For each of the domains of learning shown below indicate:

Students will understand how the concept of Management has evolved over the ages and what the functions and Principles of Management are. The knowledge of Planning leading to better management Develop an understanding of the Organizing process and the various types of Organization structures The knowledge of leading will help in managing personal as well as business life. Better understandings of control techniques will help in checking whether things are on track, and if not ensure that the problem is rectified.

Learning Resources 1. Required Text(s) R.D Agarwal, Organization and Management Tata McGraw Hill Inc. 2. Essential References Koontz & Weihrich , Essentials of 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