1) What do you understand by a computer system?
A computer system is a set or combination of integrated devices such as input devices, output devices, memory, CPU, and peripheral devices connected to it and the Operating System. It is used to process and store data and information.
Nowadays, computer systems are built around at least one digital processing device. There are five main hardware components in a computer system: Input, Output, Processing, Storage, and Communication devices.
2) What is a file?
A file is one of the basic components of computer science. A file can be defined as a location that stores information and data. Files keep data and information permanently or until the user deletes them. Files are always stored inside a storage device using the name given to the file.
3) What are the main components of a computer system?
Following are the three main components of a computer system:
CPU (Central Processing Unit): It includes the control unit (CU) and arithmetic logic unit (ALU).
CPU = CU + ALU
Memory: It includes memory like primary memory (RAM) and secondary memory (SSD).
Input and output devices: It includes input and output devices like keyboard, mouse, monitor, printer scanner, etc.
4) What do you understand by a class and a superclass?
Class and superclass are two important terms used mainly in Object-Oriented computer programming. In Object-Oriented programming languages such as Java and C++, a class is used to define the characteristics of an object. It specifies how they will respond to a message and what type of message the object will respond to.
In other words, we can say that a class that we have derived from another class is called a subclass. It is also called a derived class, extended class, or child class. The class from which the subclass is derived is called a superclass. It is also called a base class or a parent class. A superclass is the basis of the class being considered.
5) What is a processor in computer systems, and why is it used?
A processor is a chip or a logical circuit used to respond and process the basic instructions to drive a particular computer. The main functions of a processor are to fetch, decode, execute, and write back the operations of an instruction. A processor is also known as the brain of any system which incorporates computers, laptops, smartphones, embedded systems, etc.
A processor contains two important parts called ALU (Arithmetic Logic Unit) and CU (Control Unit). The Arithmetic Logic Unit performs all mathematical operations such as additions, multiplications, subtractions, divisions, etc. The Control Unit is used to work like traffic police as it manages the command or the operation of the instructions. The processor is responsible for communicating with the other components such as input/output devices and memory/storage devices.
6) What are some most popular computer processors used in computer systems?
The most popular Intel computer processors are:
Intel Celeron
Intel Pentium
Intel Core i3
Intel Core i5
Intel Core i7
Intel Core i9
The most popular AMD computer processors are:
AMD Ryzen 5
AMD Ryzen 7
7) What are the most popular operating system used in computer systems?
Following is the list of some most popular operating systems used in computer systems:
Microsoft Windows
macOS
Linux
8) What is the meaning of a programming language?
As a language is required to communicate with a person, we need a specific language similar to communicating with computers. This type of language is called programming language. A programming language is a set of grammar rules for giving computers or computing devices instructions to perform and achieve a specific task. Different types of programming languages are used in computer systems to implement algorithms. Programming languages are mainly used to develop desktop applications, websites, and mobile applications.
9) What is the full form of SDLC? Why is it used?
SDLC is an acronym that stands for Software Development Life Cycle or Systems Development Life Cycle. It is a pictorial and diagrammatic representation of the software life cycle. It is also known as the Software Development Process Model. The software industry uses the SDLC process to design, develop and test high-quality software. The main aim of SDLC is to produce high-quality software that meets the customer expectations, reaches completion within time, and estimates the cost. The SDLC process is followed by a software project within a software organization. It consists of a detailed plan describing developing, maintaining, replacing, altering, or enhancing specific software.
Software Development Life Cycle or SDLC involves the following stages:
Requirement Analysis/ Planning
Defining
Design
Construction / Coding
Testing
Deployment
Maintenance
10) What are the most commonly used programming languages nowadays?
There are several programming languages used by the industries such as education, hospitals, banks, automobiles, etc. Following is the list of some most widely used programming languages:
C Language: C is a simple, popular, and flexible general-purpose programming language developed by Dennis M Ritchie in 1972 at AT&T Bells laboratory. It is called a mid-level programming language as it combines both a low-level programming language and a high-level programming language. C programming language is mainly used to design applications such as Text Editors, Compilers, Network devices, etc.
Java Programming Language: Java is a simple, secure, reliable, platform-independent, architecture-neutral, high-level programming language developed by Sun Microsystems in 1995. Java is mainly used to develop banking software, retail software, information technology, android, big data, the research community, web and desktop applications, etc. Now, Java is owned by Oracle.
Python Programming Language: It is an open-source and easy-to-learn programming language developed in the 1990s. Python is one of the most widely used user-friendly programming languages and is mostly used in Machine learning, Artificial intelligence, Big Data, GUI-based desktop applications, and Robotics.
C++ Language: It is pronounced as C plus plus. It is one of the thousands of programming languages we use to develop software. Bjarne Stroustrup developed the C++ programming language in 1980. It is similar to the C programming language but also includes additional features such as exception handling, object-oriented programming, type checking, etc.
C# Programming Language: It is pronounced as C sharp. It is a modern, general-purpose, object-oriented programming language used with XML-based Web services on the .NET platform. It is mainly designed to improve productivity in web applications. It is easier to learn for those users who have sufficient knowledge of common programming languages like C, C++, or Java.
JavaScript Language: It is a scripting language used on both the client-side and a server-side. It is developed in the 1990s for the Netscape Navigator web browser. It allows programmers to implement complex features to make web pages alive. It helps programmers create dynamic websites, servers, mobile applications, animated graphics, games, and more.
PHP Programming Language: PHP stands for Hypertext Preprocessor. It is an open-source, powerful server-side scripting language mainly used to create static and dynamic websites. Rasmus Laird developed it in 1994. Inside the php, we can also write HTML, CSS, and JavaScript code. To save php file, file extension “.php” is used.
R Programming Language: R is one of the popular programming languages used in data analytics, scientific research, machine learning algorithms, and statistical computing. It helps marketers and data scientists easily analyze, present, and visualize data. It was developed in 1993 by Ross Ihaka and Robert Gentleman.
Go Programming Language: Go programming language or Golang is an open-source programming language. It is used to build simple, reliable, and efficient software. It was developed by Robert Griesemer, Rob Pike, and Ken Thompson in 2007.
Ruby Programming Language: It was an open-source, general-purpose, and pure object-oriented programming language released in 1993. It is used in front-end and back-end web development. It is mainly designed to write CGI (Common Gateway Interface) scripts.
11) What is a constructor in an object-oriented programming language?
In a class-based object-oriented programming language, a constructor is a special method in the class that is automatically called when the object of that class is created. The constructors have the same name as the class, and they usually initialize the data members of the new object. A constructor is very similar to an instance method, but the difference between the constructor and the method is that the constructor has no explicit return type, it is not implicitly inherited, and it usually has different rules for scope modifiers.
If you do not write a constructor in your program, the first thing the object does when it is created is that it looks for a constructor. Java automatically creates a default constructor and calls it if it doesn’t find the constructor.
Here, we are talking about Java (A popular object-oriented programming language). Let’s take an example to understand it well. There are two rules to write a constructor:
Class name and Constructor name should be the same.
It should not have any return type.
Example:
Suppose we have a class named Vehicle.java. It is a java class that only has a constructor in it. Here, we must remember that there is no return type, and the name should match the class name.
Vehicle.java
// Vehicle.java
public class Vehicle{
public Vehicle(){
System.out.println(“This is an example of default constructor”);
}
}
Main.java
// Main.java
public class Main{
public static void main(String[] args){
Vehicle vehicle = new Vehicle();
//when vehicle object is created, it directly calls Vehicle()
//constructor
}
}
Output:
This is an example of a default constructor
12) What is superclass in the Java programming language?
In the Java programming language, a superclass is a class from which many subclasses can be derived. It acts as a superior class, and the subclasses inherit all the characteristics of the superclass. For example, a superclass vehicle may have subclasses or child classes such as Bike, Car, Truck, Bus, etc. The superclass is also known as the parent class or base class.
13) What are the different OOPs principles in Java?
Every Object-oriented programming language follows the principle of OOPs. OOPs is an acronym that stands for Object-Oriented Programming System. In Java programming language, the basic OOPs principles are as follows:
Inheritance
Polymorphism
Abstraction
Encapsulation
Before learning the core principles of OOPs, we must learn about the basic concepts of Object-Oriented programming language. Object-Oriented Programming is a methodology or paradigm to design a program using classes and objects. Here, an object is an entity that has a state and behavior. For example, a chair, table, laptop, bike, pen, pencil, keyboard, etc., are examples of an object. It can be physical or logical. We can define an object as an instance of a class. An object contains an address and takes up some space in memory.
Example: A cow is an object because it has states like color, name, breed, etc., and behaviors giving milk, eating, etc.
On the other hand, a class is the collection of objects. It is a logical entity. We can define a class as a blueprint from which we can create an individual object. Class doesn’t consume any space.
Inheritance
In Java, Inheritance is the procedure in which one class inherits or acquires all the properties and behaviors of another class. The class whose properties and methods are inherited is called the parent class, and the class which inherits the properties and behaviors is called the child class. Inheritance is used to achieve runtime polymorphism. It also provides code reusability.
Polymorphism
Polymorphism is one of the most important concepts of object-oriented programming language. Polymorphism is the ability to perform a task differently or process data in more than one form. The word “Polymorphism” is made of two words poly and morphism. Here, poly means many, and morphism means types. In Java, method overloading and method overriding are used to achieve polymorphism.
Abstraction
Abstraction is a process of hiding internal details and showing functionalities only. It shows only essential attributes and hides unnecessary information from the users. For example, a phone call; here, the users don’t know about the internal processing.
Encapsulation
Encapsulation is a process of binding or wrapping up data together into a single unit. It is the mechanism that binds together code and the data it manipulates. In other words, we can say that encapsulation acts as a protective shield that prevents the data from being accessed by the code outside this shield. A java class is an example of encapsulation.
14) What do you understand by IDE?
IDE is an acronym that stands for Integrated Development Environment. It is a GUI-based software program or application that provides comprehensive facilities to the computer programmers for software development. An IDE normally contains at least a source code editor, build automation tools, and a debugger and helps programmers to build applications with all the needed programs and libraries.
In other words, we can say that IDE is software for building applications that combines common developer tools into a single graphical user interface (GUI).
15) What is multithreading in an Operating System?
Multithreading is an ability of a program or an operating system process to manage its use by more than one user at a time and even manage multiple requests by the same user without having multiple copies of the programming running on the computer. The multithreading architecture facilitates a central processing unit to provide multiple execution threads simultaneously. This approach is completely different from multiprocessing.
16) What is a framework in programming?
A framework is a platform or software developed and used by developers to build software applications. It can be used to process inputs, manage hardware, and interact with system software. It provides the basis on which web developers can build programs for a specific platform. For example, a framework can have predetermined classes as well as functions.
Frameworks are often built, tested, and optimized by several experienced software engineers, programmers, and web developers. That is why software frameworks are versatile, robust, and efficient. If you use a software framework to develop applications, it facilitates you to focus on the high-level functionality of the application. This is because the low-level functionalities are taken care of by the framework itself.
17) Which programming language should we learn, first C or C++?
C and C++, both languages, are introduced at the new school-level syllabus. Both are easy to learn. C is a great option for those who want to learn systems-level programming. Once you get familiar with procedural programming in the C language, you can move on to learn the C++ programming language. If you are already familiar with OOPs concepts or have some knowledge of Java, you can easily learn C++, and it would be better.
18) What is the key difference between Abstract class and Interface?
Following is the list of key differences between Abstract class and Interface:
Abstract class
Interface
An Abstract class does not support inheritance of any type.
The Interface supports multiple inheritance.
In Abstract class, we can use abstract and non-abstract methods.
In Interface, we can use only abstract methods. Since Java 8, it supports default and static methods also.
An Abstract class can have final, non-final, static and non-static variables.
An Interface can have only static and final variables.
An abstract class contains a constructor.
The Interface does not contain a constructor.
An Abstract class can provide the implementation of Interface.
The Interface cannot provide the implementation of an abstract class.
An abstract class is declared using the “Abstract” keyword.
The Interface is declared using the “interface” keyword.
An Abstract class can extend another Java class and implement multiple Java interfaces.
An interface can extend to another Java interface only.
An Abstract class can be used with all access modifiers.
An Interface can be used with only public access modifier.
An abstract class can be extended using the keyword “extends”.
An Interface can be implemented using the keyword “implements”.
An Abstract class in Java can have class members like private, protected, etc.
Members of a Java interface are public by default.
19) What are the key differences between C and C++ programming languages?
A list of key differences between C and C++ programming languages:
C
C++
C is a Procedural Programming language (Also called Procedure-Oriented language). So, it does not support polymorphism, encapsulation, abstraction, and inheritance.
C++ is an Object-Oriented Programming language, so it supports polymorphism, encapsulation, abstraction, and inheritance.
Dennis Ritchie developed the C language between 1969 and 1973 at AT&T Bells Laboratory.
Bjarne Stroustrup developed the C++ programming language in 1979.
C language is a subset of C++ language.
C++ language is a superset of C language.
C language follows the Top-Down programming approach.
C++ follows the bottom-up programming approach.
In the C programming language, a big program code is divided into small pieces called functions.
In the C++ programming language, a big program code is divided into Objects and Classes.
In the C programming language, the file extension is .c.
In C++ programming language, the file extension is.cpp.
C follows procedural programming for the development of code. It is also called mid-level programming language as it follows some features of high-level programming language and some features of low-level programming language.
C++ is called hybrid language because it supports procedural and object-oriented programming paradigms.
There are 32 keywords in the C programming language.
There are 63 keywords in the C++ programming language.
C language does not support information hiding.
In C++, data is hidden by Encapsulation to ensure that data structures and operators are used as intended.
C supports only built-in data types.
C++ supports built-in as well as user-defined data types.
C is a procedural programming language, so data and functions are separated.
C++ is an object-oriented programming language, so data and functions are encapsulated together in the form of an object in C++.
C is a procedural programming language, and it is also a function-driven language.
C++ is an object-oriented programming language, so it is also called an object-driven language.
C language does not support function and operator overloading.
C++ language supports function and operator overloading.
C language is a function-driven language.
C++ language is an object-driven language.
In C language, functions cannot be defined inside structures.
In C++, functions can be used inside a structure.
C does not support Namespace features.
C++ language uses Namespace, which avoids name collisions.
Header file used by C is stdio.h.
Header file used by C++ is iostream.h.
C does not support Reference variables. C++ supports Reference variables.
C does not support virtual and friend functions.
C++ supports virtual and friend functions.
C language mainly focuses on method or process instead of focusing on data.
C++ mainly focuses on data instead of focusing on method or procedure.
In C, malloc() and calloc() functions are used for dynamic memory allocation, and free() for memory de-allocation.
In C++, a new operator is used for memory allocation and a delete operator for memory de-allocation.
Exception handling is not directly supported by C.
C++ supports exception handling.
In C language, scanf() and printf() functions are used for input/output.
In C++, cin and cout are used for input/output.
C structures don’t have access modifiers.
C++ structures have access modifiers.
C structure does not provide the feature of a function declaration.
C++ structure provides the feature of declaring a function as a member function of the structure.
20) What do you understand by artificial intelligence?
As the name suggests, artificial intelligence or AI is intelligence demonstrated by machines just opposite the natural intelligence displayed by animals and human beings. It is also known as machine intelligence. The main aim of artificial intelligence is to solve problems in a better and faster way than humans. In this field, scientists make smart machines capable of performing tasks.
According to the leading AI textbooks, this field is defined as studying “intelligent agents”. “Any system that perceives its environment and takes actions that maximize its chance of achieving its goals, is called artificial intelligent system.”
Leave a Reply