Fall 2000 Test 1 Study Guide

Book: by Ravi Sethi

To direct your study, I strongly suggest that you answer the nonprogramming questions in chapters one through seven of your programming languages text. For the other topics, I have provide sample type questions for you to review. This will be a closed book test.

TOPICS
  • History of Programming Languages
  • Early computers were designed as electronic calculators to solve numerical problems. Speculate on what programming languages would be like if these early machines were developed for a different purpose (e.g., word processing, robot control, game playing)
  • Why do we "like" standardization?
  • Why do we have "classifications" of languages?
  • Why so many programming languages?  What makes them different?
  • If Turing code is a Universal language, why don't we just program using it?
  • Chapter 1: Role of Programming Languages
  • What Makes a Good Language
  • Language Design Issues
  • What are the classes of binding times? Why are binding times important? FLEXIBILITY - Why Fortran is so inflexible (but safe)?
  • How are software and hardware related?
  • What is a language paradigm? Give a description and example of
  • Imperative language -
  • Applicative or Functional language -
  • Rule-based -
  • Object-oriented -
  • Language Translation Issues
  • What are the general syntactic criteria for selecting a language notation?
  • What types of overall program structure exist?
  • What are the stages in translation?
  • What are BNF Grammars?
  • Using the following BNF Grammar, create a parse tree for

  • expression:     W = F * (U + v)
    grammar:

     < arithmetic expression > ::= < arithmetic expression  > - < term >
     < term >                  ::= < primary > | < term > * < primary > |
                                                 < term > / < primary >
     < primary >               ::= < variable > | < number > | (< arithmetic expression >)
  • What is ambiguity? Where often does the fault lie (grammar or language)?
  • Chapter 2: Language Description: Syntactic Structure
  • Chapter 3: Statements: Structured Programming
  • Chapter 4: Types Data Representation
  • Chapter 5: Procedure Activations
  • Simple Procedural Languages: FORTRAN, C
  • Why is FORTRAN classified as a simple procedural language?
  • What was the overriding issue when FORTRAN was developed?
  • What kind of data types are given in FORTRAN?
  • What is FORTRAN's binding time?
  • Give an evaluation of the language.
  • Chapter 6: Groupings of Data and Operations
  • Block-Structured Procedural Languages, Pascal
  • Why is Pascal classified as a block-structured language?
  • What was the overriding issue when Pascal was developed?
  • What is Pascal's binding time?
  • What kind of data types are given in Pascal?
  • Give an evaluation of the language.
  • Chapter 6: Groupings of Data and Operations
  • Storage Management
  • What are some of the major run-time elements requiring storage?
  • Give pros and cons about storage under control of the program... under control of the system.
  • What are the phases in storage management?
  • What is garbage? What is a dangling reference? How are these dangerous to your program?
  • Give some techniques (pros and cons) for recovery?
  • One of the striking features of garbage collection as a method of storage recovery is that its cost is inversely proportional to the amount of storage recovered; i.e., the less storage recovered, the more it costs to perform a garbage collection.
  • (a) explain why
  • (b) When a program is just about to run out of storage altogether, it often performs a series of lengthy and costly garbage collections before it terminates altogether. Give a method for avoiding repeated useless garbage collections of this sort.
  • Chapter 7: Object-Oriented Programming
  • [ CS 435/535 Virtual Office ] - [ BSU CS Homepage ] - [ BSU Homepage ]


    Last Update: 10/2000

    Name: D. Zage