CSS Computer Science 2017

CSS past paper Computer Science 2017.

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

(i) Part - II is to be attempted on the separate Answer Book.
(ii) Attempt ONLY FOUR questions from PART - II. ALL questions carry EQUAL marks.
(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.
(iv) Extra attempt of any question or any part of the attempted question will not be considered.

                                                                                            PART - II


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? (8)
(b) Describe the difference between Harvard and Non-Neumann architechture of computers. In this light discuss their traits in light of their capabilities. (6)
(c) Visual 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. (6)

Q. 3 (a) The 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 in to Machine language. (8)
(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 you are required to create a program for a supermarket checkout machine. The machine has a database of the items available in the supermarket whcih consists of the item 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 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. (8)
(b) Differentiate between Software Validation and Verification. Discuss some of the techniques used for empirical software evaluation. (6)
(c) Discuss the importance of Requirements Engineering in the success of a software project. Explain in detail the process of 'Requirements Sign-off'. (6)

Q. 5 (a) Draw and build a Red-black tree for the following keys (50, 60, 70, 80, 90) and (50, 40, 50, 20, 10). Would a binary tree be suitable for the insertion of these keys? (8)
(b) Hash tables enable for fast insertion and searching within the database. Describe the process of hashing with a suitable example. (6)
(c) Describe the process of Bubble Sorting. Write down the output after each pass of the Bubble Sort algorithm for sorting the sequence (3, 8, 2, 6, 1, 10). (6)


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 approaches. (8)
(b) Describe the design issues of Task Partitioning and Task Allocation in Distributed Software engineering tasks. (6)
(c) Explain the importance of Design Patterns under the umbrella of Agile software design and programming. Explain Software Testing and different methodologies. (6)

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

Q. 8 Write notes on any FOUR of the following (5 each) (20)
(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