Lecture 1 computer structure
what is computation?
definition of computer
abstraction level of computer organisation
computer and language
computer language
computer and society
what is computation?
computation is a process of transforming from sensed data to affect the
real world through effectors.
sensors
effectors
computation
what is computer?
a computer is a machine that performs computation.
computer organisation
There are layers of abstraction,
applications
operating systems
computer language
instruction set
functional units
circuits
Another view:
software
------------- instruction set
hardware
computer language
syntax
semantic
primitives
Pascal, C, C++, Java, C#, Flash, Javascript
(my contribution, Som and Nut)
programming paradigm
procedural (imperative)
is based on step-by-step instructions
functional
is based on algebra
logical
is based on classical logic
object
is based on components
(aspect)
is based on views
imperative paradigm is the origin of computer language. It has
limit on the reuse, especially the use of program library.
object paradigm solved the problem of program library by providing
mechanism to "reuse" programs via inheritance and encapsulation.
functional paradigm promotes the model of program as algebra hence it
is possible of reason about correctness of programs. The use of
function abstraction allows composing of functions.
logical paradigm lets programmers specify what to be computed and
leaves how to compute to the computer system (via logical deduction).
language implementation
compiler -- the executable code is a static object, the object is
preconstructed.
interpreter (virtual machine) -- dynamic executable object, can be
created on the fly.
language design
machine efficiency
human efficiency