[CSI] clarification on today's lecture

Mikhail Nesterenko mikhail at cs.kent.edu
Tue Aug 30 11:18:27 EDT 2016


<CAB3NxkXhWCvu2Rc3_2r3d=6ftg_==ZHmGDscVAiqpri8sTrBmA at mail.gmail.com>


>
> Because a computer cannot understand natural language, all computers
> are basically reliant on human input. Even AI are told what to do by
> humans.

To be able to operate, computers need to be _programmed_, that is
supplied with a program. Computers do not understand ambiguity.  A
program is an unambiguous sequence of instructions for a computer to
follow. The process if creating, or writing, such programs is done by
specially trained people called programmers.

> Natural language is human language. Human language is translated
> into high-level language by programmers into compilers, which then
> translates that into low-level language that computers can
> understand.

Natural language spoken by lay people is ambiguous.  High-level
programming language, such as C++, is unambiguous and, therefore,
suitable for programming. Programming is not mere translation of
Natural language into a high-level language; instead it is a rather
complicated process of specifying what exactly is a computer to
do. Programming is the subject of this course.

For ease of programming, a high level language is designed to be as
close to natural language as possible while still maintaining lack of
ambiguity. A high-level language may not be executed by a computer
directly. Instead, it is translated to a low-level or machine
language. Since the high-level language is unambiguous, the
translation can be done automatically. It is done by a specialized
program called compiler.


> A program tells a CPU which pieces of memory to find, found through
> an address, which leads to memory locations.

CPU executes the machine-level program one instruction at a time. Some
of the instructions access data stored in RAM. RAM is a set of memory
locations. Each memory location has a unique address. A RAM location
is accessed using this address.

Thanks,
--
Mikhail


More information about the cs13001 mailing list