You are on page 1of 14

ADDIS ABABA UNIVERSITY

FACULTY OF INFORMATICS

Department of Computer Science

Entrance examination for the Masters of Science


Programme in Computer Science

Date: August 26, 2003


Time allowed: 3 hours

Full Name :

Grade Obtained :

Important Note

• Write your name only on this page. Writing your name on the other
pages will automatically disqualify you from this exam.
• Answer neatly to all the questions on the space provided on the question paper
• Write short, and grammatically and logically correct sentences

Page 1 of 14
Part I: Computer organization and assembly (15 points total)

1. (4 points) Give two applications where writing the code in assembly language rather than in high-
level language is compulsory or highly beneficial. Explain very succinctly why it is compulsory or
highly beneficial.

# Application Reason
1

2. (2 points) Give two major concepts that make the difference between RISC and CISC
technologies and how these concepts contribute in improving the performance of the processor.

3. (1 point) Give the name of an existing processor that is built based on RISC technology.

4. (2 points) Give two major functions of the CPU.

# Application
1

Page 2 of 14
5. (2 Points) Give the name of the character encoding system that is most widely used for encoding
of texts in most alphabets and scripts of the World. What are the differences between this system
and the Latin character encoding system almost exclusively used, until recently, to encode texts in
Latin characters? What are its advantages and its drawbacks? Answer very succinctly in the table.

Name of the
character
encoding
system

Differences

Advantages of
the character
encoding
system
Drawbacks of
the character
encoding
system

6. (4 points) We would like to write a fragment of code of the virtual memory manager of an
operating system in INTEL 8086 assembly language. The objective is to write a fragment of the
assembly language code that calculates the physical (real) address corresponding to a given virtual
address. Write this fragment of code knowing that:
o The virtual address is in AX
o The page size is 256 Bytes
o The page table is in memory at the address PAGE_TABLE. Each entry of the page
table occupies one byte and contains only the page frame number.
o We consider that all pages of the virtual memory are always in the real memory (there
is no page fault)
o The result (real address) should be in BX
o You should use the simplest and minimum number of instructions in order to minimize
the execution time of this code
o If there is a mnemonic of an instruction that you have forgotten use INST1, INST2, etc.
and explain what this instruction does. This will be accepted only if an instruction that
does exactly what you say exists in INTEL 8086.
Explain how your program works and give your commented program.

Explanation

Page 3 of 14
Program

Part II: Programming and Data structure (14 points total)

1. (6 points) Write a function SearchList that recursively searches a linked list of integers for a
specified value. The function should return a pointer to the value if it is found; otherwise null
should be returned. Write the code in your language of choice.

Page 4 of 14
2. (8 points) Write a program segment to put N numbers into ascending order using a binary
search tree. Assume that inorder traversal of the tree gives the numbers in ascending order.
Write the code in your language of choice.

Part III: Software Engineering (16 points total)


1. Give precise answers to the following questions
a. (3 points) What are the basic concepts of object-oriented approach?

b. (2 points) Define polymorphism and give an example.

Page 5 of 14
c. (3 points) Explain the differences between testing a procedural program and an object-
oriented program.

2. (5 points) To properly satisfy the basic goals of a system, a software requirements


specification should have certain properties. What are the desirable properties that a good
software requirements specification should have? Describe each of the properties.

3. (3 points) Explain the difference between validation and verification, which are important
concepts in software quality.

Page 6 of 14
Part IV: Database Systems (14 points total)
1. (3 points) The two general integrity rules in relational database model are, entity integrity rule and
referential integrity rule. State the rules.

2. (3 points) Transaction recovery is one of the data protection mechanisms used in database
systems. Describe transaction recovery and show how it is implemented.

Use the following information to answer subsequent questions


Office of the African Union (AU) is planning to organize the second ordinary summit of heads of
states of AU in July 2003. The summit will be held in Accra, Gahanna. MIS section of the organizing
committee has formulated the following table structures of relational database to keep track of the
event. Use this information to answer questions 3, 4 and 5.

Country(CountryName, Population, CapitalCity)


Primary key (CountryName)

