Skip to content
All Computer Science Paper I papers

CSS past paper

CSS Computer Science Paper I Past Paper 2018

CSS Computer Science Paper I 2018 carries 100 marks over 3 hours. It has 7 questions.

Marks
100
Time
3 hours
Questions
7

How to attempt: Attempt ONLY FOUR questions from PART-II by selecting TWO questions from EACH SECTION.

Questions

Question 1 (Part I) is the paper's MCQs, which are not reproduced here.

SECTION-I

  1. Q. 2
    • (a)
      How many layers are in the TCP/IP stack? What are the names?
      (4)
    • (b)
      How digital evidences can be preserved from a crime scene. Write in details by taking examples of digital devices commonly used these days.
      (4)
    • (c)
      What are the responsibilities of Operating system kernel?
      (3)
    • (d)
      List down any four best practices for coding standards.
      (3)
    • (e)
      Why do modern processors use more power when their clock frequency is increased?
      (2)
    • (f)
      Ali is telling Ahmad that he is representing a -ve number and its most significant bit is 1, Ahmad immediately shouted you are representing numbers using 2's compliment. True or False. And why?
      (2)
    • (g)
      If time slice is of 50 milliseconds and context switch requires a microsecond, how many processes can the machine service in a second?
      (2)
  2. Q. 3
    • (a)
      Write a program grade average calculator, User will input marks for five subjects and program will output the average of its marks. Print appropriate message on the base of its mark's average e.g.; Well done, Keep it up, Better luck next time etc.
      (5)
    • (b)
      Given that i,j,k,n & m are integer variables. Write a condition such that:
      (2)
      • (i)
        hello is only printed when, any of the following conditions are met: i is twice the value of j, j is smaller than k and less than n, or m is negative.
        inti,j,k,n,m; cin>>i>>j>>k>>n>>m;
         if(           )
         cout<<”hello”;
      • (ii)
        hello is only printed when i does not lies in the interval 6-9
        inti; cin>>i;
            if(         )
            cout<<‟hello”;
    • (c)
      Write equivalent instruction to following instruction without the use of += operator: where w,z are integers.
      (1)
      w+=2*z+4;
    • (d)
      Predict the values of variables a & b after every instruction
      (2)
      integer a=5 b=6
      a=(b++) + 3;
      b=--a;
    • (e)
      Complete the code such that it prompts the user for +ve number n. Then displays the output.(whatever the value of n is)(HINT: instead of triangles of stars its triangles of increasing numbers)[marks
      (5)
      1 2 3 4 . . . n
      1 2 3 4 ..n-1
      . . .
      . . .
      1 2
      1
      for n=4 it will print
      1 2 3 4
      1 2 3
      1 2
      1
      void main()
      {
      int n; cin>>n;
      // your loops will go here
      
      }
    • (f)
      In following code replace the character at posth \text{pos}^{\text{th}} location in the string st with the ,character ch. For example in string helloworld replacing 2nd character with i would result in hilloworld
      (5)
      void main( )
      {char st[15]; int pos; char ch;
      int size=0;
      cin>>st;
      cin>>pos>>ch;
      while(st[size]!='\0')
      {
      size++; // calculating length of current string
      }
      // write your code here
      
      }
  3. Q. 4
    Consider the inheritance hierarchy shown below. Each part of this question is independent.
    Class inheritance hierarchy: A is the base class with two children B and C; C in turn has two children D and E.
    • (a)
      In which class(es) would it make most sense to have protected members? Which class(es) would be able to access those protected members directly?
      (5)
    • (b)
      Which class(es) can access private members of class C directly?
      (5)
    • (c)
      Suppose class C contains a pure virtual function. Suppose we wish to instantiate objects of this hierarchy. Which class(es) are or could be abstract and which are concrete?
      (5)
    • (d)
      Consider the following list of classes: Car, SteeringWheel, Vehicle, Van, Minivan, AudioSystem, ParkingLot. Your task is to describe all of the is-a and has-a relationships between these classes. Include an inheritance hierarchy for all classes that fit. Fill in the table with is-a or has-a relationship while leaving the cells empty where no relation is applicable.
      (5)
      VehicleCarVanMini VanSteering WheelAudio SystemParking Lot
      Vehicle
      Caris-a
      Van
      Mini Van
      Steering Wheel
      Audio System
      Parking Lot

SECTION-II

  1. Q. 5
    • (a)
      What is dangling pointer?
      (3)
    • (b)
      What data structure would employ to build a text editor and why?
      (5)
    • (c)
      Random insertion of nodes into a binary search tree would result in what types of tree shape. Elaborate.
      (7)
    • (d)
      How would you modify a link list based queue so that first and last node can be accessed in a constant time regardless of data nodes in the queue?
      (5)
  2. Q. 6
    • (a)
      Define balanced tree both for AVL and Binary search tree.
      (4)
    • (b)
      What is informed or heuristic search what type of algorithm is used to do such a search?
      (6)
    • (c)
      Differentiate between graph and trees. Which is special case of the other?
      (5)
    • (d)
      Explain what type of problems can be solved by genetic algorithm.
      (5)
  3. Q. 7
    • (a)
      Outline the difference between software verification and software validation.
      (4)
    • (b)
      Give an outline of the unit testing process for verification.
      (4)
    • (c)
      Agile Development is a process that values responding to change over following a plan. Discuss three issues a Software Engineer should be mindful of when adopting this approach during software development.
      (4)
    • (d)
      What type of project is not suited to incremental methods?
      (4)
    • (e)
      Outline the difference between Black box and White box testing.
      (4)
  4. Q. 8
    • (a)
      What is the difference between lexers and parsers?
      (5)
    • (b)
      Write a grammar (BNF) for the language of palindromes.
      (5)
    • (c)
      Here DFA is given for the language L find the DFA for L2 L^{2}
      (5)
      DFA with start state q0, accepting state q1 (double circle) and state q2: q0 loops on a, q0 goes to q1 on b, q1 goes to q2 on a, b, and q2 loops on a, b.
    • (d)
      Convert the following DFA to a RE:
      (5)
      DFA with states 1 to 5, start state 1 and accepting state 5 (double circle). Forward edges: 1 to 2 on 3, 2 to 3 on 3, 3 to 4 on 3, 4 to 5 on 3; 1 to 3 on 6, 2 to 4 on 6, 3 to 5 on 6. Backward arcs drawn below the states, labeled 6, 6 and 3: 4 to 2, 5 to 3 and 5 to 2.
  1. Part-II is to be attempted on the separate Answer Book.
  2. Attempt ONLY FOUR questions from PART-II by selecting TWO questions from EACH SECTION.
  3. All the parts (if any) of each Question must be attempted at one place instead of at different places.
  4. Candidate must write Q. No. in the Answer Book in accordance with Q. No. in the Q.Paper.
  5. No Page/Space be left blank between the answers. All the blank pages of Answer Book must be crossed.
  6. Extra attempt of any question or any part of the attempted question will not be considered.