Difference between revisions of "Computer Science"

From WLCS
(Wednesday-Thursday (2/9/11-2/10/11))
(Wednesday-Thursday (2/9/11-2/10/11))
Line 5: Line 5:
 
# Where is 'myVar' defined (created)?
 
# Where is 'myVar' defined (created)?
 
# In what order will the print statements be run?  
 
# In what order will the print statements be run?  
# What value will 'myVar' have at each <br/>  '''Now copy the program into Python and test it'''.
+
# What value will 'myVar' have each time?  <br/>  '''Now copy the program into Python and test it'''.
 
# What values were actually printed?
 
# What values were actually printed?
 
# Was this the same or different from what you expected? Why so?
 
# Was this the same or different from what you expected? Why so?

Revision as of 23:47, 8 February 2011

Wednesday-Thursday (2/9/11-2/10/11)

Warmup:

  • Variable scope
  • Without using a computer write down answers to the following questions:
  1. Where is 'myVar' defined (created)?
  2. In what order will the print statements be run?
  3. What value will 'myVar' have each time?
    Now copy the program into Python and test it.
  4. What values were actually printed?
  5. Was this the same or different from what you expected? Why so?
  6. Inserted the following line at line 5 (just after the 'def test' line)
    print "In test, at start, myVar=", myVar
    Why does this create an error?
myVar=0
print "At start, myVar=",myVar

def test(input_var):
    myVar=input_var+1
    print "In test, at end, myVar=",myVar
    
myVar=1
print "Before test, myVar=:",myVar

test(myVar)
print "At end, myVar=:",myVar

Agenda:

  • Demo Robot game  : due Tuesday (2/15/11)
    • Submit your code to school web lockers when you've demoed it - please name it LASTNAME_FIRSTNAME_Robot.py
  • If you've completed Robot, work on the Dodge game

Monday-Tuesday (2/7/11-2/8/11)

Warmup:

  • Replacing constants with variables
In this example, boxes are created in the four corners and center of the window.
But what if we changed the size of the window (line 2)? Each box would have to be changed too - not very efficient.
  • Instead, create variables for the window width (400) and height (300), and the box size (20).
Then replace the box's coordinates (lines 4-8) with a 'variable expression'
So line 4 would be Box((windowWidth-boxSize,0),boxSize,boxSize,filled=False,color=color.RED,thickness=10)
  • Test your code by changing the variable values, and checking the boxes are still in the corners/center.
from gasp import *
begin_graphics(400, 300, title="Four corners", background=color.ORANGE)

Box((0,0),20,20,filled=False,color=color.RED,thickness=10)  #At bottom left corner
Box((380,0),20,20,filled=False,color=color.RED,thickness=10) #At bottom right corner
Box((0,280),20,20,filled=False,color=color.RED,thickness=10) #At top left corner
Box((380,280),20,20,filled=False,color=color.RED,thickness=10) #At top right corner
Box((190,140),20,20,filled=False,color=color.RED,thickness=10) #At center
sleep(6)
end_graphics()

Agenda:

  • Continue work on Robot game  : due Thursday (2/10/11)
    • Submit your code to school web lockers when you're done (semester 2) - please put your name at the top of your code.
  • Small group review of the Debugging short exercise
  • If you've complete & submitted Robot, review HTTLACS: Ch7 on strings. There are exercises to complete.

Friday (2/4/11)

Warmup:

Agenda:

Wednesday - Thursday (2/2/11-2/3/11)

Warmup:

  • The following code is supposed to wrap the player in Robot.
from gasp import *
begin_graphics(800, 600, title="Catch", background=color.YELLOW)
ball_x=-10
ball_y = 300
ball = Circle((ball_x, ball_y), 10, filled=True)
set_speed(120)

while True:
    if ball_x<=0:   # REPLACE WITH COMMENT 
         ball_x=800
    elif ball_x>=800:  # REPLACE WITH COMMENT 
         ball_x=0
    move_to(ball,( ball_x,ball_y))
    update_when('next_tick')

end_graphics()
  • Copy and paste this code, and save it as a new program, and test it
  • Next, replace the comments in the code with a description of what that section does
  • Finally, write answers to the following questions, then discuss them with your partner:
  1. What behavior do you see?
  2. Why do you think this is happening (what's your hypothesis)?
  3. How could you test your hypothesis?
  4. How can you fix the code?

Agenda:

Monday (1/31/11) - Tuesday (2/1/11)

Warmup:

  • Write a program that prompts the user for x and y coordinates between 0 and 200. Compare their input to a point at (75, 100). Tell the user if they are left or right of that point, and by how much. Likewise, tell them if they are below or above that point , and by how much.

Agenda:


Monday - Tuesday (1/24/11 - 1/25/11)

Agenda:

  • Continue working on Pong - aim to be finished this week.
  • Work on Robot game. Use the 8.8 version of Catch!
  • Once you have finished the core of the Robot assignment, complete the extension work.

Thursday - Friday (1/13/11 - 1/21/11)

Agenda:

  • Begin working on Pong. Use the 8.10 version of Catch!
  • If you complete Pong, then go onto the Robot game. Use the 8.8 version of Catch!
  • NVCC Dual Enrollment

Tuesday - Wednesday (1/11/11 - 1/12/11)

Warmup:

  • Without using the computer, what does the following code display?
from gasp import *
begin_graphics(width=800, height=600, title="Question 23")

x = 0
while x < 100:
  Circle( (400, 300), x )
  Line( (x, 0), (400, 300) )
  x = x + 10

update_when('key_pressed')
end_graphics()

Agenda:

Friday - Monday (1/7/11 - 1/10/11)

Agenda:

  • 2nd Quarter Exam

Wednesday - Thursday (1/5/11 - 1/6/11)

Agenda:

  • 2nd Quarter Exam will be on...
    • Period 1 - Friday (1/7/11)
    • Period 2 - Monday (1/10/11)
  • 2nd Quarter Exam Review
  • input, output, variables, and math expressions
  • functions
    • function definitions
    • function header
    • function body
    • return keyword
  • if statements
    • comparison operators
      • ==
      •  !=
      • <
      • >
      • <=
      • >=
    • Boolean operators
      • and
      • or
      • combining Boolean operators
  • while loops
    • sequences
    • break keyword
  • GASP
  • Catch/Follow game
  • Exam Format:
    • Open and closed-book sections
    • Multiple-choice
    • Short-answer code
    • Identify syntax errors
    • Identify the purpose of code sections
  • Begin working on Pong

Monday - Tuesday (1/3/11 - 1/4/11)

Warmup:

  • Write a while loop that prints your name 10 times

Agenda:

  • Winter Break debrief
  • 2nd Quarter Exams Reminder
  • Following Game Review
  • Begin working on Pong

Archives