Eck Test Study Notes

Embed Size (px)

Citation preview

  • 8/3/2019 Eck Test Study Notes

    1/31

    Data are symbols representing the values of theproperties ofobjects.

    The four aspects of objects

    y Behaviour - process, procedure, activity, tasks

    y Structure - all the properties.

    Synonyms for Properties

    y Commonly Used: Properties, Attributes, Traits, Characteristics, Etc.

    y Discipline-Oriented: Variables (incl. Constants), Placeholders, Dimensions,

    Fields, Cells

    y Other: Factors, Criteria

    These all have one thing in common, which is that they are all spatial containers that

    hold values. A value reflects what component is inside the property. A component is an

    object.

    y Value worth, state, status, condition, etc.

    y Meaning - significance

  • 8/3/2019 Eck Test Study Notes

    2/31

    DATA / INFORMATION: Internal Data Representation

    Definition of data/information

    Difference Between Data & Information

    Bits, Bytes, and Organization into Fields

    Field Types: Numeric, Character, Bit String

    Definition ofData/Information

    Definition: Symbols (signs) that represent:

    the values (state, worth)

    of the attributes (properties, characteristics, aspects, traits, variables, dimensions,

    placeholders, factors, criteria, fields, etc.)

    of objects (forms having behavior).

    Difference Between Data & Information

    There is an arguable distinction between the two.

    Information is data that has been turned into something more useful for the user, who

    receives the information through output devices.

    Data is what goes into the computer from a user via input devices.

    Thus, information is like the final product, while data is analogous to raw materials or

    component parts going into the process.

    When data is inside the computer, in the form of bits not readable by an ordinary user, we

    simply think of this as data.

    When data is output to a user by an output device, it is in a form understandable by the user,

    and, presumably, more useful to the user than the data that went into the process of

    manufacturing the information from other data.

    The distinction between data and information is relative, since some users data may be

    another users information.

    Bits, Bytes, and Organization into Fields

  • 8/3/2019 Eck Test Study Notes

    3/31

    Data gets inside the computer from an input device, a communications device (from another

    computer), or auxiliary storage (previously saved data). It may also be generated by the

    currently running program.

    In all such cases, once inside, data is in the form of on/off (true/false) switches called bits

    (short for binary digits).

    As bits, we use 0s and 1s to represent the value of each piece of data. A 0 represents an off

    condition, while a 1 represents an on state.

    We join series of neighboring bits together to form the data values of particular memory storage

    locations corresponding to fields (variables, properties, attributes) in software programs.

    Each field (variable) name in the program designates a particular range of memory addresses

    (contiguous bits) at program run time.

    For example, a program may have a field (variable) called Velocity, with 24 bits in a series in a

    given memory location representing the value of the velocity at any given time during the

    running of this program.

    How many different symbols can be represented by 2 successive bits? The possible patterns

    (permutations) are 00, 01, 10, and 11, making 4 (22) symbols.

    For 3 successive bits, the patterns are 000, 001, 010, 011, 100, 101, 110, and 111, making 8 (23)

    symbols.

    For 4 successive bits, you get 24 = 16 symbols. And, so on.

    Normally, within each field location, bits are organized into larger sub-groupings called bytes,

    octets, or other. The most common is the byte, which is nowadays a series of 8 contiguous

    bits.

    For example, our Velocity field of 24 bits would consist of 3 bytes.

    In previous times, such groupings were fewer than 8 bits, starting at around 3 bits in the earliest

    days of telecommunications using the telegraph.

    Since each position in, say, a byte (taken normally today as 8 bits) can be either on (1) or off (0),

    different values of the memory location can represented through permutations of the on/off

    pattern. Here are some examples: 00011101, 10101000, 11111111, 00000000, 11001100,

    10101101.

    There are 28 (2 to the power 8) = 256 possible permutations of the 0s and 1s in any 8-bit bytes,

    giving 256 possible values.

    The question is, what values are represented by the different arrangements (permutations) of

    the 0s and 1s?

  • 8/3/2019 Eck Test Study Notes

    4/31

    To answer this, we need to know something about the basic type of data represented by the

    field containing these bit patterns. That matter is the subject of the next group of slides in this

    slideshow.

    Data Types

    There are three basic types of data generally used in computer programming, as well as many

    sub-types of each. The programmer indicates the data type for each field (variable) created in

    the program.

    The three basic types are numeric, character, and bit string.

    In the next slide, click on the data type link to go to (and then return from) a sub-slideshow

    devoted to that data type.

    Numeric fields: contain numbers with which mathematical operations (addition, multiplication,

    etc. can be done).

    Character fields: contain symbols, such as those from commonly known alphabets, possibly

    including numeric digits that are treated as characters rather than as numbers subject to use in

    mathematics.

    Bit string fields: are simply individual bits, rather than contiguous series of bits super-organized

    in larger groups, such as bytes.

    Data Type: Numeric

    To form a numeric quantity from a string of 0s and 1s, you need simply treat these digits as the

    two digits of a number system having a base of two, i.e., the binary number system, which has

    only two digits, 0 and 1. You can represent exactly the same quantities as in the decimal system,

    which has 10 digits, 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9. The decimal system has a base of 10, and was

    undoubtedly chosen by man because he has 10 fingers and 10 toes.

    To give an example of equivalent numbers in both number systems, let us first assume that we

    are dealing with non-negative integer numbers, so that one position does not have to

    correspond to a fractional number start, and one bit does not have to represent the sign

    (positive or negative) of the number. Then, for example, the decimal number 5 equals the binarynumber 101; i.e., 510 (5 to the base 10) = 1012 (101 to the base 2).

    The mechanics of converting from binary to decimal will be explained by your teacher in class.

    Basically, if there is a 1 in a binary number position, that adds 2 to a certain power when

    accumulating the binary digits to form the equivalent decimal number. In this example, we have

    22 + 20 = 510.

  • 8/3/2019 Eck Test Study Notes

    5/31

    The exponents (superscripts) are obtained by counting the position of the binary number in

    decimal numbers, starting at zero (rather than at one), going from right to left (rather than from

    our normal left to right). In the binary number 101, the rightmost 1 is at position 0, will the

    leftmost 1 is at position 2, from which we obtain our exponents.

    As you add more bits to the left in the binary number, the number size increases dramatically(exponentially).

    Thus, with non-zero integers and just one byte (8 bits), the equivalent decimal numbers

    are in the range 0 to 255 (28, making 256 integers).

    With two bytes (16 bits), the equivalent decimal numbers are in the range 0 to 65536

    (216

    , making 65,537 integers).

    There are many sub-types of the numeric data type available in programming languages,

    including types that contain fractional parts, use one bit to indicate the sign of the number, and

    allocate different numbers of bits to control maximum or minimum size of the number with thatsub-type. You learn this in a programming course.

    Data Type: Character

    The character data type is sometimes call the string, or text, or symboldata type; e.g., in Visual

    Basic, the term string is used.

    A character can be any shape designated as a unitary character. Thus, it could be a picture of

    your grandmother, a simple dot or dash, a letter of some known or secret alphabet, or a digit of

    some number system treated as a shape rather than as a number.

    Character data types are established by convention.

    For example, say you have a byte (8 bits) as your character units. With 8 bits, you have

    28

    = 256 possible permutation (arrangements) of the bit pattern.

    Each arrangement is then mapped to a particular character, based on a particular

    convention agreed to by everyone using the same set of mappings (every party to that

    convention).

    For example, following are some mappings of byte patterns to particular characters based on a

    convention known as ASCII (American Standard Code for Information Interchange):

    00100101 % (percent sign);

    00110101 5 (digit 5, not a number here);

    01001011 K (English letter, capital K);

  • 8/3/2019 Eck Test Study Notes

    6/31

    01101011 k (English letter, small k).

    The ASCII convention, mentioned on the preceding slide, was the first one established, and is

    still the one most widely used and a common denominator for data interchange between

    different computer manufacturers and on the Internet.

    This convention dates back to the early 1950s, when it was originally established for 128

    characters based on a 7-bit (rather than 8-bit) byte.

    Actually, the original motivation for the meeting that established ASCII was to establish certain

    non-printing characters to be used to communicate between computer processors and their

    peripherals, and between computers of different manufacturers.

    The original ASCII was based on a 5-bit byte, which gave the first 25 = 32 characters of ASCII.

    These characters, if you have seen them on your screen, often have strange shapes. The 8th of

    these is the standard, dark, circular bullet character (), which actually meant the Backspace key

    on your keyboard.

    Go to http://www.neurophys.wisc.edu/comp/docs/ascii/#table to go to the Web to see the

    original, only 7-bit-based set of 128 ASCII characters. In the table on that webpage:

    The leftmost column gives you the decimal number equivalent of the 7-bit pattern in

    that row.

    The 7-bit pattern is in the column whose header is Binary.

    The ASCII character for the row is in the rightmost column.

    If you look carefully at the table on the webpage, you will notice that ASCII characters:

    0 to 31 are the communications control ones, based on a 7-bit byte.

    32 to 126 are you standard American English typewriter keyboard characters, not

    including function, arrow, Backspace, and other similar keys.

    127 (the 128th character) is the Del key on the standard American keyboard.

    Nowadays, ASCII is just one of many well-known conventions for assigning particular 8-bit (byte)

    patterns to characters:

    Each major language group has its own.

    There are special conventions for certain graphics characters, such as Dingbat, and for

    mathematical characters.

  • 8/3/2019 Eck Test Study Notes

    7/31

    The last 128 characters of Extended ASCII (based on an 8-bit byte) are now foreign language

    characters from the typical English-language speakers perspective, as well as special characters

    such as copyright symbol, certain mathematical symbols, and so on.

    In any Microsoft application, you can select Insert > Symbol to view many more characters

    available based on different conventions for an 8-bit byte.

    In addition, you can select a convention called Unicode, which is based on 16 bits (rather than

    8), and includes the 5,000-plus characters of certain traditional oriental languages, such as

    Chinese.

    Data Type: Bit String

    Bit string fields are usually used for storing values indicators that have just a few possible values,

    e.g.:

    1 bit to signal a simple true or false condition.

    3 bits to obtain a field with up to 8 possible values, such as the colors of the chacra (red,

    orange, yellow, green, blue, violet) plus black and white.

    Bit string data allows conservation of space, since it does not work in increments of bytes. It

    works, that is, at the level of the individual bit, below the level of the byte.

    USERS

    INTRODUCTION

    A user is an intelligent agent who/that interacts with the computer.

    Users may be sub-typed according to the roles they play in relation to the computer.

    The broad definition includes both direct users and those who have a somewhat indirect

    relationship.

    Example of the latter include the manager who sponsored purchase of the computer in a

    company, the thief who stole data from the computer, and programmer who wrote the

    program, and so on.

    In this course, the two kinds of users of interest are the operator user and the end user.

    OPERATORUSER

    The operator user role involves managing the computer including

  • 8/3/2019 Eck Test Study Notes

    8/31

    Entering data

    Handling the printer and printouts

    Implementing new programs

    Handling hardware or data problems, etc.

    ENDUSER

    The end user receives that information produced by a computer for use over and beyond

    operating the computer itself.

    For example, a sales report would be used by a sales manager to analyze sales, rather than to

    find errors in the computer functioning.

    The end user role could be played by:

    a customer who receives an invoice

    a friend who receives a letter

    the writer of the letter, etc.

    Without end user information, a computer would have no real use.

    The end user role does not involve actually physically touching the computer, although it

    involves looking at output on screens and from printers.

    The end user role is played when information is received by a user.

    Note that end users and operator users refer to roles that may, and usually are, played by the

    same person.

    The two roles are often intertwined so closely that it becomes impossible to distinguish them

    from one another.

    For example, when playing a computer game

    you are the operator user when making selection via a joystick

    You are an end user when receiving enjoyment from the game, i.e., results of

    which operator user is winning or losing.

  • 8/3/2019 Eck Test Study Notes

    9/31

    INTRODUCTION

    Let us begin with a simplified, conceptual model of the hardware, and then relate

    this model to the complexities of actual, physical implementation of the computer

    machine.

    The model, shown in the block diagram on the next page, does not account for

    many of the conceptual complexities. In particular, it does not account for the fact

    that the processor usually involves a main processor along with one or more

    further levels of assistant/satellite processors (whole or partial).

    In the below, all the devices other than the processor can be categorized as

    peripheral devices.

    Hardware includes:

    Peripheral devices & Processor

  • 8/3/2019 Eck Test Study Notes

    10/31

    The RAM (Random Access Memory) part of the Processor acts as a kind of

    Central Station for all data passing through the computer, including:

    the interaction between the peripherals and processor;

    the RAM and CPU parts of the processor during the machine

    instruction execution cycle of a running program.

    Peripheral devices include:

    Input/Output devices

    Communications devices

    Auxiliary Storage devices

    I/O devices are meant to communicate with users, in formats that users can

    relate to.

    Not 0's and 1's, as used internally by the computer processor and storage.

    These familiar devices are classifiable according to the human sense they

    relate to:

    Touch

    Sight

    Hearing

    Smell

    etc.

    The most common input devices, the keyboard and the mouse, correspond to the

    sense of touch.

    Note that the mouse is the most common example of a sub-class of input devices

    known as pointer devices, which also includes:

    Joysticks

  • 8/3/2019 Eck Test Study Notes

    11/31

    touch screens

    light pens

    digitizer pads

    Scanners are input devices that "see" pictures and text.

    Microphones correspond to the sense of hearing.

    Printers and monitors (screens), the most common output devices, rely on

    sight.

    Speakers and headphones are sound output devices.

    Braille printers communicate based on the sense oftouch.

    More importantly, robots, driven by computers, are touch output devices.

    Communications devices include switches and routers.

    They are used for interchange of data between different computers.

    The data is interchanged in computer internal storage format, i.e., as bits

    and bytes.

    Historically, people have conceptualized the human brain as involving a thinking

    part and a memory part, including both a short-term and a long-term memory.

    While today's scientists now see the brain in a somewhat different way, this

    historical conceptualization still applies to computers.

  • 8/3/2019 Eck Test Study Notes

    12/31

    The auxiliary storage is that part of the computer memory where users save data

    as files for later recall.

    This long-term memory is less expensive and slower in access speed than is the

    current (main) memory of the computer.

    Secondary memory devices are classifiable according to the technology used for

    representing 0's and 1's.

    One of these technologies records 1's

    and 0's as magnetic fields, using a positive

    field for a 1 and a negative field for a 0.

    Note: The words memory and storage are synonymous as used here.

    As well, the terms secondary, long-term, and some other words are

    synonymous with the word auxiliary.

    This category of devices includes:

    various kinds of disks

    hard/fixed

    floppy/diskettes

    removable hard

    magnetic tapes

    cassette, large

    VCR

    Magnetic encoding devices are coated with iron oxide, a brown substance.

  • 8/3/2019 Eck Test Study Notes

    13/31

    The other technology uses impressions burnt in by lasers on the surface of a disk

    1's are represented by a depression or elevation in the surface

    0's represented in the reverse way.

    This technology includes:

    CD's (compact disks, read-only or read and write varieties)

    DVD's (digital video devices, now used for videos).

    Processors include:

    MainMemory

    Computer Processing Unit (CPU)

    Main memory (or storage) is where the data currently being processed by the

    program gets placed.

    Main memory, of which there are several grades, is more expensive than auxiliary

    memory, as well as faster with respect to access speed.

    Copies of all programs that are currently open and the data used (produced,

    referenced) by these programs must be in the main storage for the program to

    execute in the CPU.

    Note: The words memory and storage are synonymous as used here.

    As well, the terms primary, current, and some other words are

    synonymous with the word main.

    The first computers, around 1943-44, used vacuum tubes for the main memory,

    with 1 signaled by an illuminated tube.

    These bulky and unreliable devices were then replaced by iron, with 1's and 0's

    represented by magnetic fields.

  • 8/3/2019 Eck Test Study Notes

    14/31

    The next generation of main memory based itself on solid-state transistors,

    embedded into semi-conductor chips (normally made of silicon).

    A semi-conductor chip is a wafer of silicon.

    This wafer is normally mounted on a platform protected by a layer of

    plastic.

    The platform has aluminum teeth or conductors of other shapes that

    connect the chip:

    to the bus system of the computer's circuit board

    or to various slots on the circuit board that in turn connect into

    the board's bus system.

    The semi-conductor chip is itself a circuit board, but at a more microscopic level.

    Thus, we have a smaller circuit board, the semi-conductor chip, making electric

    contact with a larger circuit board (motherboard or adapter cards) via aluminum

    conductors.

    With semi-conductors:

    1's are represented by the presence of a static electricity charge

    0's are represented by the absence of such a charge in a given memory location

    Semi-conductors retain electrostatic charges only when they receive periodic

    pulses of electricity.

    Semi-conductor memory is volatile ("flies away"), since its contents are lost when

    the electricity is shut down.

    Future technologies for main memory may base themselves on light, rather than

    electricity.

  • 8/3/2019 Eck Test Study Notes

    15/31

    RAM and ROM

    There are two basic types of main storage:

    RAM (random access memory)

    ROM (read-only memory)

    The "ordinary program" can not only read from RAM, but also can also write to it,

    and replace or erase data in it.

    Some kinds of RAM, called dynamic RAM (DRAM) need to have their contents

    rewritten every so many milliseconds.

    A more expensive and faster kind of RAM, called static RAM (SRAM), does not

    have to be refreshed as long as the electricity remains on, and is only volatile in

    the sense that its contents are lost when the computer is turned off.

    One particular RAM chip on a PC circuit board is kept alive even when the

    computer has been shut off due to electricity from a battery.

    This is the CMOS (Complementary Metallic Oxide Semi-Conductor) semi-

    conductor chip, which contains the computer clock and configuration

    settings.

    This data can be rewritten by a program that is invoked by:

    pressing a designated key at a certain point in the boot process

    (see the section on operating system programs)

    or by choosing certain options in the Windows setting control

    programs (e.g., to change date and time).

    Originally, all ROM had unchangeable programs burnt into microscopic circuitry.

  • 8/3/2019 Eck Test Study Notes

    16/31

    Programmable ROM (PROM) can be rewritten by the chip manufacturer using

    ultraviolet light to erase previous circuitry on the chip).

    Neither of these kinds of ROM contain data (1's and 0's), but just have circuitry.

    Flash ROM (a kind of EEPROM, or electronically erasable programmable ROM) can

    be rewritten based on the usage of a special voltage level applied to a pin to erase

    old data. Note: The circuitry represents the program logic -- see section on

    programs.

    FLASHMEMORY USAGE OF ROM

    The latter kind of ROM is really neither traditional RAM nor traditionalROM. It is, in fact, part of the auxiliary storage of the computer, rather than

    main memory.

    It is used to record zeros and ones, rather than as a circuit board for

    encoding firmware programs.

    It is often used for:

    certain basic system hardware control programs (BIOS, or BasicInput/Output System programs);

    and to hold user data in portable ("Notebook") computers and digital

    cameras.

    CPU (Central Processing Unit)

    The CPU carries out program instructions. It contains two basic

    components, namely:

    CU (Control Unit): coordinates processor operations:

  • 8/3/2019 Eck Test Study Notes

    17/31

    determining the next program instruction for

    execution

    managing the execution of this instruction by the

    ALU

    ALU (Arithmetic/Logic Unit): carries out the program

    instruction by:

    arithmetic (add, subtract, divide, etc.)

    "logical" (comparison, >, =,

  • 8/3/2019 Eck Test Study Notes

    18/31

    Output data from the program is copied from the RAM to auxiliary

    storage files, or sent from RAM to output devices.

    Program Instruction Flow

    The RAM as Central Station for all Data Flow in the Computer (contd)

    All data input into the registers (local memory areas) of the CPU, and all

    data produced by the CPU also has to flow via the RAM. Thus:

    When the CPUs CU (Control Unit) decides which software program

    machine language instruction is to be executed next, it reads that

    instruction into its register, by copying it from the RAM (where it has

    to already be).

    Any data values needed by the program instruction are copied from

    the RAM into the registers of the ALU (Arithmetic/Logic Unit).

    Any new data produced by the instruction execution in the ALU is

    copied into another location in the RAM.

    So that we can understand an example, let us pretend that the CPU

    executes high-level program statements rather than machine level programinstructions. Let us assume a program whose steps are:

    Input the value of X, where X is a variable.

    Let A (another variable) be set to the value obtain by adding X + 1

    (i.e., A = X + 1).

  • 8/3/2019 Eck Test Study Notes

    19/31

    Print the value of A to the printer.

    The program instructions are already in memory, and the first instruction

    has already completed. The instruction cycle is then as follows:

    The CU determines that the second instruction is next, so it reads the

    instruction into the CUs register.

    The instruction is analyzed by the CU, and then sent to the ALU for

    number crunching (in this case).

    The ALU copies the value of X into its register.

    The ALU does the addition and produces the value of the variable A.

    The ALU stores the value of A in RAM.

    What is a program?

    A program is a series of steps that lead to a well-defined outcome in a finite amount of time.

    For instance, an academic program is a series of courses leading to a degree.

    A computer program is a set of instructions to the computer telling it what to do in a specifiedorder.

    Here is an example of a computer program:

    Input the value of X from the keyboard.

    Let A = X + 1.

    Print the value of A to the printer.

    Save the value of A on disk. (Could be done before, after, or at the same time as

    step 3.)

    Program steps do not have to form a simple sequence.

    Thus, programs can have branches, such as IF conditionXis true, do the following; otherwise, dothe alternative steps.

    Also, programs can have loops to reiterate certain steps, or to go back to repeat steps incorrectlycarried out.

  • 8/3/2019 Eck Test Study Notes

    20/31

    Two Ways of Implementing Programs

    There are two ways of implementing programs:

    Using data/symbols/information. This is software implementation. Thus, programsthemselves may be a kind of data (see definition of "data" in the data/informationsection), and programs process other data (e.g., values of variables X and A in the above

    example). Using circuitry to force program actions. This is firmware/hardware implementation.

    Implementing Programs as Firmware

    It is possible to embody programs as circuitry that forces the computer to perform certain logic.Here are a few examples:

    Consider a boulder in a stream that causes the water to flow around it as a kind of"program" for the stream to follow. The layout of the electronic circuitry of the computercan have an analogous effect.

    Another example is a program to bounce a drunk out of a bar. If the bouncer asks the

    person to leave and the person leaves voluntarily, the program has been beencommunicated symbolically. If the bouncer physically throws the person out on the street,the program is communicated "through the hardware."

    The idea of a physical representation of a program may seem esoteric. However, the firstcomputers were programmed by wiring the computer in a certain way, e.g., to force it to addnumbers.

    A similar idea exists in modern computers, where computer manufacturers burn microscopic circuitry intosemi-conductor chips (see the idea of ROM chips in the section on computer hardware, main memory).This is the idea of firmware

    Implementing Programs as Software

    Communication by symbols/data implies software, and by physical constraints impliesfirmware:

    Suppose that someone tells you in words (with data/symbols/information) to dosome series of steps, and you follow the steps on your own. This is analogous toa software (symbolic) program.

    Alternatively, if they force you mechanically through the same series of steps,which you do passively, this is analogous to implementing the program in thecircuitry by firmware or even large wiring.

    Most programs today are embodied as data, i.e., are software programs.

    Computers do not directly understand steps written in human language.

    Instead, they require instructions that are at the same level of detail as the computer's ownelectronic circuitry.

    How is this translation from human language to electronics achieved?

    The original symbolic programs were written directly in machine language (in zeroes and ones)at a level of detail matching that of the electronic circuitry of the computer.

    Then it took a long time just to write a simple program, for example, to add two numbers.

    Nowadays, programmers write symbolic (data-represented) programs using programminglanguages that are closer to human language.

  • 8/3/2019 Eck Test Study Notes

    21/31

    This was made possible by writing other programs to translate "higher level" program statementsinto many more detailed steps in machine language.

    Such translator programs themselves come at various levels of translation detail.

    While a program written in a so-called "third-generation procedural" programming language mightlook something like the above example (of 4 steps), other programs may be written in either moredetail or in less detail.

    In effect, with still higher level programming languages, the user is not actually doing programming, but isjust giving the computer enough information to allow other programs in the computer to generate theprocedure needed to form the program

    Software and Programming by Design

    An example of such "non-programming programming" is specifying the structure of data table inAccess, including what fields each record is to contain and the properties of each field.

    From such specifications, Access is able to generate certain program steps.

    That the computer itself generates the programming steps is often not obvious at all.

    For example, designing a Word document by changing its margin settings may be viewed asprogramming in a fourth-generation (non-procedural) programming language.

    The ultimate example of a high-level "programming" language is seen in StarTrek, where the useris able to specify to the so-called "replicator" some of the characteristics of certain food from alienplanets, based on which the computer inside the replicator is able to generate the necessarysteps (recipe) to produce that food.

    Firmware versus Software Programs: Some Alternatives Uses of these Terms

    Software equals programs. If this definition is used, then firmware is just a type of software.

    Software refers to programs loaded into the RAM for execution. These are all those programsrepresented by data (symbols) rather than circuitry (as are ROM programs, i.e., firmwareprograms).

    In this course, let us use the terms firmware and software in the latter way.

    RAM and ROM Parts of the Hardware and their Relationships with Software and Firmware

    Most programs are software ones, consisting of data loaded (copied) into the RAM part of mainmemory at time of execution.

    Firmware, however, is in the ROM part of main memory, and are embodied as circuitry. Firmwareimplementation is often used for machine control operating system programs (although somebooks do not include ROM programs in the operating system). An example is the BIOS (BasicInput/Output System) chip, which contains low-level machine control programs.

    OPERATING SYSTEM versus APPLICATION versus PROGRAMMING PROGRAMS

  • 8/3/2019 Eck Test Study Notes

    22/31

    Types of Programs from a User Viewpoint

    From a user perspective, three basic classes of programs can be identified:

    Applications programs: directly produce information for end users.

    Operating system programs: provide an environment for running all programs; used tomanage the computer.

    Programming programs: produce other programs, by helping to compose them andtranslating them to lower level languages.

    Application Programs

    Application program: a program that directly produces information for the end user.

    The word "direct" here is not used in the sense of "immediate," but in the sense of being in thedirect line of flow toward an objective (the accounting idea).

    For example, if a teacher hands a pencil to a student and the pencil goes via the hands ofseveral students to a particular student at the end of the chain, the last student is the onewho "directly" hands the pencil to the student, if "directly" is used in the sense of

    "immediately."

    However, if the term "directly" is used in the accounting sense, all the students do thedirect work of getting the pencil to the last student in the chain, while the "indirect" workinvolves supporting and/or managing the flow of getting the pencil to the student, such asplanning, enabling directing, coordinating, and correcting the flow.

    The above definition implies certain refinements to the common labeling of certain programs as"application" ones.

    Many people assume that a word processing program is an application program.

    Suppose, however, that users employ the program to write another program, or, say, to report onproblems in the functioning of the computer?

    In other words, it depends on the purpose for which the program is used by a given user at agiven time.

    In addition many programs are actually hybrids of application programs and one or both of thetwo other types.

    Operating System Programs

    An operating system may be understood as having three kinds/levels of programs:

    Programs that provide a consistent platform, supported by graphics, through which allprograms interact with users.

    Machine control programs that function in the background, and are transparent to theuser.

    Operator user utility" programs that directly allow the operator user to support and/ormanage the computer machine.

    The operating system may be seen either as an environment for running all programs, or as anunderlying system for setting up and managing the computer.

    For a custom slideshow explaining the idea of an operating system, click here. (You will bereturned here after that slideshow.)

  • 8/3/2019 Eck Test Study Notes

    23/31

    Operating system programs: programs used to support and/or manage the flow of application programexecution, as well as to support and/or manage the flow of programming programs and of itself.

    Operating system programs are needed to start-up (boot), shutdown, and enable the computer ingeneral to run between start-up and shutdown.

    The essential difference between application and operating system programs is that operatingsystem programs (hardware and/or firmware-implemented) have an indirect relationship to theproduction of information for the end user.

    The operating system programs are still necessary for end user information, in that the computerwould not work if there were no operating system programs.

    Programs to Interface with the User

    This is the part of the operating system functioning most visible to the operator user, since itdirectly (immediately) allows the user to interact with the machine.

    In the Microsoft's Windows operating system, this is the standard graphical interface that is seenno matter what program is being run.

    This interface is used both to launch programs and interact with already launched programs

    Machine Control Programs

    The machine control functions can be said to constitute the lowest level of the operating system.

    They include:

    Software programs known as device drivers, to interface with different kinds ofcomputer equipment;

    Firmware programs of the BIOS (Basic Input/Output System) chip in ROM.

    Other underlying programs needed to boot and shut down the computer.

    For example, when an application program needs to write a file to a disk, it request service fromthe appropriate machine control program of the operating system.

    This program will not only transfer the data, but will also perform functions such as:

    checking that the data was correctly transmitted;

    looking for space on the disk;

    handling space problems;

    updating the directory and file location tables at the front of the disk.

    Communication Between Operating System Levels

    Between the machine control functions of the operating system and the requests from applicationprograms for machine control. there is a level of programs that act as messengers.

    For example, when an application program wants to save a file to disk, it needs the appropriatemachine control operating system program for doing this.

    To get to that program involves a "middleware" program that receives requests from theapplication program using certain standards known as the operating system API (ApplicationProgram Interface).

    Middleware

  • 8/3/2019 Eck Test Study Notes

    24/31

    Note that the term middleware is a buzzword that has been used in many different ways in thecomputer industry.

    In its original meaning, middleware may have referred to a program that enables two otherprograms to communicate with one another on a retrofit basis.

    In that sense, middleware can enable communication between:

    two application programs;

    two operating system programs;

    an application and an operating system program.

    Operator User Utility Programs

    The utility programs of the operating system are initiated by the operator user, in a way that issimilar to the initiation of application programs (e.g., using the Start: Programs feature accessiblevia the taskbar in the Windows operating system).

    An example of such a program is Windows Explorer, the Windows file manager.

    This program achieves functions such as:

    managing the folder structure (e.g., creating or deleting or renaming folders at variouslevels of hierarchy);

    managing the files within folders (e.g., copying or moving or renaming files).

    To see that these are operating system functions as opposed to application ones, it is necessaryto ask if the program directly produces information for the end user.

    For example, does copying a file from a diskette to a hard disk directly produce information for anend user, or does it simply backup the file for security or accessibility purposes?

    Obviously, it does the latter, which is a kind of task that has to be performed to manage thecomputer environment.

    In other words, Windows Explorer performs operating system functions

    Operating System Programs

    The discussion of operating system programs can also be divided into :

    1. Booting (starting) and shutting down the computer.

    2. What the operating system does once the computer has been booted (started up), and

    before it is shut down.

    Programming Programs

    Programming programs

    Help programmer users to compose and debug programs

    Help programs to translate programs written by programmers in higher levelprogramming languages into the more detailed machine language.

    Hybrids of the Above Program Types

  • 8/3/2019 Eck Test Study Notes

    25/31

    Many programs are hybrids of the above three basic program classes.

    For example, a hybrid of a programming and an applications program occurs in the Accessdatabase program:

    When in design mode, Access is a programming program.

    When in information entry/production mode (called "worksheet view"), it is an

    applications program (insofar as it is used to directly produce information for theend user).

    A hybrid of an operating system program occurs in applications that users visit so frequently thatthe ability to launch other applications from within that application is included.

    That is, the operator user interface function of an operating system is made part of theapplication.

    In that case, the application is a hybrid of an application and an operating systemprogram/system.

    Types of Programs Studied in this CourseIn this course, we use the Windows operating system,and also learn:

    Word (word processor)

    Excel (spreadsheet)

    Windows is an operating system, but, based on the definitions of operating system establishedabove, Windows also includes a number of programs that can be used for applications orprogramming purposes.

    For example, Notepad, a text editor/word process that comes with Windows, or Windows MediaPlayer (for playing sound files, etc.) can be used for application purposes.

    When in design mode, Excel is effectively a programming program, used to buildapplications in Excel.

    Similar thinking can be applied even to Word, when the designs for spreadsheetsor text documents are being prepared using these programs.

    Spreadsheet vs. Database Software

    Database: a collection of data on a particular topic.

    Data in a so-called "relational" database may be conceptualized in terms of tables andrelationships between tables.

    Tables containing data may be produced and processed in Word, Excel, and Access.

    However, huge differences in the efficiency and effectiveness of database processing can beseen in going from a word processor, to a spreadsheet, to a database program.

    Access is by far the most proficient at database, basically because it is able to maintainrelationships between the different tables.

    These relationships are used to join data for particular queries and reports across the variousinterrelated tables in the database (and perhaps from other databases as well).

    Moreover, they support the ability to place the data on a network server, such that many userscan concurrently access that data.

  • 8/3/2019 Eck Test Study Notes

    26/31

    The other differences between a spreadsheet and a database software are not truly inherent inthe software types, and have much to do with the historical facts of how these different kinds ofsoftware evolved.

    Both spreadsheet and database programs can derive fields (cells) from other cells, usingformulas (expressions, functions).

    Database software does that through queries to produce derivative tables, or when reports arerun (e.g., reports that summarize the data at various levels).

    Database software has a much more sophisticated query and reporting ability than doesspreadsheet software, except perhaps in the area of reports in the form of charts (graphs).

    On the data input side, database software has a much more sophisticated ability to

    screen out invalid data

    set default values

    produce user-friendly interfaces for data input

    enforce consistency or integrity in the data through relationshipsinvolving more than a single table.

    Database software, is usually used when the data becomes complex, with manyinterrelationships, and when data is shared by many users on a network.

    For example, if one just wants to keep an address book just for one's own use, one could keepthe data and do the calculations using spreadsheet tables.

    However, suppose that many users want to maintain a more complex address book. In this case,the address data would be kept in several interrelated tables (e.g., a "master" table, a table thatcould have more than a single address for a particular person or company, a table for multipleemail addresses of a person, and so on).

    Access ensures that the different users enter only acceptable data into given fields (using datatypes and associated property sheets), and allows multiple users concurrent access to variousrecords or addresses.

    It is able to join the data for a given person, say, across multiple tables, and produce results usingpre-designed interfaces for data entry (forms), queries, and reports.

    Perhaps the greatest strength of spreadsheet software is in its simplicity for single-user use inmaintaining single tables, such as those used to keep class marks.

    As well, spreadsheet software is usually better for simulation of the results obtained fromexploring different ranges of input variables, based on "what-if" analysis and reporting.

    Windows Explorer

    Dragging and dropping a file with the left mouse button = the file is moved to that location.

    With the right mouse button = when dropped a list pops up and you have the choice to copy,

    move, or create a shortcut into that location.

  • 8/3/2019 Eck Test Study Notes

    27/31

    Menu Bar the bar at the very top that says File, Edit, View, Tools, Help. The menu bar is not

    absolutely necessary because you can access the same functions in the task bar (which is right

    below the menu bar) or by right clicking on a file/folder.

    Panes

    Navigation Pane : Always on the left, a pane with preset folders for organized navigation of

    folders. Favorites, Libraries, Computer, Network.

    Contents Pane: Shows you all the folders/files in the given folder or device selected in the

    navigation pane. This pane is always there. (the task bar is always there too)

    Details pane: Comes up at the bottom of the screen. Shows you a lot more data information

    about the file selected in the contents pane. This is the same info that appears in the box when

    you float your mouse over the file or in detail view.

    Preview Pane: useful in viewing photos. Shows you a smaller version preview of whats in the

    file you select in the conztents pane.

    Library Pane : located above the contents pane and below the task bar. It tells you what library

    the files in the content pane are in and allows you to Arrange By: rating, month, date, tag, etc.

    You can make panes and bars appear and disappear- Task bar- Layout- select and deselect the

    panes/bars you want to activate

    Nav. Pane break down

    Computer: Aux. storage drives that are available on your system. Drives= usually identified by

    letter not name.

    (A:) = Floppy Disk Drive

    (B:)= Disquette (old floppy disk)

    (C:) = Primary hard drive on system (successive hard drives get the successive letters) normally

    ppl have only one but can create logical drives with different letters segment , create different

    partitions/logical drives on a single hard drive. Program to do this partition magic.Why?

    some create different operating systems on different partitions. Or Server software in one

    partition and the data and other programs that are local to the computer on another partition

    because if they have to restore the server they dont lose everything. Or to hide

    thingssecurity reasons.

  • 8/3/2019 Eck Test Study Notes

    28/31

    (D:) = CD or DVD optical disk drive

    (E:) = Removable storage devices (like USB, DVD , flash memory) when you put these in they get

    assigned the next available drive letter. Usually E.

    Further letters = drives on another computer or server that you have sharing with. Ex:staffpub (L:)

    Usually these are not drives or servers but they are FOLDERS. They are given drive letters

    because it comes up right away as a major thing in the computer panel= easily findable. How

    do you give a folder a drive letter? Nav pane, Click on Computer (select), Task bar = Map

    Network Drive.

    Libraries

    -files and folders that the user has created and named. documents, music, pics, public

    pictures, etc. all these things can be found stored in the Local Disk (C:) under the Users Folder,

    each user of the comp has their own folder . Admin can see all users folder contents.

    *Programs are stored in their own files because programs are a form of data. Stored under the

    (C:) Aux. storage drive. Not all data in programs is in library because it is to technical and

    complex (ex: the programing data of that program) its in a file called ProgramData . Another

    side folder like this one, is for your emails, under your user folder. All the files in here have

    some info they dont want you to see because its too complicated.

    Favorites

    Folders: Desktop, Downloads, Recent Places . These are frequently accessed folders there for

    convienience.

    Network- -all the computer equipment, storage devices, servers on the network.

    We dont have the rights to see the contents but would if we had higher privileges/ were at

    home admin.We could see Network.

  • 8/3/2019 Eck Test Study Notes

    29/31

    Desktop

    Icons represent rather actual programs or devices such as the Recycling bin and some are

    Shortcut Icons (they have a little arrow in them in the bottom left hand corner of the icon)

    These are just hyperlinks to the folder/file/device.

    -Desktop under Favorite in nav. Pane, the files in the contents pane wont have detail boxes

    appear because they are not files, these are shortcuts : a hyperlink to another file/device in the

    system. So there is nothing to preview there.

    View Options

    Menu bar- View- here.

    Sort files by date -> click date above the list of files in the contents pane in detail view. (Duh)

    same goes for name, size, other details in that bar. (you can adjust the width of these columns

    by dragging the lines, you can move the column order by dragging and dropping columns.

    Double clicking the right border of a column name it adjusts to fit. )

    Each column is called a field of data. These fields areMETADATA : data about other data.

    Created to make indexs and to make it easier to navigate.Metadata fields.

    Ex: you produced a word doc. You have the name, date last modified, author name, rating,category, etc. That data may or may not have appeared in the actual word document its data

    about the file (data)

    Rating field, name of doc = user created data. Date, Size = auto created.

    If you didnt have Metadata- you have to look and select individual words to index by yourself.

    Nowadays sounds and images can be indexed.

    The metadata fields that show up are preselected for you, but you can pick which ones you see:

    Float your mouse over a column title, a box appears, some are checked/selected, select more,

    and then you see a whole selection of the metadata fields to pick from.

    Another way- view menu- choose details. ^

    Another way- Right click file- properties- details tab. ^

  • 8/3/2019 Eck Test Study Notes

    30/31

    but if you pick Customize tab, you can create your own metadata field or you can pick a

    template of fields -> optimize this folder for: docs, pics, music, video, etc.

    File Types

    Complexe view options

    Task bar- organize- folder and search options or Menu- tools- folder options- view tab.

    Diaolgue box appears.. Advanced settings:

    *Hidden files and folders, show hidden files,

    (you can hide or make a file a read-only file by going into properties of that file)

    *Hide extensions for known file types. : file extension ex. Jpg for a picture. The extension

    determines the file format/ type and what programs can open it. File ext. names can go from 1

    character up to about 7 characters. Each file type has its own extension. If you dont have a file

    name extension or if you accidentally change a files ext. name, when you double click on the

    file, its not going to know what program from the association table to use to open it. You can

    right click on a file and choose Open with to select a program other than the default program.

    The default program will appear highlighted.

    To change the default one you can check the box saying always use this program or go to File

    Type Association Table is in the control panel: assigns file types to certain programs.

    Useful to know the file ext. name when searching for a file! Great for narrowing down the

    search parameters. Ex: excel docs eslx , word docs- docx .

    Properties Tab when you right click on a file:

    Tabs in the box:G

    eneral,Security,

    Details, etc..

    These tabs work like the Task bar for different files/devices .. they change to suit the file based

    on what kind of file./device it is, what server its on, etc.

  • 8/3/2019 Eck Test Study Notes

    31/31