 Call Kai
Call Kai Learn
Learn Practice Test
Practice Test Spaced Repetition
Spaced Repetition Match
Match1/81
Looks like no tags are added yet.
| Name | Mastery | Learn | Test | Matching | Spaced | 
|---|
No study sessions yet.
Computing
Use of comptuers to perform tasks such as processing data, solving problems, or automating processes
Computing system
Integrated collection of hardware, software, and data that work together
Hardware
Physical components
Software
Coding components
Natural language
human language
Machine language
made from binary and 0s
High level language
closer to human languages
Procedural programming languages
Writing instructions to make a computer perform specific tasks
Functional programming languages
? - uses pure functions to code, emphasis on mathematics
Object oriented programming languages
Using classes to make objects in order to program
Scripting languages
Reads and executes code on the fly; use an interpreter; used to execute tasks
Logic programming languages
use logical statements to code
Programming languages
low level; high level
Low level languages
Directly control the hardware; Assembly Machine languageHi
High level languages
More abstract and user friendly, easier development; Python, Java, C++
Machine language purpose
Control operations in processor
Assembly
Def: low level
Type: symbolic and mnenomic; uses mnenomics like MOV, ADD, SUB
Debugging: easier debugging than machine language
Translator: requires an assembler to convert to machine code
Speed: slightly slower execution
Portability: low portability, hardware specific (specific to each processor’s architecture)
Machine language
Def: Set of binary instructions
Language type: binary/hexademical/number system
Readable: no
Debugging: hard
Trnalsator: no
Exectution: fast, executed byh CPU
Portability: very low, even more hardware specificP
Process
High level → Assembly→ Machine
Compiler
translate everything first, then execute
Translation: entire program
Output: machine code/executible file
Speed: slower to start, speeds up
Error handling: shows all errors after complication
Example: GCC, C++/C
Languages: C++, C, Haskel
Interpreter
translate and execute at the same time, step by step
Translator: one line at a time
Output: no seperate file, runs code directly
Faster to start, slower execution
Error: stops on first error
Example tools: Python interpreter, Javascript engine
Programming langugaes that use it: Python, Rugby, Perl
Process 2.0
Compiler, translator, assembler
Compiler
translates high level language to machine code
Assembler
Translates assembly language to machine code
Linker
Combines multiple object files into one executable file
Interpeter
Executes the file but without translating it into machine code
Non object oriented programming
Basic unit: functions or procedures
Code structure: sequential instructions (step by step)
Data and functions: seperate
Data access: global data— less secure
Modularity: limited (function based)
Code reusability: low
Inheritance: n/a
Polymorphism: n/a
Encapsulation: n/a
Overloading: n/a
East of maintenance: harder as program grows
Example languages: C, Pascal, BASIC, fortran, COBOL
Object oriented
Basic unit: Objects and classes
Code structure: Organized around objects and interactions
Data and function: Data and functions are bundled into classes/objects
Data access: Encapsulation hides data using access modifiers
Modularity: high (class-based modularity)
Code reusability: high- through inheritance and polymorphism
Inheritance: supported
Polymorphism: supported
Encapsulation: core concept- controls access to data
Overloading- supported (function/operator overloading)
East of maintenance: easier (modular and scalable)
Example languages: Java, C++, Python, C#, Swift
Organization
Programming languages: compilers and interpreters
Registers
Small, high-speed storage locations within CPU are used to store data and instructions that are needed immediately in processing
Input devices
Devices through which data enters
Storage devices
Used to store data permnanety(such as USBs)
Central processing unit(CPU)
performs instructions on programs
ALU
CU
Registers
Output devices
Devices through which data leaves the computer
ALU(arighmetci logic unit)
Performs arithmetic and logical operations
Memory types
RAM (random access memory)
ROM
RAM
Temporary storage used by CPU to store data for active tasks
ROM
Permanent memory; store firmware and essential startup programs for a computer
Computer system block diagram

