Skip to content

Glossary

This glossary provides definitions for key terms used throughout the workshop. Use this as a quick reference when you encounter unfamiliar terminology.

API Terminology

API (Application Programming Interface) : A set of rules and protocols that allows different software applications to communicate with each other.

Endpoint : A specific URL path in an API that performs a particular function (e.g., /countries or /weather).

REST (Representational State Transfer) : An architectural style for designing networked applications, using standard HTTP methods (GET, POST, PUT, DELETE).

JSON (JavaScript Object Notation) : A lightweight data format that is easy for humans to read and write, and easy for machines to parse and generate.

HTTP Methods : Standard request types including GET (retrieve data), POST (create data), PUT (update data), DELETE (remove data).

Status Code : A three-digit number returned by a server indicating the result of a request (e.g., 200 OK, 404 Not Found, 500 Internal Server Error).

Swagger/OpenAPI : A specification and tooling for documenting REST APIs, providing interactive documentation and testing interfaces.

.NET & C# Terminology

ASP.NET Core : A cross-platform, high-performance framework for building modern web applications and APIs.

Minimal APIs : A simplified approach in ASP.NET Core for creating APIs with minimal code and configuration.

.NET SDK (Software Development Kit) : A set of tools, libraries, and runtime required to build and run .NET applications.

Runtime : The execution environment that runs .NET applications and manages memory, security, and other system services.

NuGet : The package manager for .NET, used to install and manage third-party libraries and dependencies.

System.Text.Json : A built-in .NET library for serializing and deserializing JSON data.

Program.cs : The entry point file for .NET applications where the application is configured and started.

Namespace : A way to organize code in .NET, preventing naming conflicts by grouping related classes.

Python Terminology

FastAPI : A modern, fast Python web framework for building APIs with automatic interactive documentation.

Uvicorn : An ASGI (Asynchronous Server Gateway Interface) web server for running Python web applications.

pip : The package installer for Python, used to install libraries and dependencies.

requirements.txt : A file listing Python package dependencies for a project.

Virtual Environment (venv) : An isolated Python environment that keeps dependencies separate from other projects.

Testing Terminology

Unit Test : A test that validates a single unit of code (function, method, or class) in isolation.

Integration Test : A test that validates how multiple components or systems work together.

Test Client : A tool that simulates HTTP requests to test API endpoints without running a real server.

Assertion : A statement in a test that checks if a condition is true; tests fail if assertions are false.

Test Coverage : A measure of how much of your code is executed by your tests.

pytest : A popular Python testing framework used for writing and running tests.

MSTest : Microsoft's testing framework for .NET applications.

WebApplicationFactory : A .NET testing utility that creates an in-memory test server for integration testing.

GitHub Copilot Terminology

GitHub Copilot : An AI-powered code completion tool that suggests code and entire functions in real-time.

Copilot Chat : An interactive chat interface where you can ask GitHub Copilot questions and get explanations.

Context : The information GitHub Copilot uses to generate suggestions, including open files, selected code, and chat history.

Prompt : A question or instruction you give to GitHub Copilot to generate code or get information.

Ask Mode : A Copilot mode for getting explanations, asking questions, and learning about code without making changes.

Agent Mode : An autonomous Copilot mode that can plan tasks, make edits, run commands, and iterate until goals are achieved.

Plan Mode : A Copilot mode that helps outline tasks and break down complex work into structured steps.

#file: Reference : A syntax in Copilot chat (e.g., #file:main.py) that provides specific file context to improve suggestion accuracy.

#codebase Tool : A Copilot feature that analyzes your entire repository to answer questions about the project structure and code.

Development Tools

VS Code (Visual Studio Code) : A lightweight but powerful code editor with extensive extension support.

GitHub Codespaces : A cloud-based development environment that runs in your browser with pre-configured tools.

Git : A version control system for tracking changes in code and collaborating with others.

Terminal/Command Line : A text-based interface for running commands and interacting with your operating system.

Port : A numbered communication endpoint where applications listen for network requests (e.g., port 8000 or 5000).

General Programming Concepts

Migration : The process of moving code from one programming language, framework, or platform to another.

Scaffolding : Generating the basic project structure and boilerplate code to start development quickly.

Serialization : Converting data structures or objects into a format (like JSON) that can be stored or transmitted.

Deserialization : Converting data from a stored or transmitted format (like JSON) back into data structures or objects.

Type Safety : A programming language feature that prevents type errors by checking types at compile-time.

Compile-time : The phase when source code is converted to executable code; errors caught here prevent runtime issues.

Runtime : The phase when a program is actually executing; errors here occur during program execution.

Dependency : An external library or package that your project requires to function properly.

Boilerplate Code : Standard, repetitive code that is necessary but doesn't contain the unique logic of your application.


Can't find a term?

If you encounter a term not listed here, try asking GitHub Copilot for a definition or check the Resources page for links to official documentation.