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

Senior Manager, SAS Online Communities

+Chris Hemedinger is the manager of SAS Online Communities. 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.  He also hosts the SAS Tech Talk webcasts each year from SAS Global Forum, connecting viewers with smart people from SAS R&D and the impressive work that they do.


  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.

Leave A Reply

Back to Top