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


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.


About Author

Chris Hemedinger

Director, SAS User Engagement

+Chris Hemedinger is the Director of SAS User Engagement, which includes our SAS Communities and SAS User Groups. Since 1993, Chris has worked for SAS as an author, a software developer, an R&D manager and a consultant. Inexplicably, Chris is still coasting on the limited fame he earned as an author of SAS For Dummies


  1. Pingback: Computer Science is not just for basement dwellers - The SAS Dummy

  2. A variable that simply holds the memory address of another variable or data structure is (partially correct) a pointer.

    However a pointer can also contain the address of a function (or method etc.) or even a machine instruction (eg. "PC" or Program Counter on some architectures).

    It can also be null.

    To nitpick on the word "simply" it could also be argued that a variable that simply holds the memory address of another variable or data structure is a reference.

    This all somewhat depends on your choice of programming language, as the definition is has a bit of fluidity.

    • Chris Hemedinger
      Chris Hemedinger on

      "Fluidity"! That describes the computer science field as a whole, I think.

      Thanks Harvey, for the clarifications. That's why we need Computer Science educators: to write unambiguous questions with only one correct answer each.

Back to Top