You are on page 1of 45

STUDENT KIT

M.Sc.(CS) – 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

Institution : DEVI AHILYA UNIVERSITY, INDORE

College/Department : School of Computer Science and Information Technology


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 Topic Reference


1 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.

2 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,

3 Reduction of ER Schema to tables. Domains, relation, kind of relation, Chapter 2


Relational databases, Various types of keys: candidate, primary, alternate
& foreign keys.

4 Relational Algebra and SQL: The structure, relational algebra with Chapter 3
extended operations, modification of database, Idea of relational calculus.

5 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.

6 Programming concepts of PL/SQL, Stored procedure, Database From Ivan


connectivity with ODBC/JDBC Bayross

7 Functional dependencies: Basic definitions, Trivial & non trivial Chapter 7


dependencies, closure set of dependencies & of attributes, Irreducible set
of dependencies, FD diagram.

8 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.

9 Database Integrity: general idea, integrity rules, Domain rules, Chapter 6


Attributes rules, assertion, triggers, integrity & SQL.

10 Transaction Management: basic concept, ACID properties, transaction Chapter 15


state, Implementation of atomicity & durability, Concurrent execution,
Basic idea of serializability.
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.

12 Storage Structure: overview of physical storage media, magnetic disk: Chapter 11


performance & optimization, RAID.

13 File Organization: File organization, Organization of records in files, Chapter 12


basic concept of Indexing, ordered indices: B+ tree & B tree index files.

14 Query processing, Query optimization, Introduction to data mining Chapter


and data warehousing 13+
Chapter 14

 The chapters indicated above are from “Database System concepts – Henry F. Korth
, Tata McGraw Hill” 4th Edition

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 as computer-based programs/CD, professional
standards/regulations

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 FD’s
(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 Registrar’s 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) Retrieve the list of names and the cities of all the clients.
b) List the various products available.
c) Find the names of all clients having ‘a’ as the second letter in their names.
d) List all the clients who are located in ‘INDORE’.
e) Find the products whose selling price is greater than 2000 and less than or equal to 5000.
f) Add a new column NEW_PRICE into the product_master table.
g) Rename the column product_rate of Sales_Order_Details to new_product_rate.
h) List the products in sorted order of their description.
i) Display the order number and date on which the clients placed their order.
j) Delete all the records having delivery date before 25th March, 2010.
k) Change the delivery date of order number ON01008 to 16-05-10.
l) Change the bal_due of client_no CN01003 to 1200.
m) Find the product with description as ‘HDD1034’ and ‘DVDRW’.
n) List the names, city and state of the clients not in the state of ‘MP’.
o) 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) Find all the students’ name, city, course allotted from the SCS department.
b) List the total number of Faculty in the SCS department.
c) List the available courses from the SCS department.
d) List the all students in a particular semester.
e) List the students who earned CGPA greater than or equal to 8.5.
f) How much subjects are registered by a student in each semester.
g) List the common students who are allotted the same courses of both the programme MCA
and M. Tech.
h) List the total number of student enrolled in the subject DBMS.
i) Retrieve the semester of the student under DBMS subject.
j) Retrieve the entire student name and arrange into ascending order.
k) Modify a student address DEWAS to INDORE where sdt_id=’CSI08002’.
l) Find the total credit point of student required to complete for a course like MCA.
m) List the all courses which are related to computer science.
n) Retrieve all the students located at ‘INDORE’.
o) Find the total number of department in our database.
p) 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) List the details of account holders who have a ‘savings’ account.


b) List the Name and address of account holders with loan amount more than 50,000.
c) Change the name of the customer to ‘ABC’ whose account number is ’TU001’
d) List the account number with total deposit more than 80,000.
e) List the number of fixed deposit accounts in the bank.
f) Display the details of customers who created their accounts between ’20-jan-10’ to ’20-
Mar-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) List the names of the books issued between 21-Jan-10 and 29-Jan-10.
b) Retrieve the name and number of books by a particular author.
c) Retrieve the name of the publisher which has maximum number of books.
d) Count the total number of books in the library.
e) Count the number of books issued to a student with Roll no ‘CSB06001’.
f) Change the author of the book to ‘ABC’ with book id=’BK003’.
g) 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 doctor’s
code. Bed information contains bed number, ward number and status (whether allotted or not).

Queries:

a) Display the details of patients admitted between ‘20-jan-10’ and ’20-Mar-10’.