Types of computers
Super computers
Mainframes
Personal computers
Distributed computers(network of computers)
Embededd systems: computers integrated into other devices
Mobile devices: portable computing devices like smartphones
Supercomputers
Extremely powerful systems used for complex computation (e.g. weather forecasting, scientific research)
Mainframes
Large computers used by large organizations for bulk data processing
Personal computers (PCs)
Desktop or laptop computers used by individuals and small businesses
Distributed systems
Multiple computers or servers that work together to solve a problem, often connected via a network(e.g. cloud computing, server farms)
Embedded systems
computers integrated into other devices (e.g. smartphones)
Mobile devices
Portable computing devices
smartphones
Operating system
Manages computer hardware and software and provides services for computer programs
Functions
process management
memory management
security and user management
Windows, macOS, Linux, Android, iOS
Process management
manages running processes and multitasking
Memory management
Allocates and manages computer memory
File System Management
Organizes files and directories on storage devices
Security and user management
Ensures privacy and data security and allows for user authentication
Software categories
System software
Application software
Utility software
System software
Software that runs and manages the computer hardware (e.g. operating systems)
Applicatiohn software
Programs that perform specific tasks for users
Utility software
Tools that help maintain and optimize computer performance (e.g. antivirus software, disk cleaners)
Electrical vs Electronic
use high voltages vs control information
Generations of computing systems
different stages, advance by hardware+software
Vacuum tube
Electronic device that controls the flow of electrons in a vacuum; used as switch, amplifier, and display screen in many older model radios, televisions, computers
Transistor
Electronic component that can be used as amplified or switch; used to control the flow of electricity in radios, televisions, computers, etc.
Integrated circuit(IC)
Small electronic circuit printed on cip (made of silicon),; has its own circuit elements(transisitors, diodes, resistors)
Microprocessor
Electronic component held on integrated circuit that contains a computer’s central processing unit (CPU) and other associated circuits
Central processing unit
Brain or engine of a computer; where most of the processing takes place
Magnetic drum
Cylinder coated with magnetic material, on which data and programs can be stored
Magnetic core
Use arrays of small rings of magnetized material called cores to store information
Machine language
Low level programming language, consists of binary digits that the computer can read and understand
Assembly language
Human readable representation of machine instructions; human friendly version of machine language
Memory
physical device that is sued to store data, information and program in a computer
Artificial intellgience
Area of computer science that deals with the simulation and creation of intelligent machines or intelligence behavior in computers (think, learn, react, and work like humans)
First generation
Year: 1940-1950)
Main electronic component- vacuum tube
Main memory- magnetic drums and magnetic tapes
Programming language: machine language
Power: consume a lot of electricity and generate a lot of heat
Speed and size- super slow and super big
Input/output devices: punched cards and paper tape
Examples: ENIAC, UNIVACI, IBM 650, IBM 701, etc.
Quantity- about 100 produced between 1942 and 1963
Second generation
Year: 1950s- 1960s)
Main electronic component- transistor
Memory- magnetic core and magnetic tape/disk
Programming language- assembly language
Power and size- low power consumption, generates less heat, smaller
Speed: improvement
Input/output: punched cars and magnetic tape
Examples: IBM 1401, IBM 7090, IBM 7094, UNIVAC 1107
Third generation
Year: 1960- 1970
Main electronic component: integrated circuits (ICs)
Memory: large magnetic core, magnetific tape/disk
Programming language: high level language (FORTRAN, BASIC, Pascal, COBOL, C, etc.)
Size: smaller, cheaper, more efficient (called mini-computers)
Speed: better speed and reliability
Input/ouput: magnetic tape, keyboard, monitor, printer, etc
Examples: IBM 360, IBM 370, PDP-11, UNIVAC 1108, etc.
Fourth generation
Speed: improvement of speed, accuracy, and reliability
Input/output: keyboard, pointing devices, optical scanning, monitor, printer
Network: group of two or more computer system linked together
Examples: IBM PC, STAR 1000, APPLE II, Apple Macintosh, etc.
Fifth generation
Year: present- future
Main electronic component: AI, ULSI technology, parallel processing method
ULSI: millions of transistors on a single microchip
Parallel processing method: two or more microprocessors to run tasks simoltaneously
Language; understand natural language (such as AI)
Power: consume less power and generate less heat
Speed: remarkable improvement of speed, accuracy, and reliability
Side: portable and small
Input/output: keyboard, monitor, mouse, trackpad (or touchpad), touch screen, pen, speech input(recognize voice/speech), light scanner, printer, etc.
Example: desktops, laptops, tablets, smartphones
Mobile phonesss!!
Summary of generations

Hardware developments
Development speed: slower, hardware requires extensive R&D, testing, and manufacturing
Costs: high upfront costs (fabrication, material, testing)
Complexity: high complexity due to physical constraints(materials, heat, power)
Impact: tangible improvements (e.g. better performance, efficiency)
Adaptability: less adaptable: hardware must be replaced or upgraded
Dependence: software depends on hardware to run effectively
Challenges: upfront investment, longer development cycles, physics + material science + manufacturing that pose boundaries in development
Software innovation
Development speed: faster software can be rapidly prototyped, tested, and deployed
Costs: lower initial costs but more expensive later
Complexity: high complexity due to system integration, scalability, and security
Impact: intangible improvements
Adaptability: highly adaptable, software can be easily updated and changed
Dependence: Hardware depends on software to make use of its full potential
Challenges: constant updates, bug fixes, adapting to new hardware, and user demands
Future in computing
Artificial intellignece; cloud computing; big data; quantum computing
Cloud computing
Storing + accessing data and applications over the internet, rather than on local storage
Big data
Analyzing large datasets to exract valuable insights
Quantum coputing
New form of computing based on quantum mechanics, which could significantly increase computational power
internet of things
Network of interconnected devices that can collect and exchange data
Cloud computing
Machines that simulate human intelligence, such as speech recognition, decision making, and problem solving