MASTER OF COMPUTER APPLICATIONS (MCA)
(2nd SEMESTER) ASSIGNMENTS JULY 2010 & JANUARY 2011 (MCS-021, MCS-022, MCS-023, MCS-024, MCSL-025)
SCHOOL OF COMPUTER AND INFORMATION SCIENCES
INDIRA GANDHI NATIONAL OPEN UNIVERSITY MAIDAN GARHI, NEW DELHI – 110068
2
CONTENTS Course Code
MCS-021
Assignment No.
Maximum Marks
Last Date of Submission
Page No.
MCA(2)/021/Assign/201 0
100
15th October, 2010 (For July Session)
3
15th April, 2011 (For January Session) MCS-022
MCA(2)/022/Assign/201 0
100
15th October, 2010 (For July Session)
4
15th April, 2011 (For January Session) MCS-023
MCA(2)/023/Assign/201 0
100
15th October, 2010 (For July Session)
6
15th April, 2011 (For January Session) MCS-024
MCA(2)/024/Assign/201 0
100
15th October, 2010 (For July Session)
9
15th April, 2011 (For January Session) MCSL-025
MCA(2)/025/Assign/201 0
100
31st October, 2010 (For July Session)
11
30th April, 2011 (For January Session)
Important Notes 1.
Viva-voce worth 20 Marks is compulsory for each course.
2.
Please follow the guidelines given in the MCA Programme Guide for solving, presentation format and submission of the assignments.
3
Course Code Course Title Assignment Number Maximum Marks Weightage Last Dates for Submission
: : : : : :
MCS-021 Data and File Structures MCA(2)/021/Assign/2010 100 25% 15th October, 2010 (for July, 2010 session) 15th April, 2011 (for January, 2011 session)
This assignment has three questions, which carry 80 marks. Answer all the questions. Viva-voce carries 20 marks. You may use illustrations and diagrams to enhance the explanations. Please go through the guidelines regarding assignments given in the Programme Guide. Ensure that you don’t copy the program from course material or any other source. All the implementations should be in C language. Question 1: An alternative linked representation for sparse matrices uses nodes that have the fields down, right, row, col, and value. Each nonzero entry of the sparse matrix is represented by a node. The zero terms are not explicitly stored. The nodes are linked together to form two circular lists. The first list, the row list, is made up by linking nodes by rows and within rows by columns using the right field. The second list, the column list, is made up by linking nodes via the down field. In this list, nodes are linked by columns and within columns by rows. These two lists share a common header node. In addition, a node is added to contain the dimensions of the matrix. (a) Write any 5 X 8 matrix that has exactly nine nonzero terms such that at least one nonzero term appears in each row and each column. For this sparse matrix, draw the linked representation. (10 Marks) (b) Suppose that an m X n matrix with t non-zero terms is represented as above. How small must t be so that the above linked scheme uses less space than an m X n array uses? (10 Marks) (c) Design a suitable external (i.e. one that can be used for input and output) representation for a sparse matrix. Your representation should not require explicit input of the zero terms. (10 Marks) Question 2: Draw two binary trees whose preorder listing is abcdefgh and whose postorder listing is dcbgfhea. Also, list the nodes of binary trees in inorder and level order. (25 Marks) Question 3: Suppose that an undirected Graph is represented with the array adjacency list representation. Write an algorithm to remove the an edge from G. What is the time complexity of the algorithm. (25 Marks)
4
Course Code Course Title
: :
Assignment Number Maximum Marks Weightage Last Date of Submission
: : : :
MCS-022 Operating System Concepts and Networking Management MCA(2)/022/Assign/2010 100 25% 15th October, 2010 (for July, 2010 session) 15th April, 2011 (for January, 2011 session)
This assignment has four questions, which carries 80 marks. Answer all questions. Rest 20 marks are for viva voce. You may use illustrations and diagrams to enhance the explanations. Please go through the guidelines regarding assignments given in the Programme Guide for the format of presentation. Answer each part of the question should be confined to about 300 words. Question 1: a) How is microkernel architecture different from a kernel architecture? Explain. (5 Marks) b) How is multithreading useful in uniprocessor as well as symmetric multiprocessing? Explain.
(5 Marks)
c) What is the purpose of caching in DNS?
(5 Marks)
d) Why UDP instead of TCP/IP is used in network management protocol?
(5 Marks)
Question 2: a)
Write the Linux command for the followings: i)
to display the last content of a file.
ii) Compare two files and display the differences. iii) to change the permission modes of a file and directory. iv) to count the number of all files in a directory. v) to list the users currently logged on to the system and count them. (5 Marks) b) c)
What a shell script that prints a list of every unique word in a file in reverse order?
(5 Marks)
How do you configure a Linux machine to work with a network file system? Write all the steps?
(5 Marks)
5
d) How is Linux different from Unix operating system? Explain. (5 Marks) Question 3: (i)
(ii)
Define the concept of domains, workgroups and trusted relationship in the context of Windows 2000?
(5 Marks)
How is distributed file system implemented in Windows 2000? (5 Marks)
(iii) Explain drive mapping facility in Windows 2000 with suitable examples? (5 Marks) (iv)
Write the purpose of VPN and name some VPN protocols supported by windows 2000.
(5 Marks)
Question 4: (i)
Describe backup strategies for your system?
(ii)
Describe the features of Intrusion detection system?
(5 Marks) (5 Marks)
(iii) List and describe the various security features in Windows 2000 OS? (10 Marks)
6
Course Code Course Title Assignment Number Maximum Marks Weightage Last Date of Submission
: : : : : :
MCS-023 Introduction to Database Management Systems MCA(2)/023/Assign/2010 100 25% 15th October, 2010 (for July, 2010 session) 15th April, 2011 (for January, 2011 session)
This assignment has four questions, which carries 80 marks. Answer all questions. Rest 20 marks are for viva voce. You may use illustrations and diagrams to enhance explanations. Please go through the guidelines regarding assignments given in the Programme Guide for the format of presentation. Answer to each part of the question should be confined to about 300 words. Question 1:
(20 Marks)
(i)
“For creating a student information management system of a University a database management system is better than that of file management system.” Justify the statement given above. Now, assume that you are assigned the role of Database Administrator for the University database. What are the key responsibilities you have to handle?
(ii)
Draw an E R Diagram for a system having the following requirements: A University maintains data of its students, the programmes they are registered in and the address information of the students. A programme consists of many courses. The database needs to store the programme duration and fees. A course has a number of credits associated with it and may be the part of more than one programmes. Some of the constraints that may be assumed for the University database system are: • A student can take only one programme at a time. • A course may be part of more than one programme. • The duration of the programme is in semesters. A course is taught in a typical semester of the programme. List all the entity sets, attributes of each entity sets and relationship sets. Draw the E-R diagram for the requirements as listed above for the database system. You may use the concept of keys, cardinality etc. in a proper way. Make and state suitable assumptions, if any.
(iii)
Create the relations from the E-R diagram that you have drawn for part (ii). The relations must be at least in 2 NF. You must do the following with the relations a) b) c) d)
Enter about 5 sets of meaningful data in each of the relations Identify the domain of various attributes Identify the primary keys of all the relations Identify the Foreign keys and referential integrity constraints in the relations
7
(iv)
Perform the following tasks using relational algebraic operations for the relations created at part (iii): (a) List all the courses of MCA programme. (b) Find the student name, programme code and the programme duration of the programme in which s/he is registered. (c) Find the list of students in BCA programme.
Question 2:
(20 Marks)
(i)
What are the problems associated with data Redundancy in a relation? How can you solve those problems? Can referential integrity constraints help in addressing those problems? Give reasons in support of your answer.
(ii)
Consider the following employee record in an organisation Employee ( ID, Name, date of birth, date of joining, age, address, department, manger, IDs of projects working on, role in the project, project name, project team leader, duration of project, dependent names) An employee works in one department. Each department is managed by one manager. An employee can work on many projects. A project has a team leader. An employee can have many dependents, however, one dependent can be related to only one employee. Identify the functional dependencies in the relation given above. Normalise the relational up to BCNF. Make suitable assumptions, if any
(iii)
Compare and contrast the features of sequential, indexed and hashed file organisations. Consider the problem (ii) in this question; propose a suitable file organisation for each of the relation created. Justify your selection of file organisation.
(iv)
Consider a relation Student(ID: 9 characters, name: 25 characters, department: 10 characters, programme_code: 4 characters) having about 1,000,000 student records. The database is stored on a disk having a disk block size of 1 MB. Assume that the primary index of the relation is ID and this relation is required mostly for the application that generates programme wise list of student names in alphabetical order. Create a secondary index that will improve the performance of the system for the given application. Show how many block transfers will be saved on average due to creation of index. Make suitable assumptions if any.
Question 3: (i)
(20 Marks)
Consider the following relations Account (ac_number, ac_holdername, ac_holderaddress, ac_balance) withdrawal (ac_number, wi_type, wi_date, wi_amount) deposit(ac_number, de_by, de_date, de_type, de_amount) Type of deposit or withdrawal may be – Cash or Cheque
8
Perform the following operations on these tables using SQL a) Create the three tables giving suitable domains and constraints including referential actions. b) Add one additional filed ac_type (it can be savings account, current account or student account) in the Accounts table. Create a secondary index on ac_number for the withdrawal and deposit tables. c) Create a view named my_account that contains the information about my account. d) Give only READ only permission to see my_account view to a user. (ii)
Perform the following queries using SQL for the relations of part (i): a) Find the list of the account holders whose account balance is less than Rs.1000/b) Find the details of those account holders who have withdrawn more than Rs 1,00,000/- in the last month. c) Find the sum of deposits that has been credited in each account in the last year. d) Find an account holder who has not withdrawn any money in the last year.
(iii)
Write the psedocode for the Withdrawal and Deposit transactions for the schema of the bank given in this question. Use two phase locking protocol and lock the data items suitably such that there is no concurrency related problem in the database.
(iv)
What is a deadlock? How can you detect deadlock? Explain with the help of a Wait for graph. What are the possibilities that the deposit and withdrawal transactions as created in part (iii) will result into deadlock? Explain your answer.
Question 4:
(20 Marks)
(i)
Consider the database schema of Question 3. Create sample transaction log for the transactions that you have defined in Q3 part (iii). Explain how this log may be used to recover from failure.
(ii)
Consider the database schema of Question 3, suggest at least two different types of users for the system. You may use my_account view for one of the users. Create an authorisation matrix for the relations. Make suitable assumptions, if any.
(iii)
Now, assume that the bank schema as given in Question 3 is being implemented using distributed database. Suggest suitable data fragmentation needed for this distributed database.
(iv)
Compare and contrast the two tier model to that of 3 tier model of client server architecture. Can you implement the database given in question 3 as a 3 tier model? Explain your answer.
9
Course Code Course Titlle Assignment Number Assignment Marks Maximum Marks Last Date of Submission
: : : : : :
MCS-024 Object Oriented Technologies and Java Programming MCA (1)/024/Assign/2010 100 25% 15th October, 2010 (for July, 2010 session) 15th April, 2011 (for January, 2011 session)
There are eight questions in this assignment which carries 80 marks. Rest of 20 marks are for viva-voce. Answer all the questions. Also in your programs give appropriate comments to increase understandability. Please go through the guidelines regarding assignments given in the Program Guide for the format of presentation. Question 1 :
a) What is Object Oriented Paradigm? Why Object Oriented Programming is preferred over structured programming. b) What is platform independence? Explain advantages of a programming language which is platform independent. c) Explain why Java is platform independent.
(5 Marks) (3 Marks) (2 Marks)
Question 2 :
a) List different data types available in java. (2 Marks) b) What are different bitwise operators available in Java? Write a Java program to explain the use of bitwise operators. (6 Marks) c) Explain the need of Unicode. (2 Marks)
Question 3 :
a) What is an array? Explain how an array of variable size is defined in Java. (3 Marks) b) Explain why main method in Java is always static. (2 Marks) c) What is a constructor? Explain the advantage of constructors overloading with an example of a Java program. (5 Marks)
Question 4 : a) What is polymorphism? Is Interfaces in Java, a kind of polymorphism? Justify your answer. b) Explain the need of package in Java. c) What is rule of accessibility? Explain different level of accessibility in Java. Question 5: a) What is an exception? Explain haw an exception is handled in Java. Also explain hierarchy of different exception classes in Java.
(4 Marks) (3 Marks) (3 Marks)
(5 Marks)
b) Write a java program to find whether a given string is a palindrome or not. (5 Marks) Question 6 :
a) What is multithreading ?Explain advantages of multithreaded programming with the help of a Java program. (5 Marks) b) What is I/O stream in Java? Write a program in Java to
10
create a file and copy the content of an already existing file into it. (5 Marks) Question 7 :
a) How a Java Applet is different from Java Application program? Create an Applet program to display your Bio-Data. Make necessary assumptions and use appropriate layout in your program. (6Marks) b) What is need of Layout Manager? Explain different layouts available in Java. (4 Marks)
Question 8 :
a) What is a socket ? Explain how a network socket is created using Java. b) Explain the need of JDBC? Explain steps involved in connecting a databases using JDBC.
11
(5 Marks) (5
Marks)
Course Code Course Title Assignment Number Maximum Marks Weightage Last Date of Submission
: : : : : :
MCSL-025 Lab Course MCA(2)/025/Assign/2010 100 25% 31st October, 2010 (for July, 2010 session) 30th April, 2011 (for January, 2011 session)
This assignment has four parts. Answer all questions of each part. Each part is of 10 marks. Lab Records of each part will carry 10 Marks. Rest 20 marks are for viva voce. You may use illustrations and diagrams to enhance the explanations. Please go through the guidelines regarding assignments given in the Programme Guide for the format of presentation. PART-I: MCS-021 Question 1: Sort the following data using heap sort and show all the intermediate steps.
78, 17, 34, 93, 11, 26, 55, 45, 35, 19, 88 Write an algorithm in C to implement this and find its time complexity. (5 Marks) Question 2: Write a program in ‘C’ language for the creation of a Binary tree. After creation is complete, it should print the preorder, postorder and inorder traversal outputs of the binary tree. (5 Marks) Note: You must execute the program and submit the program logic, sample inputs and outputs along with the necessary documentation for this question. Assumptions can be made wherever necessary. PART-II: MCS-022 Question 1: Write a shell script in Unix/Linux to find the lines numbers of a text file are having words which are 5 to 10 characters long and having first letter as a capital letter. (3 Marks) Question 2: Use Windows 2000 command and communicate with your friend sitting on a different machine but in a same domain group. (2 Marks) Question 3: Use Telnet to get connected with other remote machine. Write the problems you encounter during connection with remote machine. (2 Marks) Question 4: How can you change the time of execution of the job, Explain? Set the execution time of two jobs so that it can run automatically tomorrow one at 11:00 a.m. and stop at 12.00 Noon and for another Job starts at 1:00 p.m and stop after its completion.
12
(3 Marks)
PART-III: MCS-023 Question 1: A film production company named “Apex Entertainment”, which produces motion pictures like Films, TV serials and Documentaries. It maintains information about different team member’s like actors, directors, assistants, co-producers, and other team members and their salary/contract amount. Each motion picture has a title, year of production, certification details, length and the type. Each team member has a name, job title, contact details and address. These Films, TV serials and Documentaries can be shot in studios. Each Studio has an owner, address, contact details and a banner. This production company sales its products to various distribution company through bidding and contract. Team members are connected to one or more type of motion pictures. Create a database in MS-Access, which must provide the following functionalities: • • • •
Query support Report generation Easy input facility for new data Keep details about Expenditure, Performances, Distribution, and Sales of each motion picture. • Maintain necessary details about Distributors, Team members, Studios etc. After creating the database you must perform the following tasks: (i)
Design a report to display the daily, monthly and annual income of each Motion Picture. Also, show the profit /loss statistics.
(ii)
Find out how many Distributors placed the orders last year but did not made full payment till now.
(iii)
Design a report to display performance of the Directors and Actors, Motion Picture wise in term of sales.
(iv)
Design a suitable form for storing basic information about motion pictures to evaluate the performance and appreciation by general public. Design and implement the necessary tables. (10 Marks) PART-IV: MCS-024
Question 1: Create a Java class (i.e. do not use any library class) to represent linked lists of integers. Provide it with methods that can be used to reverse a list and to append two lists.
13
Comment on whether your design has led you to make the methods for append and reverse static. (5 Marks) Question 2: To make a fraction to a representation base 16 (i.e. hexadecimal) we can multiply it by 16, and the resultant integer part is the first digit of the base-16 representation. Multiplying the fraction left over by 16 gets the second digit and so on. Write a method that accepts an array of digits (base 10) and creates and returns a new array representing the same fraction but now base 16. Your code should work for any length input array, not just one of length 1000, and you may make the output array have the same length as your input array. (5 Marks)
Note: You must execute the program and submit the program logic, sample inputs and outputs along with the necessary documentation for this question. Assumptions can be made wherever necessary.
14