1
h01
CS8 W19
Name:
(as it would appear on official course roster)
Umail address: @umail.ucsb.edu section
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: Perkovic Ch1 (Introduction to CS)

ready? assigned due points
true Mon 01/07 09:30AM Mon 01/14 09:30AM

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

MAY ONLY BE TURNED IN IN THE LECTURE/LAB LISTED ABOVE AS THE DUE DATE,
OR IF APPLICABLE, SUBMITTED ON GRADESCOPE. There is NO MAKEUP for missed assignments;
in place of that, we drop the one lowest scores (if you have zeros, those are the one lowest scores.)


IMPORTANT NOTE: Read the syllabus and make sure you understand all class policies and procedures.

READING ASSIGNMENT Please read Chapter 1 in Perkovic. Then complete these problems.

  1. (10 pts) Please fill in the information at the top of this homework sheet, including your name and umail address. Put the time your discussion section starts () in the space indicated (the one you are registered for—even if you usually attend a different one.) If the other two items apply, please fill them in as well. Please do this every single time you submit homework for this class.
  2. Section 1.1 describes Computer Science in general. It includes a passage that distinguishes between models, algorithms and programs. I'm going to ask two questions about the relationships among these concepts. In your answer, don't just copy down an exact quote from the textbook; explain in your own words. If you don't think you understand the relationship, be honest about that, and write down what you are confused about, or your best guess at what the author is trying to say.
    1. (5 pts) What is the relationship between a model and an algorithm?
    2. (5 pts) What is the relationship between an algorithm and a program?
  3. (10 pts) Section 1.2 describes Computer Systems in general. According to our author, why did computer scientists create programming languages such as Python, C, C++, Java, etc.?

  4. Continuing with questions from Section 1.2:
    1. (10 pts) The author makes a distinction between the "core set" of features in a programming language, and those that are put into "software libraries". What are two examples of features that end up in libraries rather than in the core language?
    2. (10 pts) What is the advantage of putting those features into libraries rather than into the core?
    3. (10 pts) APIs (Application Programming Interfaces) are important in programming—our author gives a nice clear explanation of what an API is. What is that explanation?
  5. Section 1.3 describes the Python programming language.
    1. (5 pts) What is the interactive shell used for?
    2. (5 pts) What does a Python program consist of?
  6. Section 1.4 contains a description of a sample problem that the author uses to illustrate "computational thinking". The author notes that in applying computational thinking to a problem, one of the steps we take is to decide which details of the problem are important, and which are not.

    1. (5 pts) Give two examples of details about the problem statement that, according to the author's discussion, are not relevant, and should be ignored.
    2. (5 pts) Give two examples of details that are definitely relevant, and that we need to pay attention to in coming up with a solution.
  7. Read the ENTIRE class syllabus and answer the following questions:

    1. (2 pts) What is Prof. Matni's policy on late homework and late labs?
    2. (2 pts) What is Prof. Matni's policy on make-up exams?
    3. (2 pts) What are Prof. Matni's office hours and where are they held?
    4. (2 pts) What is the name of your lab section's teaching assistant?
    5. (2 pts) What are the open lab/office hours of your lab section's teaching assistant?
    6. (2 pts) How do you turn in homework assignments exactly?
    7. (2 pts) How do you turn in lab assignments?
    8. (2 pts) Where is the class' main website?
    9. (2 pts) What website do we use for asking class-related questions/having discussions online in this section of CS8?
    10. (2 pts) What website can you go to and see your class grades?