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