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
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).
Click here for more Computer Science Education Week content.