Pop Quiz for Computer Science Education Week

I helped to write a quiz for the Computer Science Education Week promotions that were featured on our company intranet. Do you fancy yourself as a Comp-Sci aficionado? Let's see how you do with these.

1. Which achievement is Charles Babbage most famous for?

A. Establishing software retail shops in shopping malls across America

B. Inventing a strategic card game that involves using pegs to keep score

C. As one of the "fathers" of the programmable computer

D. Earning an all-time high score while playing Mafia Wars

2. Early computer programs and data were originally recorded on what storage device?

A. Iomega "Zip" drives

B. 8" floppy disks

C. Punched cards

D. 8-track cassette tapes

3. Which of the following is NOT a computer programming language?

A. Lisp

B. Python

C. Ruby

D. Simba

E. SAS

4. Within a computer program, a function that can invoke itself again as part of doing its work is known as:

A. recalcitrant

B. recursive

C. redundant

D. repulsive

E. a stack overflow exception

5. In a computer program, a variable that simply holds the memory address of another variable or data structure is called:

A. a memory leak

B. a pointer variable

C. a linked list

D. an address box

Answers:

1: (c). Charles Babbage is known as a pioneer in the concept of a programmable computer, even though he lived long before the technology to build modern computers was invented. Source: Wikipedia (http://en.wikipedia.org/wiki/Charles_Babbage)

2: (c). Punched cards have been around since the earliest "computing machines". Beginning in the 1960s, magnetic tape and other storage devices began to replace punched cards for data storage. Source: Wikipedia (http://en.wikipedia.org/wiki/Punched_card)

3: (d). At the time of this writing, there is no computer programming language named "Simba"…but it's probably just a matter of time. The most popular active programming languages are tracked at the TIOBE Programming Community Index (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html). The SAS programming language is currently at number 18 on the index.

4: (b): "Recursive" is the most correct answer here, but unless used with extreme care, any of the other answers might be the result.

5: (b): A pointer variable (or pointer, for short). Pointers are common in some programming languages, such as C and C++, where they are usually essential for memory-efficient operations. Those who work with higher-level languages such as Java, C#, or even SAS don't encounter pointers nearly as often (the lucky stiffs).