Computer Science 2017 Past Paper


                                                                FEDERAL PUBLIC SERVICE COMMISSION 
                                                                   COMPETITIVE EXAMINATION - 2017 
                                                                FOR RECRUITMENT TO POSTS IN BS-17 
                                                                   UNDER THE FEDERAL GOVERNMENT 
                                                                         COMPUTER SCIENCE, PAPER-I 

NOTE: (i) Part-II is to be attempted on the separate Answer Book. 
(ii) Attempt ONLY FOUR questions from PART-II by selecting TWO questions from EACH 
(iii) All the parts (if any) of each Question must be attempted at one place instead of at different places. 
(iv) Candidate must write Q. No. in the Answer Book in accordance with Q. No. in the Q.Paper. 
(v) No Page/Space be left blank between the answers. All the blank pages of Answer Book must be crossed. 
(vi) Extra attempt of any question or any part of the attempted question will not be considered. 

Q. 2. (a) The internet era has given rise to the problem of cybercrimes. Given the need to maintain 
privacy which is an ethical responsibility of the government, what technical means would you 
suggest to curb this problem? 
(b) Describe the difference between Harvard and Von-Neumann architectures of computers. 
Also discuss their traits in the light of their capabilities. 
(c) Virtual memory is used by the computer to support the running of heavy applications. 
Describe the functioning of virtual memory in the computer. Also comment on the management 
of virtual and physical memory by an operating system. 

Q. 3. (a) Three types of languages exist for use in programming of computers, Machine, Low 
Level and High Level languages. Elucidate on these three types, giving details of the 
conversion process between Low Level and High Level language into Machine language. 
(b) Write a function that calculates the quadratic equation in . You may use the 
math library for this purpose. The program should ask the user to enter values of a, b and c and 
should print the result. A sample execution of the program is shown below: 
Enter value of a: 1 
Enter value of b: 2 
Enter value of c: 1 
The values of x are -1, -1 
(c) Consider that you are required to create a program for a supermarket checkout machine. The 
machine has a database of the items available in the supermarket which consists of the 
items name, code and price. Make a program that requires the cashier (user) to enter the 
code or name of the product and the quantity that has been bought. It should allow for multiple 
entries to be made. Once all the entries have been made. The program prints the total 
amount to be charged on the screen. A sample execution is shown below: 
Enter product name or code: 1 
Enter quantity: 1 
Do you have more products to add (Y/N): N 
The total amount is 500 
You may construct the database as a structure. 

Q.4. (a) What factors should be considered when choosing particularly between evolutionary and 
incremental models? Elucidate the characteristics of Rapid Application Development, Joint 
Application Development and Agile Software Engineering. 
(b) Differentiate between Software Validation and Verification. Discuss some of the 
techniques used for empirical software evaluation. 
(c) Discuss the importance of Requirements Engineering in the success of a software 
project. Explain in detail the process of ‘Requirements Sign-off’. 

Q. 6. (a) The design methodologies of programs can have multiple approaches including the Big 
Bang, Code and Fix, Water Fall and the Spiral Model. Consider a test application and 
describe the development of the application while following each of these four 
(b) Discuss the design issues of Task Partitioning and Task Allocation in Distributed Software 
Engineering tasks. 
(c) Explain the importance of Design Patterns under the umbrella of Agile software design and 
programming. Explain Software Testing and different methodologies. 

Q. 7. (a) The handling of syntax errors involves the use of parser and the lexical analyzer. Comment 
on its functioning. 
(b) Using a suitable example, compare the operation of a top-down and a bottom-up Parser 
based compiler. 
(c) Explain the two different methods of code optimization that is Loop optimization and 
Peephole optimization by giving a suitable example. 

Q. 8. Write short notes on any FOUR of the following: (5 each) 
(a) Global, Local and shared variables for nested function access 
(b) Protecting IP rights in the digital domain 
(c) Parallel processing and the use of pipelining for this purpose 
(d) Resource allocation during runtime processes 
(e) Intermediate Code Generation 
(f) Searching Algorithms 

Q. 2. (a) Discuss the following methods of storage systems: 
(i) Direct Access (ii) Random Access 
(b) If clock speed reaches its maximum then what are the two methods to increase the 
performance of a computer? Briefly explain. 
(c) Draw and explain instruction execution state diagram with interrupt. 

Q. 3. (a) Explain the following network protocols: 
(i) HTTP and SIP (ii) TCP and UDP 
(b) What is the transmission time of a packet sent by a station if the length of the packet is 1 
million bytes and the bandwidth of the channel is 200 Kbps? 
(c) Given the IP address and the network mask, what are the 
assignable IP addresses and broadcast in this subnet? 

Q. 4. (a) What are differences between Optimal & LRU (Least Recently Used) page Replacement 
(b) Discuss the four necessary conditions for deadlock to occur. How can we deny any two 
of these conditions? 
(c) Consider three processes given in the table. Find average waiting time and average 
turnaround (completion) time when these processes are scheduled using Round-Robin 
scheduling using time quantum (TQ) = 4. 
Process CPU Burst 
P1 24 
P2 7 
P3 10 

Q. 5. (a) Explain the functionality and purposes of following registers with diagrams: 
(i) Memory Address Register (MAR) 
(ii) Memory Buffer Register (MBR) 
(iii) Instruction Register (IR) 
(b) Discuss the functionality of Ethernet LAN and its types. 
(c) What happens in the following cases? 
(i) If the job size is kept very low in time sharing systems. 
(ii) If the page size is kept very small in paged memory management. 

Page 2 of 2 
Q. 6. (a) What is Normalization? Discuss 1NF, 2NF and 3NF with example(s). 
(b) Write short notes on the following: 
(i) Data (ii) Database (iii) Database Management System 
(c) Differentiate between Centralized Database and Distributed Database. 

Q. 7. (a) Define image histogram. What is meant by histogram equalization? Explain their 
applications in image processing. 
(b) Find the storage in bytes required to store a 256 x 200 colored image using RGB color 
model with 24 bit color depth. 
(c) Briefly explain Geometric Transformations. 

Q. 8. (a) Explain the following web concepts: 
(i) localStorage and sessionStorage objects 
(ii) Application cache in HTML5 
(iii) Manifest file 
(iv) Web Worker 
(b) What is SVG? What are the advantages of SVG over JPEG or GIF? 
(c) Explain Non Breaking space in HTML with example.