Difference between revisions of "IB Computer Science 1"

From WLCS
Line 57: Line 57:
 
** NOTE: If you have already done CodingBat, then complete ALL the exercises from [http://codingbat.com/python/String-1 Python->String-1]
 
** NOTE: If you have already done CodingBat, then complete ALL the exercises from [http://codingbat.com/python/String-1 Python->String-1]
  
== Friday - Tuesday (11/30/12 - 12/4/12) ==
+
== Tuesday (12/4/12) ==
 
'''Agenda:'''
 
'''Agenda:'''
 
* Collision Detection
 
* Collision Detection
Line 69: Line 69:
 
*#* Reset the ball by updating it's center to go to (width/2, height/2)
 
*#* Reset the ball by updating it's center to go to (width/2, height/2)
 
*#* Example: ballrect.center = (width/2, height/2)
 
*#* Example: ballrect.center = (width/2, height/2)
 
== Tuesday - Thursday (11/27/12 - 11/29/12) ==
 
'''Agenda:'''
 
<syntaxhighlight lang="Python">
 
import sys, pygame
 
pygame.init()
 
 
width = 600
 
height = 400
 
dx = 1
 
dy = 1
 
black = 0, 0, 0
 
 
screen = pygame.display.set_mode((width, height))
 
 
ball = pygame.image.load("ball.gif")
 
ballrect = ball.get_rect()
 
 
while True:
 
    for event in pygame.event.get():
 
        if event.type == pygame.QUIT:
 
            sys.exit()
 
 
    ballrect = ballrect.move((dx,dy))
 
   
 
    if ballrect.left < 0 or ballrect.right > width:
 
        dx *= -1
 
    if ballrect.top < 0 or ballrect.bottom > height:
 
        dy *= -1
 
 
    screen.fill(black)
 
    screen.blit(ball, ballrect)
 
    pygame.display.flip()
 
</syntaxhighlight>
 
 
* Pygame walk-through and notes
 
* Comment each line of code from the [http://www.pygame.org/docs/tut/intro/intro.html Pygame Tutorial]
 
** You comment should be a note of what that line is doing
 
* [http://www.pygame.org/docs/ Pygame Documentation]
 
* Keyboard events in Pygame
 
* Basic Game Play ("dodge the ball" w/ 2 players)
 
*# Create 3 images and rectangles for 2 players and a ball
 
*# Have one player controlled by arrow keys
 
*# Have the other player controlled by W-A-S-D
 
*# Add a third ball that bounces around the screen
 
*# Check if either player rectangle collides with the ball rectangle...then...
 
 
== Tuesday - Monday (11/20/12 - 11/26/12) ==
 
* Complete [[Turtle - Graphing Calculator]]
 
* Introduction to Pygame
 
*# Wing IDE 101->Edit->Configure Python-> make sure all the settings are default
 
*# Go to [http://www.pygame.org/docs/tut/intro/intro.html Pygame Tutorial]
 
*# Download the ball picture
 
*# Walk through the tutorial (NOTE: Line 10 should say "ball.gif")
 
 
== Monday (11/19/12) ==
 
* Demo [[Turtle - Looping Assignment]]
 
* Complete [[Turtle - Graphing Calculator]]
 
 
== Wednesday - Friday  (11/14/12 - 11/16/12) ==
 
* Order of Operations Redemption Quiz 2
 
* Demo [[Turtle - Looping Assignment]]
 
* Complete [[Turtle - Graphing Calculator]]
 
 
== Tuesday (11/13/12) ==
 
'''Agenda:'''
 
* VA Workplace Readiness Assessment Pre-test (1 hr)
 
** There are on-screen tools (e.g. calculator) that you can use
 
 
== Friday (11/9/12) ==
 
'''Warmup:'''
 
* Order of Operations Redemption Quiz
 
** No calculators!
 
** When you are done, print your score and tell Mr. Bui
 
 
'''Agenda:'''
 
* VA Workplace Readiness Assessment Pre-test (1 hr)
 
** There are on-screen tools (e.g. calculator) that you can use
 
 
== Wednesday - Thursday (11/7/12 - 11/8/12) ==
 
'''Warmup:'''
 
* Execute the code below
 
* When prompted, use 100 for x and 200 for y
 
* What does each line do?  Analyze!
 
 
<syntaxhighlight lang="Python">
 
from turtle import *
 
 
setup(200, 400)
 
screensize(200, 400)
 
x = numinput("X prompt", "Please enter an x")
 
y = numinput("Y prompt", "Please enter a y")
 
goto(x,y)
 
exitonclick()
 
</syntaxhighlight>
 
 
'''Agenda:'''
 
* Return 1st Quarter Exams
 
* [https://docs.google.com/spreadsheet/viewform?formkey=dGJUZFdpelg4TV9IZ1BhbllZRUk0X0E6MQ 1st Quarter Exam Debrief]
 
* Complete [[Turtle - Looping Assignment]] (practice loops with turtle)
 
* [[Turtle - Graphing Calculator]]
 
 
== Friday - Monday (11/2/12 - 11/5/12) ==
 
'''Agenda:'''
 
* 1st Quarter Exam
 
  
 
== Archives ==
 
== Archives ==
 +
* [[IBCS1 - 1213 - November]]
 
* [[IBCS1 - 1213 - October]]
 
* [[IBCS1 - 1213 - October]]
 
* [[IBCS1 - 1213 - September]]
 
* [[IBCS1 - 1213 - September]]

Revision as of 13:27, 18 December 2012


Friday - Monday (12/14/12 - 12/17/12)

Wednesday - Thursday (12/12/12 - 12/13/12)

Agenda:

Monday - Tuesday (12/10/12 - 12/11/12)

Agenda:

Friday (12/7/12)

Warmup:

  1. Go to CodingBat
  2. Login to your account if you already have one, otherwise, continue the following steps
  3. Click on create account
  4. Make sure you put in your Lastname, Firstname
  5. Click on prefs
  6. Under Teacher Share, use BuiEmail.bmp

Agenda:

Wednesday - Thursday (12/5/12 - 12/6/12)

Warmup:

  1. Go to CodingBat
  2. Login to your account if you already have one, otherwise, continue the following steps
  3. Click on create account
  4. Make sure you put in your Lastname, Firstname
  5. Click on prefs
  6. Under Teacher Share, use BuiEmail.bmp

Agenda:

Tuesday (12/4/12)

Agenda:

  • Collision Detection
  • Basic Pong - due today
    1. Left paddle moves up and down
    2. Right paddle moves up and down
    3. Ball bounces around
      • Bounces off of top and bottom walls
      • Bounces off of paddles
      • If the ball touches the left or right walls, reset the ball
      • Reset the ball by updating it's center to go to (width/2, height/2)
      • Example: ballrect.center = (width/2, height/2)

Archives