Hotel(HotelName, Capacity, NumberOfStars, PhoneNo)


Primary key(HotelName)

Session(SessionNo, Date, StartingTime, Agenda)


Primary key(SessionNo)

Page 7 of 14
Participant(Name, Fname, CountryName, HotelName)
Primary key(Name, Fname)
Foreign key HotelName references Hotel,
CountryName references Country

WillAttend( Name, Fname, SessionNo, WillSpeak)


Primarykey(Name,Fname, SessionNo)
Foreign key (Name,Fname) references Participant,
SessionNo references Session

3. Answer the following questions Using the above information


a) (2 points) Draw relational diagram of the above relational tables indicating their
cardinalities.

b) (2 points) Assuming that all the other tables are created, write an SQL statement that
creates the WillAttend Table above.

Page 8 of 14
c) (2 points) Write SQL statement that deletes all participants who will not speak and whose
reservations are in 5 star hotels.

d) (2 Points) Write SQL statement that displays all participants who are scheduled to attend
all the sessions.

Part V: Operating systems (11 points total)

1) (3 points) Input/outputs in general and disk in particular are the major bottlenecks of the
computer system. Give two very efficient mechanisms used by the operating system to limit
this problem. Explain briefly how each of the mechanism contributes for this purpose.

Page 9 of 14
2) (6 points) Write a program in C programming language that runs on UNIX or Linux systems.
The program requests 10 whole numbers from the user, finds the maximum of the ten
numbers and the sum and displays both. The programs should have three processes. The first
reads the input from the user. The second finds the maximum and displays it. The third
calculates the sum and displays it.

Note
- For the communication and synchronization between the processes you can use:
i. semaphores (you can use any commonly syntax for semaphores not necessarily
found on UNIX/Linux)
ii. signals
iii. pipes
iv. parent/child inheritance

- Proper comments are necessary.

Page 10 of 14
3) (2 points) Many client/server applications such as web servers create one thread to process
the request of a client at the server side than creating a process for each client. Explain briefly
why?

Part VI: Networking (15 points total)


1. (3 points) What is the advantage of introducing redundancy in network connectivity?

2. (3 points) Sub-networking is used to overcome congestion problems posed by a flat, two-level


hierarchy, IP addressing scheme. However, there is a tradeoff between the number of subnets
and the number of hosts per subnets. In the following table, you will be given the number of bits in
the sub-network prefix of a class B IPv4 address. Fill the remaining part of the table with the
appropriate values.
Number of bits Subnet mask Number of Number of usable
in the sub- usable host addresses
network prefix subnets per subnet
7
8
9

Page 11 of 14
3. (3 points) Discuss media access control techniques in Ethernet and Token ring.

4. (3 points) The two major categories of WAN connections are packet switched and circuit
switched. What are packet switching and circuit switching? Give examples for both.

5. (3 points) Multiplexing is used to make efficient use of high-speed communication lines. What are
the two common forms of multiplexing? Discuss how they work.

Page 12 of 14
Part VII: General questions on ICT in Ethiopia and abroad (15 points total)
Instruction: Attempt any one of the following three questions. If you attempt more than one none
will be accepted.

1. Some years back, the Federal Government and many of the state of the United States of
America sued Microsoft. What was the reason why they sued this company? Microsoft seems
to have escaped the worst. Do you think the World has anything to lose or gain from this trial’s
result? Argument your answer in about 10 lines (average handwriting).

Page 13 of 14
2. What is E-commerce? Do you think it has a great future in the World in general and in Ethiopia
in particular. What are the technical issues that have to be considered if we want to see the
development of E-commerce in Ethiopia. Argument your answer in about 10 lines (average
handwriting).

3. In Ethiopia, nowadays, computer applications are becoming necessity in businesses and office
environments. However, there are many problems associated with the use of local languages in
computing. What are the situations in using local languages like Amharic, Afan Oromo, Tigrigna, etc.
in computing environment? Give specific examples of the problems and their impact. Suggest
solutions on how we can overcome such problems. Present your answer in about 10 lines (average
handwriting).

Page 14 of 14

You might also like