Learning Objectives
Through readings, lecture and labs, it is expected that you are doing work and seeking help to keep pace with the below objectives:
- What is programming?
-
Understand the "big picture" of the tools we are using in class. You should be able to understand the difference between Python the language, and the Python interpreter, and a Python program. Feel comfortable with terms like source code.
- What a program looks like.
- You should be experimenting and getting comfortable with:
- Writing very short Python programs.
- Writing print statements that print arbitrary text to the screen.
- Writing comments or docstrings to explain your programs.
- Variables, input, output, assignment.
- By the end of the week, you should be experimenting with:
- Defining variables using assignment statements
- Keeping track of the changing values of a variable during the execution of a program
- Printing a mix of variables and literals
- Using
input
to assign values to variables - Combining these elements to write programs, given an English description of what the program should do.
- Types (
str
,int
,float
) -
You should be experimenting and getting comfortable with:
- Deciding what data type is appropriate for a particular type of data (for example, a person's name, a number of students, an amount of money...)
- Figuring out the data types of variables in Python programs by analyzing the source code.
- Defining and using variables for numeric data.
- Arithmetic operations
- You should be comfortable with:
- Using the following arithmetic operators in your Python programs, and correctly applying order of operations:
+
(addition)-
(subtraction)*
(multiplication)/
(floating-point division)//
(integer division)%
(modulus or remainder)**
(exponentiation, a.k.a. taking a number to a power)
- Using the following arithmetic operators in your Python programs, and correctly applying order of operations:
Required Reading
Supplemental Materials
We all need alternative presentations of the concepts from time to time. The following resources are optional. If something seems unclear after class, or the pratice questions seem hard for you, then explore these topics more using the resources below.
- What is programming?
-
- Zelle, Chapter 1
- What a program looks like.
-
- Zelle, Section 2.1
- Variables, input, output, assignment.
-
- Zelle, Sections 2.1–2.5
- Types (
str
,int
,float
) -
- CS Circles lesson on types
- CS Circles lesson on input and conversion
- Zelle, Sections 3.1, 3.4, 3.5
- Arithmetic operations
-
- CS Circles lesson on variables and math
- Zelle, Sections 3.1, 3.2
Some people like more traditional text books. Zelle refers to: John Zelle, Python Programming: An Introduction to Computer Science, 2nd edition. This book is available at the library and is a pretty good supplemental text for our course.
Practice
For all these exercises, I recommend you try them on paper and then test them out with PythonTutor.Exercise 1
Write what this code produces, exactly. Be very careful with whitespace and the newlines.
animal = 'Duck' print(animal, animal) print(animal, "DuckDuck", animal) print("Goose")
Exercise 2
Write what this code produces, exactly. Be very careful with whitespace and the newlines.
def main(): refrain = "Happy Birthday to you" print(refrain, refrain, "Happy Birthday, Dear Snoopy", refrain, sep="!\n") main()
Exercise 3
Write a piece of code that produces the following input/output behavior. Text that is italics and underlined are user input.
Your favorite tree: Elm Your favorite food: Pizza Do you want to eat Pizza in a Elm tree with me?Here is a sample answer, when you think you have solved it. (Don't cheat yourself and look early).