Comp Science I Mar 2022
Comp Science I Mar 2022
(a) Discuss what was revised in the BSD 3-clause license. Also name 5 software applications that are currently
using this license. (10)
(b) Describe any two of the following briefly: HTML, Digital Image Processing (DIP), TCP and RISC. (6)
(c) Write a note on computer crimes and ethical challenges. (4)
Question 3
(a) Write a program in C/C++ to convert a decimal number to binary number. (8)
(b) What is the difference between volatile and non-volatile memory? If you were to store company
archives, which memory would you prefer to store it at? (8)
(c) Write a C++ program that takes a number from the user and displays whether the number is divisible by
2 or not. (4)
Question 4
(a) Explain OOP principles in detail. What will happen if we remove inheritance as a principle? (10)
(c) You have been given the task to renovate the campus system of a university by designing software that
utilizes classes. The software should allow students to register for courses. It should allow teachers to
schedule classes on their own according to their free time. The teachers should also be able to view the
profiles of students and give marks for assignments and deliverables. The administration of the university
should be able to hire or fire teachers based on the reviews of students. Define suitable classes and suitable
attributes in C++ syntax. You do not have to implement any member procedures. (6)
Question 5
(a) If there are 300 nested loops, and each loop runs for 100 times, what is the time complexity of this
algorithm? (6)
(b) What is the difference between binary search and linear search? (8)
(c) Describe the process of Quicksort. What is the time complexity of Quicksort? (6)
Section B
Question 6
(a) Create State Transition Table from the following graph: (8)
(b) Consider the following graph. Find out the sequence of edges added to the minimum spanning tree using
Kruskal’s algorithm. (8)
(c) What data structure would you use for searching from a list of numbers? Explain with reasoning. (4)
Question 7
(a) Explain recursion in detail. Give two examples where recursion is useful. (8)
(b) When would you prefer to use graphs over linked trees? (6)
(c) Write Abstract Data Types (ADT) of a Queue and explain with reasoning why the data structure of a
Queue is important. (6)
Question 8
(a) Explain SCRUM, the agile development methodology in detail. (8)
(b) 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.
(6)
(c) What type of project is not suited to incremental methods? (6)
***************
Best of Luck for CSS-2022