Fall 2000

Book: by Ravi Sethi

To direct your study, I strongly suggest that you answer the nonprogramming questions in chapters eight through twelve 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
  • Ada, C++, Java, Smalltalk
  • Give an evaluation of the Ada language.
  • Give an evaluation of the C++ language.
  • Give an evaluation of the Java language.
  • Give an evaluation of the Smalltalk language.
  • Because Ada allows actual paramenters to be paired with formal parameters by using the names of the formal parameters in the call statement, the formal parameters names become visible in the caller. Ordinarily formal parameter names are local to the called subprogram and are not visible to the caller. Explain the effect on ease of modification of a subprogram caused by the visibility of its formal parameter names.
  • You are responsible for porting a 750,000 C++ program to your company's new computer. You manage to copy the source code to the new machine, but you discover when you try to compile it that it has 15,000 compile errors. What do you do now. How could you have avoided this in the first place.
  • You are responsible for porting a 750,000 Java program to your company's new computer. You manage to copy the source code to the new machine. Give the scenarios of what can (needs) to happen next.
  • Chapter 8: Elements of Functional Programming
  • Chapter 9: Functional Programming in a Typed Language
  • Chapter 10: Functional Programming with Lists
  • What is printed?
                  fun last([x:int]) = print(x)
                       | last (x::y) = last[x]);
                  last([10,20,30,40]);
  • Chapter 11: Logic Programming
  • Chapter 12: An Introduction to Concurrent Programs
  • SDL: Specification Description Language
  • What are the benefits of using SDL?
  • What type of applications can benefit the most from using SDL
  • Would you say that SDL is a hierarchical language.
  • Higher Levels of Abstraction and Advances in Language Design
  • One of the more difficult problems in concurrent application is the answer to the question "What time is it?" Synchronizing clocks across a network of machines can be difficult, since you want the time to be exactly the same across a network, yet it takes a finite amount of time to propagate a given time to all machines.
  • a. Think of a method to pass the time to the various processor of a multiprocessing system so that each machine has exactly the same time.
  • With some RISC processors, the execution of the assignment statement in the following:
  •                     While some condition do
                             -- some statement here
                             C = A+B
                            end
     
                        will execute as follows:
                               Load control memory with A
                               Load control memory with B
                               Add two values (i.e. compute A + B)
                               goto while statement
                               store control memory into C
    
                       Explain how the store to C can occur after the jump to the top while loop and still be 
                       correct?
  • Scripting Languages
  • What is a scripting language?
  • Give some examples of scripting languages?
  • In you bag of programming tools, why should you keep some scripting languages handy?
  • Is there anything that you can do in a scripting language that you cannot do in programming language?
  • Can you write a new language using an existing language?
  • Pros and cons of using scripting languages
  • [ CS 435/535 Virtual Office ] - [ BSU CS Homepage ] - [ BSU Homepage ]


    Last Update: 12/2000

    Name: D. Zage