sp25-cs252 cs252
Abstraction Abstraction
Abstraction manages complexity by focusing on some attributes
Solving a problem on a computer is a systematic sequence of transformations between levels of abstraction
Levels of Abstraction
Problem Statement
- High level description in a natural language
- Ambiguous, imprecise, and even inaccurate
Algorithms and Data Structures
- Software design, featuring step by step procedures and information organization
- A precise sequence of effective steps and a representation of the information those steps use.
Program
- Statements that are organized into modules (functions, source files, classes, etc.)
- Variables containing data (arrays, structures, objects)
- High level languages - structured in a logical manner (control flow, loops, etc.)
Instruction Set Architecture (ISA)
- Compiling and assembling programs into machine code (instructions that the computer can perform and data types the computer can understand)
- Low level languages - instructions are simple and direct
Micro Architecture
- Detailed processor implementation
Circuits
- Logic gates and low level components
Devices
- Transistors, diodes, etc.
Related: lecture-02, lecture-03, lecture-04, lecture-05
Source
Original retained in wisconsin-legacy.