Eric Siegel

Introduction to Computer Science

Basic Glossary

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

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

multiuser       A multiuser computer allows many people to use it

		outside world.  Example I/O devices are terminals and

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

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

email: evs at cs dot columbia dot edu