b) Change the name of the patient to ‘Ram’ whose patient id=’PT011’.
c) Display the names of the patients and lab test results performed on ‘20-jan-10’.
d) Display the number of patients taking treatment under doctor =’ABC’.
e) Retrieve the name of doctor who is taking care of maximum number of patients.
f) Change the bed number of the patient to 456 where patient id=’PT023’.
g) Change the status of bed with bed number 123 with ‘not allotted’.
h) List the bed details which are free in ward number 10.
i) List the name of male patients in ward no 13 taking treatment under doctor ‘XYZ’.
j) 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) List all the employees of SCS department.


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


Week Introduction to Software Engineering & Software Processes:
1 Software problem, Software engineering problem, Software engineering TB 1
approach, Software characteristics and Applications. Chapter 1

Assignment: 21-22, Exercises: 1, 3, 4, 5.


Week Software processes and its components, characteristics of software
2 processes, Software development processes: Linear Sequential model, TB1
Prototyping model, Iterative Enhancement model, Spiral model, Time Chapter 2
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 Project management process: The people, product, process and TB 1
3 project, Phases of project management process, Project life cycle, the Chapter 2
W5HH principle. Software configuration management process, Process
management process. TB 2
Assignment: page 647 (TB 1), Exercises: 21.2, 21.4, 21.11. Chapter
21
Week Project Planning: Metrics and measurements, Project estimation (Size &
4 Cost), Project Scheduling, Staffing and personnel planning, Software TB 1
configuration management plans, Quality assurance plans, Project Chapter 4
monitoring plans, Risk management.

Assignment: page, Exercises: 2, 3, 6, 8.


Midterm First evaluation

Week Software Requirement Analysis and Specification: Software


5 requirements, Functional & Non functional requirements, Problem TB 1
Chapter 3
analysis (Structured analysis and Object Oriented analysis, Prototyping
approach).

Week Software Requirements specifications (SRS), Validation and


6 Verification, Metrics. TB 1
Chapter 3
Assignment: page 147, Exercises: 1, 3, 7, 10.

Week Software Design: Design principles: Problem partitioning and


7 hierarchy, Abstraction, Modularity, Top-down and Bottom-up strategies. TB 1
Chapter 5
Week Effective Modular design: functional independency, Cohesion,
8 Coupling. Structured design methodology. TB 1
Chapter 5
Assignment: page 251, Exercises: 1, 2, 3, 6, 7, 9, and 11.
Midterm Second Evaluation
Week Software Quality Assurance: Quality concept, Quality management
9 system, movements and assurance, Software reviews: formal and TB 2
technical. Chapter
26
Week Formal approaches to SQA, Statistical software quality assurance,
10 Software reliability, Capability Maturity Model (CMM), ISO 9000, Six TB 2
sigma, SQA plan. Chapter
26
Assignment: page 769, Exercises: 26.3, 26.10, 26.14, 26.15.

Week Software Testing: Software testing techniques: Testing fundamentals,


11 White box testing, Black box testing, Testing for specialized TB 1
environments, architectures and applications. Chapter 9

Week Software testing strategies: A strategic approach to software testing,


12 Strategic issues, Unit testing, Integration testing, Validation testing and TB 1
system testing, The art of debugging. Chapter 9

Assignment: page 468, Exercises: 1, 2, 3, 7, 8.


Midterm Third Evaluation

Week Group presentations


13
Week Group presentations
14
Week Review of Assignments due.
15 Review for final exam unit wise.

Week Final Exam


16

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 practitioner’s 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 person’s 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 person’s 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 author’s
name, the publisher’s 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 fan-
out?

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 course-


Mr. 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. Objectives
1. To understand object oriented 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, 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. Ch:1,4,6


Examples and real life applications SS
Data Structures: Arrays, Stacks, Queues, Dequeues Ch:1,2,4 TBM

Week 4 Linked Lists, Singly and Doubly linked list Ch:5,6 SS


Applications of Linked Lists Ch:2,4 TBM

Week 5 Linked implementation of queue and stacks Ch:5 SS


Ch:4 TBM
Week 6 Binary Search Tree : Definition and Implementation- preorder, Ch:7 SS
post order, inorder traversal Ch:5 TBM

Week 7 Red Black Tree Definition and implementation Ch:7 SS


Ch:5 TBM
Week 8 Graphs: Definition and implementation Ch:8 SS

Week 9 Hash function, Collision Resolution Techniques, Hashing Ch:8, 9 SS


Applications
Assignments:
1. Implementation of Hashing Functions.
2. Practice of graph traversal

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 Ch:9 SS


