University of Mumbai
Program: Information Technology
                         Curriculum Scheme: Rev2019 ‘C’ Scheme
                               Examination: SE Semester III
                       Course Code: ITC305 and Course Name: PCPF
Time: 2 hour 30 minutes                                  Max. Marks: 80
=====================================================================
=====================================================================
            Choose the correct option for following questions. All the Questions are
  Q1.
            compulsory and carry equal marks
   1.       Which is NOT, one of the standard Haskell type
Option A:   Booleans
Option B:   Lists
Option C:   Tuples
Option D:   Structures
   2.       In simple Prolog implementation, which type refers to a symbol which represents
            a value like "a" or "b".
Option A:   Boolean
Option B:   Variable
Option C:   Atom
Option D:   Real
   3.       What is the use of '=' in prolog programming?
Option A:   Unification
Option B:   Arithmetic Evaluation
Option C:   Reduction
Option D:   None of the above
   4.       What is the use of 'is' in prolog programming?
Option A:   Unification
Option B:   Arithmetic Evaluation
Option C:   Reduction
Option D:   None of the above
   5.       Why We Use Prolog Programming Language?
Option A:   SWI-Prolog is free, open-source, and very well maintained.
Option B:   It’s much much easier to distribute SWI-Prolog applications than Java ones
Option C:   Prolog is much less verbose,which is helpful when during development.
Option D:   All of the above
   6.       While implementing synchronization, in which method a thread runs a loop which
            keeps reevaluating particular conditions until that condition becomes true.
Option A:   chaining
Option B:   blocking
Option C:   clocking
Option D:   busy-wait
                                                                                         1 | Page
   7.       Mnemonics to machine language translation is job of a System Program known as
            _______________
Option A:   converter
Option B:   processor
Option C:   assembler
Option D:   debugger
   8.       Which of the following is not one of the six principal mechanisms for thread
            creation in language or library.
Option A:   Co-begin
Option B:   Fork
Option C:   Implicit receipt
Option D:   Finally
   9.       Which of the following statements is TRUE about scripting languages?
Option A:   Scripting languages requires the declaration of types for variables.
Option B:   Most scripting languages perform extensive compile-time checks to make sure
            that values are never used in inappropriate ways
Option C:   Some scripting languages even store numbers as strings, so calculations may not
            always be what you expect, although most auto-converting if needed.
Option D:   Scripting languages do not handle the type errors and require the programmer to
            check for these errors if they require to.
   10.      Image 3 shows the haskell code. Which of the following options represents
            correct output when main is executed?
Option A:   [20, 21, 22, 23, 24, 26, 27, 28, 29, 30]
            [25]
Option B:   [20, 21, 22, 23, 24, 26, 27, 28, 29, 30]
            25
Option C:   [21, 22, 23, 24, 26, 27, 28, 29]
            [25]
Option D:   20, 21, 22, 23, 24, 26, 27, 28, 29, 30
            25
                                                                                     2 | Page
Q2   Solve any Four out of Six                              5 marks each
     Explain What are Facts, Rules & Queries in Logic Programming with
A
     example.
B    Explain Life Cycle of Thread.
     Explain the different communication and synchronization techniques in
C
     concurrent programming model.
     What are Scripting Languages? List common characteristics of
D
     Scripting Languages.
E    What mathematical formalism underlies functional programming?
F    Write a note on Naming and Scoping rules for scripting languages.
Q3   Solve any Two Questions out of Three                 10 marks each
     What is Data Hiding in Object Oriented Programming Paradigm?
A
     Describe how data hiding is implemented in C++ or Java.
     Define Haskell function that inputs one operator +,-,*,^ and two
     operands which may be Int, Integer, Float or Double. The function will
     perform the operation and computes the result. Clearly mention the
B
     type signature for the function.
     Note: Students are not expected to write the main function and do user
     IO.
     Explain the different communication and synchronization techniques in
C
     Concurrent Programming model.
     Solve any Two Questions out of Three                 10 marks each
Q4
     What is type checking and type clash? What do you mean by statically
A    typed and strongly typed programming language? List any two
     statically typed languages.
     Explain following terms: Concurrent system, Parallel system,
B
     Distributed system, Race condition, Context switching.
     What is the role of an Exception Handler in a programming language?
C
     Briefly explain important tasks it performs.
                                                                    3 | Page