Programming
Programming terms and its definition.
58 pages
- Abstract Classa class that cannot be instantiated and may declare abstract methods for subclasses to implement.
- Abstract Factory design patternThe Abstract Factory design pattern is a creational design pattern that provides an interface for creating families of ...
- Abstractionan object-oriented concept of exposing only essential features of an object while hiding its implementation details.
- Adapter Design Patterna wrapper that converts one interface into another so incompatible classes can work together.
- Arraya data structure that stores a fixed number of same-type elements in contiguous memory, accessed by index.
- Asynchronous Programmingrunning slow tasks without blocking, using callbacks, Promises and async/await.
- Big-O Notationdescribes how an algorithm's time or memory grows with input size, e.g. O(1), O(log n), O(n), O(n²).
- Binary Searchan O(log n) algorithm that finds a value in a sorted list by repeatedly halving the search range.
- Binary Treea data structure where each node has at most two children; a binary search tree keeps values ordered for fast searching.
- Builder design patternA Builder design pattern is a creational design pattern that lets you construct complex objects step by step. The pattern allows you ...
- C Programming Languagea fast, compiled language with low-level memory control, used for operating systems and embedded systems.
- C#Microsoft's modern object-oriented language for .NET, used for web APIs, desktop apps, cloud services and Unity games.
- C++a high-performance compiled language that extends C with object-oriented programming, templates and a standard library.
- ClassIn object-oriented programming (OOP), a class is a template that defines the structure and behavior of objects. A class is a logical entity that encap...
- Closurea function that remembers variables from the scope it was created in, even after the outer function returns.
- Constructora special method that runs when an object is created and initialises its fields.
- Decorator Design Patternadds behaviour to an object at run time by wrapping it in objects of the same interface.
- Dependency Injectionpassing an object the dependencies it needs from outside, which keeps code loosely coupled and easy to test.
- Design PatternsIn software engineering, a design pattern is a general, repeatable solution to a commonly occurring problem in software design.
- Dynamic Programmingsolving overlapping subproblems once and reusing their answers, through memoization or tabulation.
- EncapsulationIn object-oriented programming (OOP), encapsulation is the concept of binding attributes (data members) and methods (functions) together as a...
- Exception Handlingcatching and handling run-time errors with try, catch and finally so a program does not crash.
- Factory PatternA factory pattern is a creational design pattern that defines an interface or abstract class for creating an object but lets the subclasses...
- Functional Programmingbuilding programs from pure functions and immutable data, with higher-order functions like map and reduce.
- Garbage Collectionautomatic memory management that frees objects a program can no longer reach, used by Java, C#, Python and JavaScript.
- Genericstype parameters that let classes and methods work with any type while the compiler keeps them type-safe.
- Go (Golang)Google's simple, fast compiled language with built-in concurrency, used for cloud services and DevOps tools.
- Graph Data Structurenodes connected by edges that model networks and relationships, explored with BFS, DFS and shortest-path algorithms.
- Hash Tablea data structure that maps keys to values using a hash function, giving O(1) average lookups, inserts and deletes.
- Heap (Data Structure)a complete binary tree where the smallest (min-heap) or largest (max-heap) item is always at the root; used for priority queues.
- High Level Design (HLD)High-level design (HLD) is an architectural approach that will diagrammatically represent the architectural design in a brief overview of the entire system
- InheritanceIn object-oriented programming (OOP), inheritance is a mechanism that allows a class to inherit the properties and methods from another class.
- Interfacea contract listing methods a class must implement, enabling polymorphism and loose coupling.
- JavaJava is a general-purpose, class-based, object-oriented programming language designed to have fewer implementation dependencies.
- Kotlina concise, null-safe language from JetBrains that runs on the JVM and is preferred for Android development.
- Lambda Expressiona short anonymous function written inline and passed to other functions, such as x -> x * 2.
- Linked Lista linear data structure of nodes where each node holds data and a link to the next node.
- Low Level Design (LLD)Low-level design (LLD) is a component-level design process that defines the detailed, functional design of a software system or component.
- Memory Leaka program keeping memory it no longer needs, so memory use grows until it slows down or crashes.
- Method Overloading vs Overridingsame name with different parameters (compile time) vs a subclass redefining a method (run time).
- MVC (Model-View-Controller)an architectural pattern separating data (model), display (view) and input handling (controller).
- ObjectIn object-oriented programming (OOP), objects are instances of a class and can be considered real-life entities with a state and behavior.
- Observer Design Patterna subject notifies its registered observers automatically whenever its state changes.
- OOP (Object-Oriented Programming)organising code into classes and objects, built on encapsulation, abstraction, inheritance and polymorphism.
- Pointera variable that holds the memory address of another variable; & gives an address and * dereferences it.
- Polymorphisman object-oriented concept where one interface or method call behaves differently depending on the object's actual type.
- Prototype design patternThis is a creational pattern that provides a flexible and efficient way to create new objects by cloning existing ones.
- PythonPython is a high-level, general-purpose, interpreted programming language known for its simple, readable syntax.

