hardware What a computer is physically made of.
memory Storage space for information.
RAM Random Access Memory. The primary storage. The place
that holds the memory and data that you are currently
using.
registers Memory locations in the CPU/ALU (see below) which hold
information for immediate use by the computer.
disk A place where memory is stored, in the form of files.
Also called secondary storage. Think of it as the
warehouse where you are storing data that you are not
currently using.
I/O devices Input/Output devices give the computer contact with the
outside world. Example I/O devices are terminals and
printers.
multiuser A multiuser computer allows many people to use it
simultaneously.
I/O devices Input/Output devices give the computer contact with the
outside world. Example I/O devices are terminals and
printers.
program Instructions that tell a computer what to do.
CPU central processing unit. The computer's "brain", which
control's everything it does. Following the instructions
of a computer program, the CPU coordinates the use of
memory and I/O devices.
ALU Arithmetic Logic Unit. The part of the computer that
performs arithmetic and logical calculations.
bus The part of the computer that lets its various
components communicate with each other.
language A programming language determines the grammatical rules for
how to convey instructions to the computer. This class
will use the language C. Other languages are: Pascal, Java,
BASIC, Fortran, LISP, Assembly. Programs written in these
different languages can look vastly different, but the
basic concepts involved in programming are the same no
matter what language you are using.
software Information controlling a computer's actions (i.e. computer
programs). Supplements the hardware to completely define a
computer system.
OS Operating System. The underlying software that maintains
the computer's use of I/O devices, memory, and programs.
Unix The type of Operating System on AcIS computers. It allows
you to look at the files on disk, and to run programs you
write. It is a multiuser OS.
Utilities Computer programs that allow you to do fundamental
operations on the computer like edit the source code of a
computer program, or change your user password. These
programs are often crafted to work especially with the OS.
Applications Computer programs for end-users like word processors,
spreadsheets, Lotus 123.
code computer programs, i.e., computer instructions
source code The way a computer program looks when you type it in. You
as a human programmer are the "source" of the code.
editor Very similar to a word processor, this utility allows you
to type in computer programs. It also allows you to change
(aka "edit") pre-existing computer programs.
Emacs The name of an editor many students in this class will
use. It is invoked from Unix by typing "emacs filename".
Pico An easier-to-use editor
file A unit of information on a disk. When you type source code
into an editor, you will save it as a file, for example.
filename The name given to a file. When you type in source code for
a program in the language C, give it a name that ends with
".c", e.g. "temperature.c"
execute (verb) To follow the instructions in a computer program.
After you have written a computer program, you'll want
to try it out by having the computer EXECUTE it. (aka "run")
compiler This utility translates source code into executable machine
code. This is necessary to be able to execute your program.
executable The file which the computer can execute. It contains
"machine code", which the computer can execute directly.
interpreter A utility that runs source code directly, without the need
for compiling. This is not applicable to C, but it
does apply to other languages, e.g. LISP and Java.
end-user A person using a computer who is not doing technical things
with it, i.e. not a programmer. You are no longer an
end-user.
low-level programming language Technical and difficult, but fast, e.g.,
machine language.
high-level programming language Intuitive and more user-friendly, e.g.,
Java, C and Pascal.
Java applet A program written in Java that is made to run on the
web. For example, the Stinky programming language is
actually a Java applet.
Java application A program written in Java that is not made to run
on the web. For example, our program FindLargest.java.
email: evs at cs dot columbia dot edu