1. Parameter
    an item of information that is specified to a method when the method is called
  2. Actual Parameter
    the expression supplied for a formal parameter of a method by the caller
  3. Formal Parameter
    a variable in a method definition; it is initialized with an actual parameter value when the method is called
  4. Argument
    an actual parameter in a method call, or one of the values combined by an operator
  5. Parameter passing
    specifying expressions to be actual parameter values for a method when it is called
  6. Explicit Parameter
    a parameter of a method other than the object on which the method is invoked
  7. Implicit Parameter
    the object on which a method is invoked
  8. Instance Variable
    a variable defined in a class for which every object of the class has its own value
  9. Local Variable
    a variable whose scope is a block
  10. Static Variable
    a variable defined in a class that has only one value for the whole class, which can be access and changed by any method in that class
  11. Interface (in Java)
    a type with no instance variables, only abstract methods and constants
  12. Method
    a sequence of statements that has a name and is invoked when called
  13. Overloading a method
    giving more than one meaning to a method name
  14. Overriding a method
    redefining a method in a subclass
  15. Static Method
    A method with no implicit parameter
  16. Accessor Method
    a method that accesses an object but does not change it ("getter" method)
  17. Constructor
    a method that initializes a newly instantiated object
  18. Mutator method
    a method that changes the state of an object ("setter" method)
  19. ACK
    (acknowledgement message) when a node A sends a packet to node B using the ARQ algorithm, B sends A an ACK to confirm receipt
  20. ARQ Algorithm
    (Automatic Repeat request) strategy currently in use by data link protocols for sending and receiving message packets
  21. Algorithm
    a sequence of steps that is unambiguous, executable and terminating
  22. API
    (Application Programming Interface) a code library for building programs
  23. I/O buffer
    a small amount of memory used by the I/O controller (CPU)
  24. I/O controller
    section of CPU that compensates for any speed differences between I/O devices and other parts of the computer
  25. Control Unit
    section of the CPU that selects and executes instructions
  26. Arithmetic/Logic Unit (ALU)
    the subsystem of a CPU that performs mathematical and logical operations
  27. Instruction Register
    (IR) holds a copy of the instruction fetched from memory
  28. ASCII
    (American Standard Code for Information Interchange) international standard for representing textual information in the majority of computers (8-bit)
  29. Binary
    the digital representation of data using bits (ones and zeros)
  30. Bit
    a binary digit having one of two possible values (0 or 1)
  31. Boolean
    the most primitive data type, having one of two possible values (true or false)
  32. Boolean Expression
    an expression that results in a true or false value (e.g. A & B)
  33. Boolean Operator
    logical operators that can be applied to Boolean values (e.g. AND, OR, NOT)
  34. Byte
    smallest unit of storage that can be accessed in memory (8 bits)
  35. Bytecode
    Instructions for the Java virtual machine (typically written by a compiler)
  36. Address
    unique identifier used to fetch data from a memory cell or store data to a memory cell
  37. Cache memory
    a special, high-speed memory unit; frequently used data is stored here; typically 5 to 10 times faster than RAM but much smaller
  38. Memory
    the functional unit of a computer that stores and retrieves instructions and data being executed
  39. Register
    a storage cell that holds the operands of an arithmetic operation and holds its result when the operation is complete
  40. Memory Address Register (MAR)
    holds the address of the cell to be fetched or stored
  41. Memory Data Register (MDR)
    contains the data value being fetched or stored
  42. Random Access Memory
    (RAM) the time it takes to fetch or store the contents of a cell is the same for all the cells in memory (access technique used by memory)
  43. Cast
    Explicitly converting a value from one data type to another
  44. Church-Turing Thesis
    thesis that states if an algorithm for solving a problem exists, then a Turing machine for solving that problem must also exist
  45. Class
    blueprint from which individual objects are created; a programmer-defined data type
  46. Compiler
    a program that translates high-level code (e.g. Java) to machine language (e.g. bytecode).
  47. Computability
    the ability to solve a problem in an effective manner; existence of an algorithm to solve a problem
  48. Computer network
    a collection of computers interconnected by communications channels that allows users to share resources
  49. Computer Science
    the study of algorithms using computers and software
  50. Computing Agent
    the machine, person or thing carrying out the steps of an algorithm
  51. DASD
    (Direct access storage device) a type of storage device in which data is stored at precise locations, enabling direct retrieval without scanning
  52. DNS
    (Domain Name System) a special Internet application that converts a symbolic host name (e.g. Columbia.edu) to its 32-bit IP address
  53. Ethernet
    the most widely used broadband technology in commercial and office environment
  54. Encapsulation
    the hiding of implementation details
  55. flops
    (FLoating point OPerations per Second) a measure of a computer�s performance
  56. Kilobyte
    (KB) 2^10 bytes (1024)
  57. Megabyte
    (MB) 2^20 bytes (more than one million: 10^6)
  58. Gigabyte
    (GB) 2^30 bytes (more than one billion: 10^9)
  59. Terabyte
    (TB) 2^40 bytes (more than one trillion bytes: 10^12)
  60. Halting Problem
    given a Turing machine and some input for that machine, determine if that machine will halt or not
  61. HTTP
    (Hypertext Transfer Protocol) the protocol that defines communication between web browsers/servers
  62. IDE
    (Integrated Development Environment) a programming environment integrated into a software application (e.g. Eclipse)
  63. Inheritance (in Java)
    the "is-a" relationship between a more general superclass and a more specialized subclass
  64. Initialize
    Setting a variable to an initial value when it is created
  65. Instance
    refers to an object that has been created (instantiated)
  66. Instantiation
    creation of a new object (new instance of a class)
  67. Internet Protocol
    (IP) the network layer of the Internet
  68. Assembly Language
    a low-level programming language (closely related to machine language)
  69. Machine language
    the binary instructions that can be decoded and executed by the control unit
  70. op code
    (Operation Code) a unique unsigned integer code assigned to each machine language operation by the hardware
  71. Instruction set
    the set of all operations that can be executed by a processor
  72. LAN
    (local area network) a network that is located in a geographically contiguous area such as a room, a building, or a campus
  73. WAN
    (wide area network) connects devices that are not in close proximity but rather are across town, country, or the ocean
  74. Logic gate
    a circuit that takes in inputs and produces an output
  75. Loop
    a series of instructions that are performed repeatedly until a specific condition has been met (unless it�s an infinite loop)
  76. MAC
    A Media Access Control address (MAC address) is a unique identifier assigned to network interfaces for communications on the physical network segment
  77. Mass storage
    a deviced for storing large amounts of data
  78. Object
    a value of a class type
  79. Object reference
    a value that denotes the location of an object in memory
  80. Object-oriented programming
    a method of programming in which each element of the program is treated as an object that can interact with other objects within the program
  81. Operating System
    the software that launches application programs and provides services for those programs
  82. Portability
    ability to reuse the existing code when moving software from one environment to another
  83. Primitive data type
    eight in java: byte, short, int, long, float, double, Boolean, char
  84. Protocol
    a mutually agreed upon set of rules, conventions, and agreements for the efficient and orderly exchange of information
  85. Protocol Stack
    five layers: (1) Applications, (2) Transport, (3) Network, (4) Data Link, (5) Physical
  86. Pseudocode
    a high-level description of a program or algorithm using English and informal programming language syntax
  87. SASD
    Structured Analysis (SA), Structured Design (SD) are methods for analyzing and converting business requirements into specifications and ultimately, into computer programs
  88. Scope
    the part of a program in which a variable is defined
  89. Software
    any program which instructs the hardware on how it should perform
  90. Von Neumann architecture
    the structure and organization that virtually all modern computers are based on with these characteristics: (A) 1-Memory, 2-I/O, 3-Control Unit, 4-ALU; (B) Sequential Coding; (C) Stored Program Concept
  91. Stored Program Concept
    the instructions to be executed by the computer are represented as binary values and stored in memory. The idea was introduced in the late 1940s by John von Neumann (big deal/breakthrough)
  92. Syntax
    grammatical rules in a particular programming language
  93. Time Complexity
    quantifies the amount of time taken by an algorithm to run as a function of the size of the input to the problem, commonly expressed using big O notation
  94. Transistor
    elementary building block for all modern computers; Can be in an OFF state (does not allow electricity to flow) or in an ON state (electricity can pass unimpeded)
  95. Truth table
    a table showing the output state for all possible inputs of Boolean expression
  96. Turing machine
    a very simple model of computation that is used in theoretical computer science to explore computability of problems
  97. White space
    Any sequence of only space, tab, and newline characters
Card Set
Terms to learn for Computer Science Final