implementation, Binary Search, Interpolation Search. Ch: 7 TBM

Week 12 Introduction, Sorting by exchange, selection, insertions, Bubble Ch:9 SS


sort, Selection sort, Insertion sort, Efficiency of above algorithms, Ch: 6 TBM
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 Ch: 33 HS

Week 14 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 ++

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, 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 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 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 method 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 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) To learn about various measuring trends and laws.
2) To understand the various functional units of CPU.
3) To understand the architecture of 8088 microprocessor.
4) To learn the instruction set of 8088 processor, so that they will be able to do assembly
language programming.
5) To learn about computer arithmetic and various units of ALU.
6) To understand about various types of instruction formats and addressing modes.
7) To understand about various types of processor organization and to learn about RISC
and CISC features.
8) 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. Topic Reading


of
week
s
Week Technological trends, measuring performance, speed up Amdahl’s law. Chap. 1 comp.
1 Assignment: Ex.1.1 to 1.20 Archi.
Objective questions 1.1 to 1.16 (Page no. 1.30-1.31) Schaum’s
outlines by
Dr. Rajkamal
Week Basic structure of computer hardware: Functional units and Chap. 2
2 components in computer organization: The memory unit, the input and comp. Archi.
output subsystem, the bus structures, ALU. Program development Schaum’s
tools: Compiler, interpreter, and assembler. outlines by
Dr. Rajkamal
Assignment. : Ex.2.1 to 2.20
Objective questions 2.1 to 2.18 (Page no.2.27 –2.28)
Week Introduction to 8085 micro processor architecture. pin out diagram of Chap. 2
3 8085 microprocessor. Addressing modes of 8085 processor. Micropro. and
Theory Assignment. : Ex.1 to 50 (page no. 56-57) microcompute
Lab assignment: r based
system design
1) Write a program to load 05 in the register A and B. By
2) WAP to copy the contents of register A into B Mohammed
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.
Week Instruction set of 8085 processor: data transfer instructions, arithmetic Chap. 2
4 instructions, branch instructions etc. assembly language programming Micropro. and
examples. Introduction to 8088 microprocessor microcompute
Theory Assignment : Ex.1 to 32 (page no. 100-101) r based
system design
Lab assignment: By
1) WAP to add two 8 bit numbers. Mohammed
2) WAP to add two 8 bit numbers and store the result at memory Rafiquzzaman
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.

Week Bit pair multiplication. Integer division. BCD arithmetic, Design of Chap.3
5 ALU. comp. Archi.
Theory Assignment. : Ex.3.1 to 3.37 Schaum’s
Objective questions 3.1 to 3.16 (Page no. 3.56-3.57) outlines by
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 Concepts of instruction formats and instruction set, Instruction set Chap.4
6 types, types of operands and operations. Generation of memory address comp. Archi.
and addressing modes. Schaum’s
Theory Assignmet. : Ex.4.1 to 4.17 outlines by
Dr. Rajkamal
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.
Week STACKS and QUEUS, GPR organization and stack based Chap.4
7 organizations. Encoding of machine instructions. Features of RISC and comp. Archi.
CISC processors. Schaum’s
Theory Assignment : Ex.4.18 to 4.39 outlines by
Objective questions 4.9 to 4.16 (Page no. 4.87) Dr. Rajkamal
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 one’s and zeros in a given data byte.
4) WAP to determine the one’s and two’s complement of a given data
byte.
5) WAP that has five different methods to clear the carry flag.
Week Processing unit design: Processor micro architecture –I Chap.5
8 Fundamentals concepts for data path implementation. Processor micro comp. Archi.
architecture-II data path implementation. Schaum’s
Theory assignment. : Ex.5.1 to 5.11 outlines by
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.
Week Instruction pipelining, instruction pipelining hazards, data dependency Chap.6
9 hazards and control hazards. Overcoming hazards, instruction set comp. Archi.
design influence on pipelining. Schaum’s
Theory Assignment: Ex.6.1 to 6.17 outlines by
Dr. Rajkamal
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 Parallel processing and pipelining, pipelining in RISC and CISC Chap.6
10 comp. Archi.
processors. Super scalar processors. In order and out of order Schaum’s
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 two’s complement method.
Week Instruction level parallelism, introduction to VLIW processors, vector Chap.7
11 processors, comp. Archi.
Theory Assignment: Ex.7.1 to 7.5 Schaum’s
Objective questions 7.1 to 7.16 (Page no. 7.20-7.21) outlines by
Dr. Rajkamal

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
Week CACHES: Data caches, instruction caches and unified caches Cache Chap.9
12 implementations. Fully associative and direct mapped caches. Write comp. Archi.
back versus write through caches. Schaum’s
Theory assignment. : Ex.9.1 to 9.12 outlines by
Dr. Rajkamal
Objective questions 9.1 to 9.16 (Page no. 9.27-9.28)
Lab assignment:
1) WAP to generate the square wave of 50% duty cycle
Week Input Output organization, accessing I/O devices, Interrupts. Chap.11
13 Memory mapped I/O and I/O mapped I/O. comp. Archi.
Schaum’s
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 Final exam
14

