1/38
Comprehensive vocabulary flashcards covering computer software types, system and application categories, development concepts, and information systems roles based on the lecture transcript.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Computer Software
The intangible set of instructions, programs, and data that tells hardware what to do and how to do it; logical instructions stored electronically.
System Software
Software that operates and controls the computer hardware and provides a platform for application software to run, usually working in the background.
Application Software
Software designed for end users to perform specific tasks, sitting on top of system software and relying on the OS to access resources.
Operating System (OS)
The most critical system software and the first program loaded after BIOS/UEFI; acts as an intermediary between the user, applications, and hardware.
Multitasking
A capability of an OS to switch between programs rapidly, which can be pre-emptive (OS controls) or cooperative (programs yield).
Multiprocessing
The distribution of work across multiple CPU cores.
Multithreading
The division of one process into concurrent threads that share the same memory space.
Utility Software
A category of system software that performs maintenance or specialized tasks like security (antivirus), disk management (defragmenter), and file compression.
Device Drivers
Software that acts as a translator between the OS and specific hardware devices, converting generic OS commands into device-specific instructions.
Firmware
Software permanently embedded in hardware (stored on ROM/flash/EEPROM) that bridges hardware and software before the OS loads.
BIOS / UEFI
Motherboard firmware that initialises hardware during the POST (Power-On Self-Test) and loads the OS bootloader.
Assembler
A translator that performs a one-to-one translation of Assembly language mnemonics (like MOV, ADD) into machine code.
Compiler
A translator that converts entire high-level source code into a standalone executable file (e.g., .exe) before execution.
Interpreter
A translator that reads and executes high-level source code one statement at a time during runtime without producing an executable file.
General-Purpose Application Software
Software used for common tasks across many domains, such as word processors, spreadsheets, web browsers, and media players.
Specialist / Specific-Purpose Software
Software designed for specialized domains, such as AutoCAD for engineering, QuickBooks for accounting, or Epic for healthcare.
Custom / Bespoke Software
Software developed specifically for one organization to meet unique requirements and provide a competitive advantage.
Open-Source Software
Software with public source code that anyone can view or modify, typically governed by licenses like GPL, MIT, or Apache.
Proprietary Software
Software with private source code owned by a company, usually requiring a license purchase or subscription for use.
Freeware
Software that is free to use but whose source code is not available, and the developer retains copyright.
Shareware
Software provided as a free trial that requires payment for the full version or continued use after the trial period ends.
Middleware
Software that sits between the OS and applications to facilitate communication, such as Nginx, RabbitMQ, or ODBC.
SaaS (Software as a Service)
Cloud-based software accessed through a browser on a subscription basis, such as Google Docs or Salesforce.
Software Development Life Cycle (SDLC)
A structured 7-phase process for planning, requirements, design, implementation, testing, deployment, and maintenance of software.
1GL (Machine Language)
The first generation of programming languages, consisting of binary (0exts and 1exts) and specific to the CPU hardware.
3GL (High-level)
Portable programming languages with English-like syntax, such as C, Java, and Python, requiring a compiler or interpreter.
5GL (AI / Constraint)
Programming languages used for AI and expert systems, where the developer defines WHAT to solve rather than HOW (e.g., Prolog).
Syntax Error
A bug occurring when code violates the grammar rules of the language, such as a missing semicolon.
Runtime Error
An error that occurs during execution (e.g., division by zero or null pointer) despite the code having valid syntax.
Logic Error
A bug where the program runs without crashing but produces incorrect results, such as using a wrong formula.
Semantic Error
A bug with valid syntax but wrong meaning, such as using = (assignment) instead of == (comparison).
Unit Testing
Testing level where individual functions or methods are tested in isolation by developers.
UAT (Uint Acceptance Testing)
Testing conducted by end users or stakeholders to ensure the software meets business needs and is ready for release.
Regression Testing
Testing performed by QA or automated suites to ensure new changes have not broken existing features.
The Software Stack
The complete set of 10 layers from Layer 0 (Hardware) to Layer 9 (User) that allow a computer system to function.
Systems Analyst
A technical role that bridges business and IT, gathers requirements, models processes, and conducts feasibility studies.
CIO (Chief Information Officer)
A strategic management role responsible for overall IT strategy, alignment with business goals, and budget management.
Subject Matter Expert (SME)
A person with deep domain knowledge (e.g., an accountant or nurse) who ensures the system reflects real business rules.
GPL (General Public Licence)
An open-source copyleft license that requires any derivative software to remain open-source under the same terms.