lab01 : Lab01 - Starting with Python and IDLE
num | ready? | description | assigned | due |
---|---|---|---|---|
lab01 | true | Lab01 - Starting with Python and IDLE | Wed 04/12 08:00AM | Fri 04/14 11:59PM |
Lab01: Writing and Running Python code, Expressions, Pair Programming
Goals for this lab
By the time you have completed this lab, you should be able to
- Write and run Python code in IDLE
- Write expressions and assign values to variables in Python
- Perform drive and navigator roles of pair programming
Watch this video about Pair Programming at http://cs.ucsb.edu/~mikec/pairvideo.html.
Do not worry if this is your first experience with Pair Programming. You will learn more about it as the quarter progresses. In short, there are two roles: pilot and navigator. The pilot sits at the computer and types, and the navigator helps. It is important that each of you thinks about the problems independently. The pilot directs, but does not leave the navigator behind. The navigator assists, but does not give the pilot commands. You are helping each other so that you both understand the work.
Step by Step Instructions
Step 1: Choose initial pair programming roles
Choose who will be the pilot for the first part of the lab. The pilot should sit down in front of the computer now. The navigator gets a chair and sits next to the pilot.
Step 2: Log in, create a lab01 directory, and open IDLE
Log onto the pilot’s account. If the pilot’s account is not working,
allow the navigator to log in instead.
Navigate using “cd” to get to your cs8 directory, and use “mkdir” to create
a new directory lab01. Then navigate into the lab01 directory, and open IDLE:
-bash-4.2$ cd cs8 -bash-4.2$ mkdir lab01 -bash-4.2$ cd lab01 -bash-4.2$ idle3
Leave the IDLE window open to use in later steps. But first some paper work to do.
Step 3: Writing expressions in Python
On a piece of paper, write the following items as expressions in Python. Make sure you construct your expressions so that the answer is the right type.
- Calculate a student's GPA from last quarter. The student had four classes, all worth four units, and received A-(3.7), B+(3.3), A(4.0), and A+(4.0). Write an expression - on paper - to calculate the GPA.
- The Andromeda galaxy is 2.9 million light-years away. There are 5.878 * 10^12 miles per light-year. Write an expression to find out how many miles away is the Andromeda galaxy? (Careful though: 10^12 means "10 to the 12th power" but in Python, ^ is not the symbol used to raise a value to a power. Ask a TA if you really can't remember the way to do it.)
- Find the average age of you and your parents using floating-point division.
- You save the water in the shower as it is warming up to water your plants. Your container is a cube, 10 inches on a side. The water fills up 5/6 of the container each time. How much water, in mL, does your shower take to warm up? FYI: 1 cubic inch equals 16.387064 mL.
Before moving on, make sure you and your partner have gone through the answers. If you disagree on any, discuss why each of you thinks it should be a particular way. Do not worry if you do not come to any agreement right now - you can try both ways and see who is right. Just make sure that when you do verify which is right, you both understand why that was the correct answer.
Step 4: Writing code in IDLE
In IDLE, you have two choices for testing your expressions. First, you may write each one individually into the Python shell and see what the results are. This is useful for trying out something small, like the expressions above. So first try each of your answers out in the Python shell. You can quickly check your work by doing this. For example (user input is bold):
>>> 4 + 3 * 2 10
Often, though, it is useful to write the code and be able to execute
it several times without retyping the whole thing.
As last time, select File->New Window to open a new window for Python code.
At the top of your file, write a Python comment (start it with a ‘#’ character)
that includes both your name and your partner’s name, as well as the current date.
For example:
# JoeBob Smith and SallyMay Johnson, 1/13/2015
Save the file as you saw last time using File->Save As. Name it lab01.py and save it in your lab01 directory.
Then type your expressions into the new window, but enclose each one in a call to print(). The reason is that when you run all of the expressions at once, Python executes them internally. To see each result, you need to print the results of the expression. For example, to evaluate the expression 4 + 3 * 2, type this code: <pre>print(4 + 3 * 2)</pre> <p>Select Run->Run Module to cause all of the Python code to execute, line-by-line. Save when necessary.
Step 5: Assigning Variables in IDLE
First: switch roles between pilot and navigator if you did not
already do that.
The navigator is now at the keyboard and becomes the pilot.
The pilot becomes the navigator to assist the pilot.
Always stay logged into the original pilot’s account.
For each of the expressions in your file, decide on an appropriate variable name and assign the result of the expression into the variable. Then in the print statements, place the variable name rather than the expression. For example:
answer = 4 + 3 * 2 print(answer)
Rerun your module so that you can see the results.
Also, notice that after running the module, you can just type the variable name into the Python shell to display the value. Try that with one or more of your variables.
Step 6: Show off your work and get credit for the lab
Get your TA's attention to inspect your work, and to record your lab completion. |
Don’t leave early though … see challenge problems below.
Step 6a. ONLY IF YOU RAN OUT OF TIME TO HAVE THE TA INSPECT YOUR WORK
If you must complete this assignment at CSIL, then submit it with the turnin program. You MUST have both your name and your partner’s name in the file in order to receive credit. Remember that the original pilot needs to do this step, since that is whose account you have been using in Phelps 3525.
Bring up a terminal window on CSIL, and cd into the original pilot’s cs8 directory, and cd again into the lab01 directory. Then type the following:
turnin Lab01@cs8 lab01.pyRespond "yes" when the program asks if you want to turn in (be sure to read the list of files you are turning in), and then wait for the message indicating success.
Evaluation and Grading
Each student must accomplish the following to earn full credit for this lab:
- lab01.py is saved in original pilot's ~/cs8/lab01/ directory, and it works properly.
- ONLY IF STEP 6a IS NECESSARY - lab01.py has been turned in.
Deadline for after-lab submission: Tonight at 11:59pm.
Note that to be eligible for late turn-in with credit, you MUST have attended your entire lab period.
Optional Extra Challenge
- If you did not close IDLE yet, good. If you did, then open it back up again and type a couple of expressions in the Python shell. In both cases, learn how to save a "script" of your work in the Python shell. To do this, in the Python shell window, use File->Save As to save the transcript to lab01.transcript.txt in the original pilot's lab01 directory. During a later IDLE session, you can use File->Open to reopen the file as "text" - it is a record of your former IDLE session, but not an active session, so results of variable assignments and so on will not still exist.
- You should also know that it is not necessary to use IDLE to run Python. Your completed lab01.py file can be executed directly by Python. If you navigate into your lab01 directory (cd ~/cs8/lab01), you should be located in the directory containing lab01.py. Then execute the following command:</p>
-bash-4.2$ python3 lab01.pyThis should act as if you had attempted Run->RunModule in IDLE. This is how the TAs will grade your programs, so it is useful to test your code one last time this way before turning in assignments.- Alternatively, you can just run the Python interpreter directly - without starting IDLE and without feeding in a Python program. Try it now - start python, type in some expressions and watch the results being displayed. Type exit() to quit. For example:
-bash-4.2$ python3 Python 3.3.2 (default, Dec 4 2014, 12:49:00) [GCC 4.8.3 20140911 (Red Hat 4.8.3-7)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> 5 * 4 20 >>> exit() -bash-4.2$- You learned about using (and even writing simple functions) in text and lectures - and you will have do those things in later labs. So if you have time today, why not try it out now? Open IDLE, or a Python shell directly - you know how to do both now - and try out one or more of the built-in functions like max and min:
>>> max(5,7) 7 >>> min(22, -45, 17) -45To use some functions, it is necessary to import a module, and then to use the module's name as part of the function call. For example, the math module has a square root function (sqrt), and here is how you would use it:>>> import math >>> math.sqrt(17) 4.123105625617661 >>> math.sqrt(144) 12.0Typehelp(math)
to learn about more functions from this module, and try some of the other functions for the rest of your lab time.- Really? Still have some time after trying out all the math functions you care about? Then import turtle, make a turtle like the text and lectures showed you - myTurtle=turtle.Turtle() - and make a line drawing of your choice. Remember: help(myTurtle) will tell you what you can ask such an object to do. Next week's lab will be all about using turtle, so this is just a preview.
Copyright 2009, Phillip T. Conrad, CS Dept, UC Santa Barbara. Permission to copy for non-commercial, non-profit, educational purposes granted, provided appropriate credit is given; all other rights reserved. Adapted by Ziad Matni and Mike Castano for this quarter.