Zero-shot learning (ZSL)

Zero-shot learning (ZSL) is a machine learning paradigm that allows a model to handle tasks for which it has seen no examples during training. The concept stems from human cognitive ability –...

Large language models (LLM)

In the context of artificial intelligence and machine learning, an LLM typically refers to a Large Language Model. These models are trained on extensive amounts of text data and can generate human-like text. They are capable of tasks like translation, answering questions, writing essays, summarizing long documents, and even creating poetry or jokes

Data preprocessing

Data preprocessing is the critical step of transforming raw data into a clean and understandable format for machine learning (ML) models. Without this essential step, your ML model may stumble on irrelevant noise, misleading outliers, or gaping holes in your dataset, leading to inaccurate predictions and insights.

Synthetic data

Synthetic data refers to artificially generated information created via algorithms and mathematical models, rather than collected from real-world events. This data can represent a vast array of scenarios and conditions, offering a high degree of control over variables and conditions that would be difficult, if not impossible, to orchestrate in the real world.

Weak supervision

Weak supervision is a technique used in machine learning where the model is trained using a dataset that is not meticulously labeled. With weak supervision, less precise, noisy, or indirectly relevant labels are used instead.

Neural networks

Neural networks, inspired by the functioning of the human brain, are a form of machine learning architecture designed to 'think' and 'learn' from data. Comprising interconnected nodes, or 'neurons', these networks process input data, learning to recognize patterns and make decisions or predictions.

Deep learning

Deep learning is an AI technique that uses artificial neural networks with multiple layers (hence 'deep') to model and understand complex patterns in datasets. Each layer in the neural network corresponds to different features or more abstract representations, and they 'learn' from previous layers - similar to how our brain works.

Ensemble learning

Ensemble learning is an ML paradigm where multiple models, often referred to as 'base learners' or 'weak learners', are strategically generated and combined to solve a particular computational intelligence problem. The main principle behind ensemble learning is that a group of 'weak' models can come together to form a 'strong' model, improving prediction accuracy.

Computer vision

Computer vision is a field of artificial intelligence that trains computers to interpret and understand the visual world. By processing, analyzing, and understanding images or videos, computers can identify and classify objects, detect events, and even make decisions based on the visual data.

Hyperparameter tuning

Hyperparameter tuning is an important step in the process of building a machine learning model. It involves adjusting the configuration settings of the model prior to training in order to optimize its performance.

Predictive modeling

Predictive modeling is a statistical technique that uses mathematical algorithms and machine learning to forecast future outcomes based on historical and current data. It's akin to constructing a mathematical narrative of what has occurred in the past and applying it to the present to predict the future.

Federated learning

Federated learning is a machine learning approach that allows for the development of models across numerous decentralized devices or servers. These devices each hold local data samples and are networked together, enabling them to collaboratively learn from the data without actually exchanging it.

Data lake

At its core, a data lake is a centralized repository that allows you to store all your structured and unstructured data at any scale. Unlike traditional data management systems, which require the data to be structured and cleaned before storage, data lakes retain data in its raw form, offering businesses greater flexibility in terms of storage and access.

Cognitive computing

Cognitive computing refers to the use of advanced technologies, such as AI, machine learning, natural language processing, and data analytics, to create systems that mimic human cognitive abilities. These systems can understand, reason, learn, and interact with humans in a natural and intuitive manner, extending human capabilities and transforming how businesses process information.

Decision support systems (DSS)

Decision Support Systems are computer-based platforms designed to assist individuals or groups in making informed decisions. These systems leverage data analysis, modeling techniques, and interactive interfaces to facilitate decision-making processes, guiding users through complex problems and providing valuable insights.

Unsupervised learning

Unsupervised learning is a branch of machine learning where algorithms are trained on unlabeled data without specific predefined outputs. The objective is to discover inherent patterns, group similar data points, and extract useful information without explicit guidance or supervision.

Black box models

Black box models refer to AI algorithms and techniques that produce results without revealing the inner workings and decision-making processes to users. These models are characterized by their complexity, as they often involve deep neural networks, ensemble methods, and other advanced machine learning approaches.

Computational intelligence

Computational Intelligence refers to the utilization of advanced computing techniques and algorithms to enable machines to learn, reason, and make decisions autonomously.

Cognitive automation

Cognitive automation refers to the integration of cognitive technologies, such as artificial intelligence (AI), machine learning, natural language processing, and robotic process automation (RPA), with automation capabilities.

Bayesian networks

Bayesian Networks, also known as belief networks or probabilistic graphical models, are graphical representations of probabilistic relationships among variables. They are based on Bayesian probability theory, which allows for the incorporation of prior knowledge, data, and uncertainty in a coherent framework.

