Week 2 Terminology PDF
Document Details
Tags
Summary
This document is a collection of definitions for common computer science terminology. It covers topics such as algorithms, data structures, programming languages, networks and cybersecurity. The information provided serves as a basic introduction to these concepts.
Full Transcript
- **Algorithm**: A step-by-step procedure for solving a problem or accomplishing a task, often used in programming and data processing. - **Data Structure**: A way of organizing and storing data in a computer so that it can be accessed and modified efficiently. Examples include arra...
- **Algorithm**: A step-by-step procedure for solving a problem or accomplishing a task, often used in programming and data processing. - **Data Structure**: A way of organizing and storing data in a computer so that it can be accessed and modified efficiently. Examples include arrays, linked lists, and trees. - **Compiler**: A program that translates high-level source code written in a programming language into machine code, which can be executed by a computer. - **Debugging**: The process of identifying and removing errors or bugs in software or hardware to improve functionality. - **Function**: A block of code designed to perform a particular task, often taking inputs and returning an output. - **Loop**: A programming construct that repeats a block of code multiple times until a specified condition is met. - **Network**: A group of interconnected computers and devices that can share resources and information. - **Operating System (OS)**: Software that manages computer hardware and software resources and provides common services for computer programs. - **Software Development Life Cycle (SDLC)**: A process for planning, creating, testing, and deploying software applications. - **Source Code**: The human-readable instructions written in a programming language that make up a software program. - **API (Application Programming Interface)**: A set of rules and protocols for building software applications, allowing different software systems to communicate with each other. - **Database**: An organized collection of data that can be easily accessed, managed, and updated. Examples include relational databases (SQL) and NoSQL databases. - **Framework**: A platform that provides a foundation for developing applications by offering predefined functions and tools, such as Angular and React for web development. - **Front-end Development**: The practice of creating the user interface and user experience of web applications, focusing on what users interact with directly. - **Back-end Development**: The server-side of web applications, which includes databases, server logic, and application programming, managing the data and functionality behind the scenes. - **Machine Learning**: A subset of artificial intelligence that enables computers to learn from data and improve their performance on tasks over time without being explicitly programmed. - **Cloud Computing**: The delivery of computing services over the internet, allowing for storage, processing, and management of data without local infrastructure. Examples include AWS, Google Cloud, and Microsoft Azure. - **Version Control**: A system for managing changes to documents, computer programs, and other collections of information. Git is one of the most widely used version control systems. - **Cybersecurity**: The practice of protecting systems, networks, and programs from digital attacks, ensuring confidentiality, integrity, and availability of data. - **Debugging**: The process of identifying and fixing bugs or errors in software to ensure proper functionality. - **Concurrency**: The ability of a system to execute multiple tasks or processes simultaneously, improving efficiency and performance. - **Operating System Kernel**: The core component of an operating system that manages system resources and facilitates communication between hardware and software. - **Encryption**: The process of converting data into a coded format to prevent unauthorized access, ensuring data security. - **User Interface (UI)**: The visual elements and layout that users interact with when using a software application or device. - **User Experience (UX)**: The overall experience and satisfaction a user has when interacting with a product or service, focusing on usability and design. - **Bandwidth**: The maximum rate of data transfer across a network, affecting the speed and performance of internet connections. - **Protocol**: A set of rules governing the exchange of data between devices in a network, such as HTTP, FTP, and TCP/IP. - **Compiler**: A program that translates source code written in a high-level programming language into machine code or bytecode for execution. - **Source Code**: The human-readable instructions written in a programming language that define the functionality of a software program.