Intro to Programming Definitions
3 Aspects of Learning
- Knowledge (basic facts we must know to do work) - Understanding (what do facts mean) -Ability (ability to write computer program that works)
Fortran
-1957 -John Backud First high level
6 Phases of software development
1. Requirements 2. Design 3. Implementation 4. Testing 5. Deployment 6. Maintenance
Lisp
1958 John McCarthy AI
Abstraction
A mental model that hides or removes complex details
Compiler
A program that translates a high-level language into machine language
Algorithms
A sequence of unambiguous instructions for solving a problem in a finite number of steps
High-level languages
Algebraic in form easier for writing complex programs
Data structure
An aggregate data that can be handled as a unit
Interpreter
An interpreter is a program that simulates a computer whose machine language is a high-level language
C++
Bjarne Strousteup
Micky
Bryan Crawley
C
Dennis Ritchie
COBOL
Grace Hopper
Source code
High level program
Java
James Gosling
Basic
John Kemeny
Pascal
Niklaus Wirth
Control Structures
Sequences, Selection, Repetition
Assembly language
Similar to machine language, but symbolic rather than binary
John von Neumann
Store program concept
Programming Language
System of notation for writing algorithms in a form that a computer can process
Object code
The machine language translation of the program
Physical File Name
The name of the file as it appears on your computer
Machine language
The only kind of language that can be executed directly by the computer
Computer Science
The study of algorithms
Natural Language
a language that people speak
Loop
a portion of an algorithm that is repeated
Semantics
form and structure
Greatest common divisor
largest number that goes into two numbers
Syntax
rules of form
3 Kinds of Errors
syntax, execution, logic