Subject Learning Outcomes

Development of Learning Outcomes in Domains of Learning

1) Students will be familiar with various measuring tools and functional units of CPU.
2) They will be aware about architecture of 8088 microprocessor.
3) They will have knowledge of assembly language programming.
4) They will be aware about computer arithmetic.
5) 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) Computer Architecture: Scahaum’s outlines by Dr. Rajkamal.


ii) 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 Master’s 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, Chapter
Workstations, Network Adapter Cards. Connection Oriented and Connection 1,2
less services, Switching Techniques – Circuit Switching, Packet Switching.
Assignment I

3 Data Link Layer: Design Issues, Framing, Error Detection: Parity Check,
Check Sum and Cyclic Redundancy Check (CRC); Correction Technique: Chapter 3
Hamming code.

4 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

5 Go Back N and Selective Repeat. Data link layer in the Internet: SLIP and
PPP. Assignment III Chapter 3

6 MAC Sublayer: Multiple access protocols: Aloha, CSMA Protocols;


Collision-Free Protocols; IEEE MAC Sublayer protocols: 802.3 Chapter 4

7 802.4, 802.5 and their management.


Chapter 4
8 High speed LANs – Fast Ethernet, FDDI, Wireless LANs Chapter 4
Assignment IV

9 Network Layer: Design issues, Routing Principles. Routing Algorithms:


Optimality Principle, Shortest Path Routing, Flooding, Distance Vector Chapter 5
Routing.

10 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
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

12 Application layer: Client Server Architecture, DNS, WWW and HTTP, Chapter 7
Cookies, Proxy Server.

13 E-mail Protocols (SMTP, POP3, IMAP, MIME), FTP, TELNET. Chapter 7

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 Leon-
Garcia and Indra Widjaja, , Tata McGraw-Hill Publishing Company Limited, ISBN 0-07-
0402235-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. FDM and TDM


b. Circuit switching and packet switching
c. Virtual circuit and diagram
d. Stop and wait protocol and sliding window protocol

10. Explain the difference between the following techniques using an example:

a) Unipolar NRZ
b) Polar NRZ
c) Manchester Encoding
d) 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 TCP’s 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 TOPIC READING

Week 1 Fundamentals of Management : Ess. Of Mgmt. by


Definition, Its Nature & purpose. Koontz&Weihrich
The Evolution of Management Thought. Org & Mgmt by
The Systems Approach to the Management Process. RD Agarwal
The Functions of Manager.
Week 2 Planning : Org & Mgmt by
Types of Plans. RD Agarwal
Steps in Planning.
Ess. Of Mgmt. by
Koontz&Weihrich
Week 3 Decision making :
Rational Decision Making.
Programmed And Non Programmed Decision Making.
Week 4 Organizing : Org & Mgmt by
Formal and Informal Organization. RD Agarwal

Week5 Organizational division.

Week6 Departmentation :
Bases of departmentation
Organization charts

Line and Staff concepts.

Week 7 Staffing: Definition of Staffing. Ess. Of Mgmt. by


The Systems Approach to HRM. Koontz&Weihrich
Week 8 Selection process, Techniques and Instruments. Org & Mgmt by
RD Agarwal
Performance Appraisal and Career Strategy :
Rewards and stress of managing
Formulating the Career Strategy.
Week 9 Motivation – Theories of motivation. Org & Mgmt by
Special motivation techniques. RD Agarwal
Ess. Of Mgmt. by
Week10 Leadership – Definition. Koontz&Weihrich
The Managerial Grid.
Week 11 Controlling : Org & Mgmt by
Week 12 The Basic Control Process. RD Agarwal
Control Techniques. Time Management. Ess. Of Mgmt. by
Koontz&Weihrich

Subject Learning Outcomes


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