Showing posts with label computer science. Show all posts
Showing posts with label computer science. Show all posts

Wednesday, November 01, 2006

Computer Science Terms:

hey folks, these are some technical computer terms, hope you find something useful.

Chapter 1:

Composite structure: the size of a typical software system implies that it must be broken down into manageable pieces of this

Composition: the process of building a system using simpler parts or components

Abstraction: the process of ignoring details irrelevant to the problem at hand and emphasizing essential ones. To abstract is to disregard certain differentiating details

Data: the info the program deals with

Functionality: what the program does with the data, the responsibility of the object to do

Object: the most abstract description of a basic component of an object oriented system

Values: a fundamental piece of info that can be manipulated by the program

Types: a set of related values along with the operations that can be preformed with them

Object: fundamental abstractions from which systems are built

Classes: a set of objects having the same features and properties

State of an object: the set of data maintained by an object at any given time

Reference values: a value that denotes an object

Data descriptions: properties of the object (name, date, etc)

Associated value: a property an object has at any given time

Variable: a portion of memory reserved to hold a single value

Instance variables: a variable that is a permanent part of an object: memory space for the variable is allocated when the object is created

Immutable: an object that’s state cannot be changed

Mutable: and object that’s state can be changed

*An object is characterized by the features it offers*
1. Query: a request for data
2. Command: a request to change state

Float & Double: sets of real rational numbers (i.e. 170000 or 1.4e12)

Char: set of values representing Unicode characters

Boolean: true or false values

Int value: contains a single integer

String: and immutable object that contains a sequence of characters

Identifier: a sequence of characters that can be used as a name in a Java program

Literal: a sequence of characters that denotes a particular value in a Java program

Comments: explanatory remarks that are included in a program for the benefit of a human reader and are ignored by the compiler
Chapter 2:

Features of an object: queries and commands

*A client queries and commands a server*

Specification (interface): definition of an object’s features, as seen by its clients

Implementation: provides the internals that actually make up the features

Packages: groups of classes

Public class: indicates that the objects of that class will be accessible throughout the system

Public void: a command is a query that changes the state of the object but do not provide the client with a value

Method: a language construct that defines and implements a query or command

Constructor: a language construct used to create and initialize an object

Static diagrams: diagrams showing classes

Stub: dummy method or constructor

New: used to invoke a constructor and create an object

Interaction diagram: means of illustrating the order in which objects interact

Statement: provides the action that the processor is to carry out
Expression: a language construct that describes how to compute a particular value. Evaluation of this produces a value

Reset: invoked command to change the count to zero

incrementCount: to increment the count by 1

Assignment: (variableName = expression – a statement that instructs the processor to computer a value and store it in a variable

Parameters: elements of information that must be provided

Method variable: a variable that is created when a method is invoked and de-allocated when the processor finished executing the method

Numeric promotion: the conversion of and int to a double

Operator precedence: * / % + -

Left associative: two expressions with equal precedence are evaluated from L to R

Compilation unit: a file containing the definition of one or more classes of a package

Import statement: placed at the beginning of a compilation unit (file), after a package statement, and apply to all classes defined in the compilation unit

Assignment expression: consists of a variable (left hand side), assignment operator (=) and expression (right hand side)

Increment expressions: il++ ++il

Decrement expressions: il- - - -il

Bitwise operators: allow the bit patterns of integral values to be manipulated
Chapter 3:

To design a class, determine an object’s responsibilities and classify them as knowing responsibilities or doing responsibilities.

Knowing responsibilities: knowing the properties of the entity the object is modeling, knowing about other objects with which it needs to cooperate

Doing responsibilities: computing particular values, performing actions that modify its state, creating and initializing other objects, and controlling and coordinating the activities of other objects

Local variable: a method variable created as part of a method execution, used to hold intermediate results needed during the computation.

LOCAL VARIABLE:
· Defined inside a method
· Exists only while the method is being executed
· Must be initialized before being used; otherwise, a compiler error occurs
· Can be accessed only from the method
· Is only meaningful during execution of the method
· Contains some intermediate value needed only during execution of the method; its value is not part of the object’s state

INSTANCE VARIABLE:
· Defined outside any method
· Exists as long as the object exists
· Initialized in a constructor
· Can be accessed from any method in the class
· Has a meaningful value at any time during the life of the object, whether the object is actively doing something or not
· Represents a property of the object; its value is part of the object’s state

Main method: the top-level method that initiates execution of a system
Chapter 4:

Postcondition: a condition the implementer guarantees will hold when a method or constructor completes execution

Invariant: a condition that always holds true

Class invariant: an invariant regarding properties of class instances; that is, a condition that will always be true for all instances of a class

If (condition)
Statement

And the if-then-else has the form

If(condition)
Statement1
Else
Statement2
Chapter 5:

Programming by contract: s programming style in which the invocation of a method is viewed as a contract between client and server, with each having explicitly stated responsibilities

*When an object responds to a query, it does not change state.

*Commands result in a change of state.
Chapter 6:

*Black box testing = functional testing

Test design generally begins with an analysis of
· The functional specifications of the system
· The ways in which the system will be used

Test case is defined by:
· A statement of case objectives
· The data set for the case
· The expected results

Functional testing: testing to determine that the system as a whole meets the customer’s specifications. The system is treated as a “black box” whose behavior can be observed, but whose internal structure is unknown.

*white box testing= unit testing

Unit testing: incremental testing of classes as they are implemented in order to ensure that they function properly. Testing can be “white box testing” where the tests are developed based on the unit’s implementation, or “gray box testing” where tests are developed based solely on a method’s specification