1. Program
Definition: A set of instructions that tell a computer how to perform a specific task.
Example: A calculator program that adds two numbers entered by the user.
Code Example:
public class Calculator { public static void main(String[] args) { int num1 = 5; int num2 = 3; int sum = num1 + num2; System.out.println("Sum: " + sum); } }Use Case: Any application or script designed to perform a specific function.
2. Software - Types: Desktop, Web, Mobile
Definition: Programs categorized based on their use and platform.
Example: Microsoft Word (Desktop), Facebook (Web), WhatsApp (Mobile).
Use Case: Addressing different computing needs on various devices.
3. Package
Definition: A collection of related classes and interfaces providing code organization.
Example: `java.util` package in Java for utility classes.
Use Case: Structuring code and avoiding naming conflicts.
4. Function/Method/Procedure
Definition: A self-contained block of code that performs a specific task.Example: A function that calculates the area of a circle.
Code Example:
def calculate_area(radius): return 3.14 * radius * radiusUse Case: Encapsulating reusable code.
5. API (Application Programming Interface)
Definition: A set of protocols and tools for building software applications.
Example: Twitter API for accessing tweets programmatically.
Use Case: Enabling communication between different software systems.
6. Library
Definition: A collection of pre-written code (functions, classes) for reuse.
Example: jQuery in JavaScript for DOM manipulation.
Use Case: Saving development time by using existing functionality.
7. Framework
Definition: A pre-built, reusable set of libraries and tools for software development.
Example: Django (Python) for web development.
Use Case: Providing a foundation for building applications.
8. IDE (Integrated Development Environment)
Definition: A software application providing comprehensive facilities for programming.
Example: Eclipse, Visual Studio.
Use Case: Code editing, debugging, and project management.
9. Domain Name
Definition: A human-readable address for a website.
Example: www.example.com
Use Case: Identifying and accessing websites on the internet.
10. Hosting
Definition: Providing server space to make a website or application accessible on the internet.
Example: Hosting a website on AWS, Heroku.
Use Case: Making web applications publicly available.
11. Database
Definition: A structured collection of data stored electronically.
Example: MySQL, PostgreSQL.
Use Case: Storing and retrieving data for applications.
12. Deployment
Definition: The process of making a software application available for use.
Example: Deploying a web application on a server.
Use Case: Releasing software for users to access.
13. Maintenance
Definition: Ongoing tasks to keep software running smoothly.
Example: Updating software to fix bugs.
Use Case: Ensuring software reliability and security.
14. Build
Definition: The process of compiling and linking source code into an executable program.
Example: Using Maven or Gradle to build a Java project.
Use Case: Creating an executable from source code.
15. Design Patterns
Definition: General reusable solutions to common problems in software design.
Example: Singleton, Observer.
Use Case: Promoting best practices in software development.
16. Version Control
Definition: The management of changes to documents, programs, and other collections of information.
Example: Git, SVN.
Use Case: Collaborative development, tracking changes.
17. SDLC (Software Development Life Cycle)
Definition: The process of planning, creating, testing, deploying, and maintaining software.
Example: Phases - Planning, Design, Development, Testing, Deployment, Maintenance.
Use Case: Structured approach to software development.
18. Compilation
Definition: The process of translating source code into machine code or a lower-level programming language.
Example: Compiling Java code to bytecode.
Use Case: Generating executable code from source.
19. Execution
Definition: The period when a program is executing its instructions.
Example: Running a compiled program.
Use Case: Carrying out the tasks defined in the code.
20. Syntax
Definition: The set of rules that dictate the combinations of symbols considered correctly structured programs.
Example: Proper placement of semicolons in JavaScript.
Use Case: Ensuring code is correctly written.
21. Syntax Error
Definition: Errors in the structure of code that violate the rules of the programming language.
Example: Forgetting to close a parenthesis in a function call.
Use Case: Identifying mistakes in code structure.
22. Logical Error
Definition: Errors in the logical flow of a program, causing unexpected results.
Example: Incorrect calculation in a mathematical operation.
Use Case: Debugging to find and fix logical mistakes.
23. Exception
Definition: An abnormal event or runtime error during program execution.
Example: Dividing by zero.
Use Case: Handling unexpected situations in code.
24. Bug/Error
Definition: An unintended flaw or issue in the code.
Example: A button not responding as expected.
Use Case: Identifying and fixing issues in the software.
25. Debugging
Definition: The process of finding and fixing errors (bugs) in code.
Example: Using breakpoints in an IDE to step through code.
Use Case: Ensuring code functions as intended.
26. Variables
Definition: Symbolic names given to memory locations storing values in a program.
Example: `int age = 25;`
Use Case: Storing and manipulating data in code.
27. Constants
Definition: Values that do not change during program execution.
Example: `final int MAX_SIZE = 100;`
Use Case: Defining fixed values in code.
28. Algorithm
Definition: A step-by-step procedure or formula for solving a problem or accomplishing a task.
Example: Sorting a list of numbers using the Bubble Sort algorithm.
Use Case: Solving specific problems through a defined process.
29. Algorithm Time Complexity
Definition: The measure of the efficiency of an algorithm in terms of time.
Example: O(n) for linear time complexity.
Use Case: Assessing the performance of algorithms.
30. Algorithm Space/Memory
Definition: The measure of the efficiency of an algorithm in terms of space or memory usage.
Example: O(1) for constant space complexity.
Use Case: Evaluating the memory efficiency of algorithms.