(full first and last name)
UCSD email address: @ucsd.edu
Optional: name you wish to be called
if different from name above.
Optional: name of "homework buddy"
(leaving this blank signifies "I worked alone"

h01: Guttag, Chapter 1

ready? assigned due points
true Sun 07/31 03:00PM Mon 08/01 09:00AM

You may collaborate on this homework with AT MOST one person, an optional "homework buddy".

Bring this with you to your first lecture on the due date indicate.

Reading Assignment

Please read Chapter 1 in our textbook, “Introduction to Computation and Programming Using Python, Revised And Expanded Edition” by John Guttag:

Then, I’d like to invite you to write answers to the following questions. You are encouraged to actually write these long-hand on paper. The reason is that there is some evidence from the literature on Educational Psychology that doing so (rather than typing into a computer) may have beneficial effects on learning. There is also evidence—evidence collected from a meta-review by UCSB Psychology professor Richard Mayer and his student Logan Fiorella—that the following eight strategies are helpful to learning. Here, we are going to focus only two of those (a list of all eight strategies appears on the SPIS website.

For the first half of the chapter, we’ll provide some questions that might appear on a quiz/exam that you might be given after reading this passage. By answering those questions right after reading, you can help the reading stick. Then, for the second half of the chapter, you’ll be asked to come up with the summary and the quiz questions yourself.

  1. (10 pts) Chapter 1 discusses declarative vs. imperative knowledge. How would you explain the difference?

    (You are invited to read, understand, then summarize in your own words, rather than copying verbatim from the book.)

  2. (10 pts) How would you explain the difference between fixed-program and stored-program computers?

  3. (10 pts) In the context of describing the Church-Turing thesis, Guttag mentions that some functions are “not computable”, and gives an example. What is this example of an “uncomputable function”?

  4. (10 pts) Computer Science professors and students tend to argue a lot about whether one programming language is “better” than another. What is the signficance of the notion of Turing Completeness to this kind of discussion?

  5. (60 pts) So far, we’ve provided some questions to guide your reading. However, in many university level courses, you’ll need to develop the skill of deciding for yourself what the important parts are in a reading passage.

    Please read the rest of the material on pages 4, 5 and 6 and provide your own summary of what you think the most important concepts on these pages are, confining that summary to the space provided below. For each important concept, also come up with a practice quiz/exam question you might pose to a friend if you were helping them study.

    You may want to write out your answers on scratch paper first, then copy them to the space below.