Paradigms of Programming
Paradigms of Programming
Black-Box Abstraction
Welcome to CS302
Paradigms of Programming
1 / 25
Getting Started
Black-Box Abstraction
2 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
3 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Really?
3 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Really?
▶ Is it science?
3 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Really?
▶ Is it science?
▶ Is it about computers?
3 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Really?
▶ Is it science?
▶ Is it about computers?
▶ Is it fiction?
3 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Really?
▶ Is it science?
▶ Is it about computers?
▶ Is it fiction?
▶ Is it engineering?
3 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Really?
▶ Is it science?
▶ Is it about computers?
▶ Is it fiction?
▶ Is it engineering?
3 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
4 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
4 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
The modules are ideal modules in the sense that if the behaviour of
each of the modules is known, then the behaviour of any
combination of such ideal modules can also be accurately predicted,
unlike modules of real world objects say for example an amplifier.
5 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
The ideas are mostly about control of complexity that is, about how
to develop a large computer program without being swamped in
details.
6 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
7 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Imperative response
Use the outer peripheral road to reach A9 building. Find the road adjacent
to the guard post and walk along the academic block road to until you
reach the end of the road. Walk 3 flights of stairs of the last building on
your right. Find the first room on the ground floor.
vs
Declarative response
Come to A17-1A.
8 / 25
Computational Process
Getting Started
Why Scheme?
Black-Box Abstraction
Imperative vs Declarative Knowledge
Imperative response
Use the outer peripheral road to reach A9 building. Find the road adjacent
to the guard post and walk along the academic block road to until you
reach the end of the road. Walk 3 flights of stairs of the last building on
your right. Find the first room on the ground floor.
vs
Declarative response
Come to A17-1A.
9 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
10 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
10 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
10 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
10 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
10 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
10 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
The leftmost element in the list is called the operator, and the other
elements are called operands.
11 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
The leftmost element in the list is called the operator, and the other
elements are called operands.
11 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
12 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
13 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
13 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
The real reason, however stems from its relationship with lambda
calculus.
13 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
14 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
15 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
18 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
18 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
19 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
20 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
21 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
21 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
22 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
23 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
24 / 25
Primitive Expressions
Naming and Environment
Getting Started
Evaluating Combinations
Black-Box Abstraction
Compound Procedures
Evaluation order/ Substitution model
25 / 25