Generative adversarial networks (GANs)

Generative Adversarial Networks (GANs) are a class of machine learning models consisting of two neural networks: the generator and the discriminator. The generator network learns to produce synthetic data, such as images, while the discriminator network distinguishes between real and generated data. Through an adversarial training process, these networks compete and learn from each other, driving the generation of increasingly realistic outputs.

Generative AI

Generative AI is a branch of artificial intelligence that focuses on enabling machines to generate original and creative content, such as images, music, text, and even video.

Unstructured data

Unstructured data refers to information that lacks a predefined data model or organization, making it challenging to fit into traditional databases or spreadsheets.

Machine learning

Machine learning (ML) is a subset of artificial intelligence that focuses on developing algorithms and models capable of learning from data and making predictions or decisions without being explicitly programmed.


In the context of Agile methodologies, particularly in Scrum, velocity is a metric used to measure the amount of work a team can complete within a given time frame, usually a sprint or iteration.

Development team

In the context of Agile methodologies, a development team refers to the cross-functional group of professionals responsible for working together to develop, test, and deliver increments of a product.

Daily stand-up

A daily stand-up, also known as a daily scrum or daily huddle, is a brief, daily meeting held by Agile project teams, particularly those following the Scrum framework.


A retrospective, also known as a sprint retrospective or iteration retrospective, is a meeting held at the end of a sprint or iteration in Agile project management frameworks, such as Scrum.

Release planning

Release planning is a critical activity in Agile project management that involves determining the scope, timeline, and resources required to deliver a specific set of features or functionality to users.

Acceptance criteria

Acceptance criteria are a set of specific, clearly defined, and testable conditions that must be met for a user story or a feature to be considered complete.

User story

A user story is a brief, informal description of a specific feature or functionality from the perspective of an end user in the context of Agile software development.


Done” refers to the definition of a completed task, user story, or any other deliverable within a sprint or project.

Grooming (Backlog refinement)

Grooming, also known as backlog refinement, is the process of reviewing and updating the product backlog regularly to ensure that it remains organized, prioritized, and relevant.

Sprint planning

Sprint planning is an essential event in Agile project management methodologies, particularly in Scrum, where the product owner, scrum master, and development team come together to plan and organize the work to be completed in the upcoming sprint.


Timeboxing, is a time management technique used in various project management methodologies, including Agile frameworks like Scrum. It involves allocating a fixed, predetermined amount of time, called a time box, to a specific activity or task.

Burndown chart

A burndown chart is a visual representation of the work remaining in a project or a sprint, plotted against the available time.

Sprint review

A sprint review is an event held at the end of a sprint, where the development team demonstrates the work completed during that sprint to stakeholders, such as the product owner, management, and other interested parties.


A sprint is a fixed period during which a development team works on completing a specific set of tasks or deliverables. Sprints are typically short, lasting between one and four weeks, with the most common duration being two weeks.


An epic is a large, high-level work item that represents a significant piece of functionality or a major goal to be achieved within a project.

Waterfall model

The waterfall model is considered a more rigid, linear, and structured way of developing software, and follows a sequential set of phases, where each phase must be completed before moving on to the next one.

Agile Manifesto

The Agile Manifesto is a foundational document in the field of Agile software development, which was created in 2001 by a group of seventeen software developers who came together to discuss more effective and flexible ways of developing software.

Scrum master

A Scrum Master is a key role responsible for facilitating the Scrum process, coaching the development team, and ensuring that the team adheres to Scrum principles, practices, and rules.

Product owner

In the context of Agile software development methodologies, particularly Scrum, a product owner is a key role responsible for maximizing the value of the product being developed by the team.


A backlog is a prioritized list of tasks, features, or requirements that need to be addressed or implemented in a project.

Pair programming

Pair programming is a technique used in Agile software development, where two developers work together on the same task at the same workstation. It is an integral practice in Extreme Programming (XP) and is also utilized in other Agile methodologies.

Extreme Programming (XP)

Extreme Programming (XP) is an Agile software development methodology that emphasizes flexibility, collaboration, and rapid delivery of high-quality software. It was developed by Kent Beck in the late 1990s as a response to the challenges and inefficiencies of traditional software development processes.


Kanban is an Agile project management and workflow visualization technique that helps teams manage and optimize their work more effectively.


Scrum is an Agile project management framework that helps teams develop and deliver high-quality products and services more effectively and efficiently. It is a lightweight, iterative approach that emphasizes collaboration, adaptability, and continuous improvement.


In Agile, a project refers to a collaborative effort undertaken to achieve a specific goal, often involving the creation or improvement of a product or service.


Agile is a project management and product development methodology that prioritizes flexibility, collaboration, and iterative progress.