Define 'algorithm' in computer science
Step-by-step procedure or formula for solving a problem
Define 'static' keyword usage
Associates a method or variable with a class, rather than an instance
Describe 'cryptocurrency'
Digital or virtual currency that uses cryptography for security and operates independently of a central bank
Define 'software engineering'
Application of engineering principles to software development in a systematic method
Define 'polymorphism' in object-oriented programming
Ability of different classes to respond to the same method call in different ways
Define 'race condition'
Behavior where the output depends on the sequence and timing of uncontrollable events
Describe 'encapsulation' benefit
Improves maintainability, flexibility, and security by hiding internal state and behavior
Define 'serialization' in Java
Process of converting an object's state into a byte stream for storage or transmission
Define 'interface' in Java
Abstract type used to specify a method that must be implemented by a class
Describe 'compile-time error'
Error detected by the compiler, preventing the program from being compiled
Describe 'bubble sort' algorithm
Repeatedly steps through list, compares adjacent elements and swaps them if in wrong order
Describe 'functional programming'
Programming paradigm where programs are constructed by applying and composing functions
Define 'Internet of Things (IoT)'
Network of physical objects embedded with sensors, software, and other technologies to connect and exchange data
Define 'Java Memory Model'
Specification dictating how threads interact through memory and how changes are communicated
Define 'Java package'
Namespace mechanism to group related classes and interfaces, avoiding naming conflicts
Define 'data structure'
A way of organizing and storing data in a computer so that it can be accessed and modified efficiently
Define 'computer graphics'
Field of computer science that focuses on creating images and animations from digital data
Define 'concurrency' in computer science
Ability of a system to run multiple parts of a program, or multiple programs, at the same time
Define 'linked list'
Data structure consisting of nodes, each containing data and a reference to the next node
Define 'object' in OOP
Instance of a class, containing data and methods to manipulate data
Describe 'abstraction' in programming
Process of hiding complex implementation details and showing only essential features
Define 'database normalization'
Process of structuring a database to reduce data redundancy and improve data integrity
Describe 'heap' memory management
Area of memory used for dynamic allocation, where objects are stored and managed at runtime
Define 'composition' in OOP
Design principle where a class contains instances of other classes to reuse code
Define 'class loader' in Java
Part of JVM that loads binary classes into memory during runtime