(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 Mon 08/07 08:45AM Wed 08/09 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 indicated.

Reading Assignment

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

Then, we’d like to invite you to provide answers to the following questions. There isevidence 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. 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.

Note on how to turn in your homework assignment

All your homework assignments for FOCS share a single github repo. Please name it as homework_firstname_firstLetterLastname. For example, Alexia Thompson should name her homework repo as homework_alexia_t. This repo should be under the SPIS 2017 directory which is the default location for the repo that you have created (i.e. ucsd-cse-spis-2017/homework_alexia_t). As for how you can create a repo in github, refer to lab00 for details.

For every homework assignment, create a file named hwkxx.md where xx is the number of that homework assignment. For example, this homework’s file should be named hwk01.md. Write your answers in that file and push it to your homework repo.