Computer Science - ISC - Theory Questions
Computer Science - ISC - Theory Questions
Computer Science
Collection of Questions in VIVA
What is OOP?
A: Yes.
A: Binding up of data and associated functions together into a single unit called (class) is called
Encapsulation. In Java, it is implemented by the use of a class.
A: Act of representing only essential features without including its background details is called
Abstraction. Data Abstraction can also be defined as the process of hiding the implementation
details and showing only the functionality. In Java, it is implemented by the use of interfaces or
by making the class abstract.
A: It literally means the ability to take ‘more than one forms’. The ability of a method to behave in
more than one form is called polymorphism. In Java, it is implemented by method (function)
overloading (compile time polymorphism) and method overriding (runtime polymorphism).
A: The ability of a class to adopt/share the properties (data and functions) completely or partially
from another class is called Inheritance. In Java, it is implemented by the use of the keyword,
extends. Constructors and final methods cannot be inherited.
A: It is a very useful feature as it provides the concept of reusability. Also, it allows us to include
or remove any features to an existing class without modifying it.
What is significance of import java.io.* in your program?
A: The line imports all the classes of the java.io package into the current program.
Give some examples of packages. Define packages. How do you create a new package.
We create a new package by writing the package keyword with package name as the first line in
the class.
Why did you write java.util package? (only if you use classes like Scanner or
StringTokenizer)
A: To include the functions of the Scanner or StringTokenizer class from the java.util package.
What is a class?
What is an object?
A: Objects of a class can be created as by declaring it and then instantiating it using the ‘new’
operator as follows:
class-name object-name = new class-name();
Example: Point ob = new Point();
The above line creates an object of the Point class.
A: To activate the Buffer memory for efficient input and output operations. ‘br’ is an object of the
BufferedReader class.
A: Buffer is a temporary memory used for efficient input and output operations.
What is the function of readLine() method?
A: readLine() method reads a line of text (which you input) and returns the result in the form of a
String.
char c = sc.next().charAt(0);
A: So that it be accessible to the JVM which begins to execute the program from outside of the
class.
Non –static – instance, object variables, separate copy for each object (can use this keyword
only with instance variables)
Local : declared within a block of code ,scope restricted only in that block.
A: No it is not compulsory when we are running it in BlueJ. But normally (in all other cases) it is
always better to have it, as the JVM looks for the main method with a String array as a
parameter.
A: ‘out’ is an object of the ‘PrintStream class and a static data member of the’System’ class
which is calling the println() function.
What is the difference between print() and println() methods?
A: The print() functions prints a line and the control remains on the same line, whereas, the
println() function prints a line and the control moves on to the next line.
A: Exceptions are runtime errors which prevent the program from working normally.
A: Checked Exceptions – Exceptions which are checked (handled) during compile time by the
compiler.
Example: IOException.
Unchecked Exceptions – Exceptions which are not checked during compile time.
Example: ArrayIndexOutOfBound.
A: Java can handle exception using the try-catch block, throws keyword and throw keyword.
A: Using throws keyword, we can give system defined error message if any error occurs, while
using throw keyword, we can force an exception and give user-defined error messages.
A: try-catch block is a way to handle exceptions in Java. try contains a block of statements to
check for any error. If any error occurs within the try block, it is trapped. Further a report is
passed to the exception handler about the error, which is done by the catch block.
A: throw keyword.
A: Comments are statements which enhances the readability and understanding of the program.
They are not part of the program.
The different types are: single line (//….), multiple line (/* … */) and documenting comment
(/**….*/).
A: System is the name of a class present in java,lang package and hence it begins with a capital
letter as is the convention for class names.
What is a variable?
What is a constant?
A: A constant is a literal which cannot be changed. – declared using the final keyword.
A: By adding the keyword ‘final’ before a variable declarations. Example: final int a = 5;
A: Both postfix and prefix operators change (increase or decrease) the value of a variable by 1.
In postfix, the old value of the variable is first used and then the variable is updated to the new
value, whereas in prefix, the value of the variable is first updated to the new value and then this
new value is used.
A: Instance variables having the keyword ‘static’ before it is a class variable. For every object
there is just one copy of the variable made.
A: It returns the number of bytes read from the Input Stream as an integer.
A: The inputs in a java program comes in the form of String objects which are read using the
br.readLine() function. Now if we want the input in integer form, we have to convert it into integer
using the parseInt() function of the Integer wrapper class.
A wrapper class is a class which wraps (encloses) around a data type and gives it an object
appearance. Wherever, the data type is required as an object, this object can be used. 8 wrapper
classes : Integer, Character, Byte, Short, Long, Float, Double, Boolean
(a) Implicit Type Conversion: When the conversion takes place on its own without the
programmer’s intervention.
(b) Explicit Type Conversion: When the conversion takes place with the programmer’s
intervention.
A: Type Casting refers to Explicit type conversion i.e. When the conversion takes place with the
programmer’s intervention, whereas, Coercion refers to Implicit type conversion i.e. When the
conversion takes place on its own without the programmer’s intervention.
A:
(a) if can compare conditions for all data types whereas, switch can only check integers and
characters.
(b) all kinds of relations can be checked using if whereas only equality relation can be checked
using switch.
A: In the absence of ‘break’ keyword after a case in a switch-case construct, the control falls to
the next case. This is known as fall-through.
A: The difference lies in the way they are commonly used. for loop is commonly used when the
number of iterations are known whereas, while loop is commonly used when the number of
iterations are not known.
A: do-while lop is exit controlled (i.e. condition is checked at the exit) and runs at least once even
if the condition is false whereas, while loop is entry controlled (i.e. condition is checked at the
entry) and does not run even once if the condition is false.
What is recursion?
A: It is a process in which a function calls itself repeatedly until some base condition is satisfied.
What is the difference between recursion and iteration?
A: Recursion is usually slower than iteration due to overhead of maintaining stack, whereas,
Iteration does not use stack so it’s faster than recursion.
Recursion uses more memory than iteration, whereas, Iteration consume less memory.
A: return keyword is used to return any value from a function. It denotes the end of a function.
A: In function overloading only the function name is same but function signature (list of
parameters) is different, whereas, in function overriding both the function name as well as
function signature are same
Function overloading takes place within the same class, whereas, function overriding takes place
in a child and a parent class.
What is a constructor?
A: It is a member function with the same name as that of a class and is automatically called for
initializing the variables of an object.
A: It is a constructor which takes object as parameter and copies the value of the instance
variable of that object to another object (creates a copy of an object).
What is the default access specifier?
A: friendly
What is a modifier?
A: A modifier is a keyword placed in a class, method or variable declaration that changes how it
operates. Examples of modifiers are: abstract, final, static etc.
A: java.lang
A: It is used to refer to the current object (the object which calls the function).
A: Arrays are a collection of variables of the same data-type referenced by a common name.
A: It helps to group similar variables under a common name, hence reducing the number of
names of variables we have to remember.
What is StringTokenizer or Scanner and examples of similar classes (if you used it)
A: StringTokenizer or Scanner is a class which splits up any given string into tokens separated
by delimiters.
A: split() function is a function of the String class and it breaks up any String into tokens and
outputs the result in the form of an array.
A: This function is used to extract characters at any given index from a String.
A: length() function is used to find the number of characters present in a String, whereas, length
keyword is used to find the number if cells in an array.
A: break keyword stops the complete loop and takes the control out of the loop, whereas, the
continue keyword just stops the current iteration and takes the control to the next iteration.
A: In selection sort, successive rounds are executed to select the element which is required to be
placed in their sorted position, whereas, in bubble sort, every consecutive pairs of elements are
compared and interchanged as required to place them in their sorted position.
If we are arranging an array is ascending order, then in selection sort, we get the smallest
element at every pass, whereas, in bubble sort we get the largest element in every pass.
Linear search checks for the search item in a linear fashion from the beginning cell till the end,
whereas, Binary search repeatedly dividing the array into halves and the search takes place in
one of the halves. The element is searched in the middle cell of every half.
The Examiner may ask you to explain in brief the logic used you to solve the program.
You know what you have written so just give a brief summary of the logic used by you.
The Examiner may ask you to tell what is control variable in your loop.
So if your loop is for (int i = 1; i <= 5; i++) then the control variable is ‘i’.
The Examiner may ask you to tell what is the return type of a function you used.
A: It is a linear data structure which follows the FIFO (First In First out) pattern.
A: It is a linear data structure which follows the LIFO (Last In First out) pattern. Stack memory is
used in recursion.
Application: It can be used for reversing strings, for evaluating postfix expressions.
A: An abstract class is a class that is declared abstract—it may or may not include abstract
methods. Abstract classes cannot be instantiated, but they can be subclassed.
A: Keywords have a special meaning in a language, and are part of the syntax.
Reserved words are words that cannot be used as identifiers (variables, functions, etc.),
because they are reserved by the language.
Example: In Java, goto is a reserved word but not a keyword (as a consequence, you cannot
use it at all)
A: Violating naming rules will result in a syntax error, whereas, violating naming conventions will
not result in any error.
What error will be generated if a space is given between the logical AND operator (&&)?
Will it be a compile-time or a run-time error?
Example: if(5>2 & & 6<9)
A: It will give an “Illegal start of expression” error. It will be a compile time error.
A: Interface is like a class that contains declaration of methods and variables without the function
definition. It helps in implementing multiple inheritance.
A: It is a keyword which is used to access the data members and methods of the super class
from within the sub class.
What is complexity?
A: Time Complexity (Temporal COmplexity) : The measure of the total amount of computer
time taken to run for completion of an algorithm is known as time complexity.
Space Complexity:
The measure of the total amount of memory space needed to run for completion of an algorithm
is known as space complexity.
A: Call By Value : When a function is called by value, then the value of the actual parameter is
copied to the formal parameter (i.e. a separate copy is made). Any changes made with the
values of the formal parameter does not affect (change) the actual parameter.
Call By Reference : When a function is called by reference, then the reference(address) of the
actual parameter is sent to the formal parameter. Any changes made with the values at that
address of the formal parameter affects (changes) the value of the actual parameter.
Data Structures
Linear : each element is stored contiguous and there is only one way to traverse the elements.
Example: array, singled linked lists.
Non-Linear : each element is stored in random positions and there are multilple ways to traverse
it example: Binary tree, graphs
Static / Dynamic:
Static: Declaration of the data structure has to be done during compile time. Size is
predetermined and cannot be changed during execution: example, arrays
Dynamic : Data structure can be built during run time and size is not predetermined. Example:
linked lists