Computer Programs, An Introduction

New Terminology

machine language
The binary codes that the CPU can execute.
assembly language
A coded language that can be interpreted to machine language - is hardware dependent
high level language (3rd GL)
A more "English-like" language that can be compiled to form machine language (executable). Examples include Fortran, Cobol, C, and Java.
compiler
A program (or application) that checks a source file for syntactic accuracy and produces an executable file (see java for exception).
syntax
The rules of a language. A program that is syntactically correct is free of language rule violations.
semantics
The logic of a program or application. A program that is syntactically correct may not be semantically correct if it does not work according to its specifications.
source file
The file containing the language instructions. This file must be "transformed" into machine language.
object or executable file
The file that contains the machine language. This file can be run directly on the computer.
class or byte code file
The file produced by the java compiler.
Java
A programming language. Java programs compile into machine independent byte code (.class) files and must be interpreted by machine dependent interpreters.
javac
The java compiler. (You will see it on your computer as javac.exe)
java
The java interpreter. (You will see it on your computer as java.exe)
virtual
When virtual was first introduced in the computational sense, it applied to things simulated by the computer, like virtual memory that is, memory that is not actually built into the processor. (From www.thefreedictionary.com). Now it also applies to real things that are assisted by the computer...a "virtual" chat in a chat room, for example.
java virtual machine
A CPU dependent java interpreter which "executes" java byte code.
identifier
Any name which we give to items in our program.
keyword
any word that have special meaning in a program
text editor
Any application that can be used to edit a source file. Notepad, Wordpad, JGrasp, Eclipse are all names of programs that can edit java source files. MS Word is NOT a text editor.

Programming specific structures and terms (some are java specific)

class
a definition of an application (program) or sub application in java
class header
introduces the beginning of a class declaration in java
{ } - curly braces
block - open curly brace begins a block of code or a structure which contains code. close ends the code or structure in java
method
actions of the program
method header
introduces the beginning of the method in java
statement
the term for each action that a program takes.
; - semi-colon
symbol which ends a java statement.
System
the name of a class (application) in Java that contains methods and objects that we can use in our programs.
System.out
describes standard or monitor output in Java.
System.out.println("whatIwanttoprint");
Java action that sends the value in parentheses to the standard output (usually monitor).
comment
any text in a program that is intended for the human reader and not the computer reader. Comments are ignored by the compiler.
/* */ - block comment in java
these symbols surround comments or text that will not be treated as lines of code.
/** */ - block comment, javadocs style
special style of block comments that can be used to produce documentation.
// - inline comment in java
from the symbol to the end of that line, all text is treated as a comment.
case sensitive
A language that is case sensitive will treat identifiers differently if the letters are the same but the case is different. pudding and Pudding and PuDDing are all treated as different identifiers.
declaration
A java statement that explicitly creates a container in a java program.
constant
A java container whose contents cannot be changed once an initial value is given.
variable
A java container whose contents may be changed during program execution.
literal
A java container whose value is used directly within a source file.
A symbol for the binary operator, assignment .  The value on the right is copied into the container on the left.
+
A symbol for the binary operators, plus and concatenate.
String
A complex data type in java.  Strings have a literal form (using ") or a designation of a container type.

Class notes

  1. Computer languages
    1. Machine - dependent on the particular CPU we are using
    2. Assembly - also processor dependent but used mnemonic codes
    3. High-level - "English like"
      1. Java
      2. C
      3. Fortran
    4. Compilers - Check for errors, and then create a machine code file (except java, see notes later)
      1. Syntax
      2. Semantics
      3. Java byte code - The compiler produces a machine independent code which is then interpreted on the "java virtual machine". The interpreter is CPU dependent.
      4. Why java - portability
      5. javac/java
  2. Structure of a java program Hello.java and Style Guide and ppt
  3. See your book for a complete treatment of formatting your output.  For example, what does \n do?
  4. Containers in java.
    1. All variable and constant containers must be declared.
    2. Literals may simply be used.
    3. All variables and constant must be declared with ________ and _________ and _________.
    4. A declaration assumes that we are creating a variable.  The keyword final denotes a constant container.
    5. See demo of Hello.java.
  5. Data types.
    1. Primitive and complex.
    2. Complex are objects (declared in classes)  out is a complex data type.
    3. Java primitives (book page 45 - 51)  There are 8.  What are they?
  6. Basic operations