1/23
A comprehensive set of vocabulary flashcards covering the introductory concepts of computer science, hardware, software, networking, and programming paradigms based on the CS1010H 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 Science (CS)
The study of problem solving using computing, computer software, algorithms, abstractions, efficiency, and the theoretical foundation for computation.
Hardware
The physical parts of the computer, sometimes referred to as computer components and peripherals, such as the Motherboard or Hard Disk/Drive.
Software
The set(s) of instructions given to the computer to execute 1 or more tasks, such as Microsoft Office or Google Chrome.
Operating System
Software that manages hardware and software resources, defines how the user interacts with the computer (GUI or Console), and handles tasks like memory usage and file management.
Internet
An international network of interconnected computer networks consisting of millions of networks carrying services like Email and the World Wide Web.
World Wide Web
A system of interlinked, hypertext documents accessible over the Internet and distributed using the HyperText Transfer Protocol (HTTP).
URL
A web address needed to access a particular document or website, such as http://www.python.org.
Algorithm
A precise sequence of steps performed to accomplish a task that is repeatable, has a predictable outcome, and can be executed by different people.
Program
A set of instructions given to a computer that corresponds to an algorithm used to solve a problem.
Sequence
A fundamental element of programs where each step is followed by another step.
Selection
A fundamental element of programs where a choice may be made among alternatives.
Iteration
A fundamental element of programs where a set of steps may be repeated.
Pseudo Code
A simple, unambiguous shorthand used to clearly represent algorithms before they are programmed.
Machine Language
The programming language that is directly understood by a computer.
Assembly Language
A low-level language that uses mnemonics (codes) for each instruction to make programming easier for humans.
High-level Languages
Languages that are easier for humans to use compared to low-level languages, such as Java, C++, and Python.
Imperative Languages
Languages where programs state explicitly how a problem is to be solved by following an algorithm, such as C, Pascal, or FORTRAN.
Object-Oriented Languages
A special case of imperative languages where the real world is modelled as objects, such as Java or Smalltalk.
Functional Languages
Languages where programs state how a problem is solved by applying functions, such as LISP or Mathematica.
Declarative Languages
Languages where programs state what is to be solved as rules while an engine seeks out the solution, such as Prolog or XSL.
Multi-paradigm Languages
Dynamic scripting languages that include features from imperative, object-oriented, and functional types, such as Python, Ruby, and Perl.
Software Crisis
The long-standing challenge of developing software on time, within budget, and meeting user specifications, addressed by Software Engineering.
Human Computer Interaction (HCI)
A field of study including techniques and principles used to ensure that software is user-friendly and usable.
ICT4D
Information & Communication Technologies for Development, a research specialty at UCT Computer Science.