Schedule

Wednesday (6/13) - Thursday (6/14)

Agenda:

    **NON-IB**
  • Complete your game. Work on the instruction manual
  • Completed game should have the following:
    • A way for your player to move around
    • A way for your player to win
    • A way for your player to lose
  • The instruction manual should have the following:
    • A storyline explaining your characters and the game
    • Annotated screenshots explaining what each object/image in your game
    • Instructions on how to move around
    • Instructions on how to win
    • Instructions on how to lose
    • Credits to yourself for making the game
    • Credits to any 3rd party that provided images (e.g. Nintendo)

    **IB**
  • Summer assignment overview


Tuesday (6/12)

Agenda:

  • Catchup/work day


Monday (6/11)

Agenda:

  • Triumph of the Nerds Quiz

  • **NON-IB**
  • How to take a screenshot
  • Create an instruction manual for your game
  • Make sure that your game is complete

  • **IB**
  • Cleanup and re-organize your files
  • Find the last Java assignment you were working on and report your progress to Mr. Bui
  • Complete the Java assignment you were working on


Monday (6/4) - Friday (6/8)

Warmup:

    **Tuesday**
  1. What did IBM specialize in before the commercial personal computer?
  2. Describe the culture to be found at IBM
  3. What was Microsoft hired to build for IBM?
  4. What does it mean to "reverse engineer" something?
  5. In terms of electronics and technology, what is a "clone"?
    **Monday**
  1. Programming used to be very, very cumbersome and tedious. What invention made programming a computer easier?
  2. What was the first personal computer? (Hint: It was featured in "Popular Electronics")
  3. Who is Gordon Moore and what is he famous for?
  4. What did Bill Gates and Paul Allen create together when they were in college? (NOT the name of their company, but the specific thing they built for the answer to #2)
  5. Steve Jobs and Steve Wozniak created what company?

Agenda:

  • Triumph of the Nerds
  • Triumph of the Nerds review on Thursday
  • Triumph of the Nerds Quiz on Friday!

Due: **ALL** Triumph of the Nerds Quiz on Friday


Monday (5/28) - Friday (6/1)

Agenda:

  • Triumph of the Nerds


Thursday (5/24) - Friday (5/25)

Agenda:

    **NON-IB**
  • When complete, you should now plan on adding a way for your player to win. For example, you might want to place an exit door somewhere on your game. If the player reaches the door, then they win.

  • **IB**
  • Introduction to Object Usage
  • Work on E-mailHarvester assignment
  • Continue practicing string manipulation by working on PhoneNumberFun

Wednesday (5/23)

Agenda:

    **NON-IB**
  • When complete, you should now plan on adding a way for your player to win. For example, you might want to place an exit door somewhere on your game. If the player reaches the door, then they win.

  • **IB**
  • Introduction to Object Usage

Tuesday (5/22)

Agenda:

    **NON-IB**
  • Mr. Bui will be checking for the collision feature (or another cool feature of your choice) today
  • When complete, you should now plan on adding a way for your player to win. For example, you might want to place an exit door somewhere on your game. If the player reaches the door, then they win.

  • **IB**
  • Mr. Bui will be checking for the array programs today
    • MyFirstArrayProgram
    • FindMinMax
    • ArrayInput
  • If you have completed all the array programs, then you may continue in the CS2 schedule OR aid another student. DO NOT recite code or program for them, but rather, guide them through the problem when they get stuck

Due: **NON-IB** Collision detection / cool feature due today

Due: **IB** Array programs due today


Monday (5/21)

Agenda:

    **NON-IB**
  • Mr. Bui will be checking for the collision feature (or another cool feature of your choice) tomorrow

  • **IB**
  • Mr. Bui will be checking for the array programs tomorrow
    • MyFirstArrayProgram
    • FindMinMax
    • ArrayInput
  • If you have completed all the array programs, then you may continue in the CS2 schedule OR aid another student. DO NOT recite code or program for them, but rather, guide them through the problem when they get stuck

Due: **NON-IB** Collision detection / cool feature due tomorrow

Due: **IB** Array programs due tomorrow


Friday (5/18)

Agenda:

    **NON-IB**
  • Update Mr. Bui on your robot game's progress. What cool new feature are you adding? collision detection? battling?

  • **IB**
  • You should be done with all the basic Java assignmentes through PrintCrazySequence
  • Go to the CS2 website (change cs1 to cs2 in the web browser's address bar) and work on the array assignments starting on 10/3/06 through 10/5/06 (MyFirstArrayProgram, FindMinMax, ArrayInput)


Wednesday (5/16) - Thursday (5/17)

Warmup:

  • Create a Java class named WarmupForLoop and in the program, use a for loop to print out all the numbers from 0 through 2007
  • Go back to your PrintRectangle class and change the while loops to for loops

Agenda:

    **NON-IB**
  • Add player and robot collisions OR try adding another new "cool" feature of your own (e.g. player-robot battles, levels, etc.)

  • **IB**
  • You should be done with all the basic Java assignmentes through PrintCrazySequence
  • Go to the CS2 website (change cs1 to cs2 in the web browser's address bar) and work on the array assignments starting on 10/3/06 through 10/5/06 (MyFirstArrayProgram, FindMinMax, ArrayInput)


Monday (5/14) - Tuesday (5/15)

Agenda:

    **NON-IB**
  • Last days to show demos before interims
  • Continue working on adding the robot if you cannot demo
  • Add player and robot collisions OR try adding another new "cool" feature of your own (e.g. player-robot battles, levels, etc.)

  • **IB**
  • You should be able to demo PrintSequence/PrintCrazySequence by the end of tomorrow
  • Introduction to Arrays
  • Go to the CS2 website (change cs1 to cs2 in the web browser's address bar) and work on the array assignments starting on 10/3/06 through 10/5/06 (MyFirstArrayProgram, FindMinMax, ArrayInput)


Friday (5/11)

Agenda:

    **NON-IB**
  • Demo added robot.
  • Continue working on adding the robot if you cannot demo

  • **IB**
  • Demo Java assignments. You should be able to demo up to the PrintSequence/PrintCrazySequence


Monday (5/7) - Thursday (5/10)

Agenda:

    **NON-IB**
  • Demo your moving sprite with different orientations AND background image
  • Continue working on your game by adding a robot OR by going back to your robot.py game and changing it so that you display images instead of circles and squares
  • After adding a robot, add some sort of collision detection so that you lose if the robot hits you
  • Adding the robot should be completed by Friday

  • **IB**
  • for loops
  • Continue working on the following:
    • Lab1 (Hint: You may need to use a loop inside of another loop)
    • OddOrEven
    • PrintRectangle
    • GuessingGame
    • AverageFun
    • PrintSequence
    • PrintCrazySequence
  • You should be near completion by Thursday

Due: **All** Interim demos must be completed by the end of the week. NON-IB should have a moving robot. IB should have the Java assignments completed


Friday (5/4)

Agenda:

    **NON-IB**
  • Demo your moving sprite with different orientations AND background image
  • Continue working on your game by adding a robot OR by going back to your robot.py game and changing it so that you display images instead of circles and squares

  • **IB**
  • Progress Check: Demo AddEvens and NumberFun

Due: **NON-IB** Moving sprite with different orientations AND background image due today

Due: **IB** Progress check today: You should be able to demo AddEvens and NumberFun


Monday (4/30) - Thursday (5/3)

Agenda:

    **NON-IB**
  • Finish keyboard input if you have not already
  • Now that you can move your image around using the keyboard, let's make it look cool
  • Search the internets or create your own set of sprite images - you will need 4 (North, South, East, and West)
  • Using your set of sprite images, edit your mover.py such that when you move your sprite a certain direction, you load and display the corresponding orientation's image. Example, if you were hitting the UP arrow key, then the sprite image that goes North should be used. If you were hitting the RIGHT arrow key, then the sprite image that goes East should be used.
  • Now try adding a background image to your game
  • Given that you now have a moving sprite and a background, look for sprite images for a robot
  • Add a robot to your game

  • **IB**
  • If you have finished the two demos, then go to the CS2 website, scroll to the very bottom, and work through each day as quickly as you can.
    • Intro Java Assignment
    • NumberFun
    • Lab1 (Hint: You may need to use a loop inside of another loop)
    • OddOrEven
    • PrintRectangle
    • GuessingGame
    • AverageFun
    • PrintSequence
    • PrintCrazySequence
  • By the end of the week, you should be finishing up Lab1

Due: **NON-IB** Moving sprite with different orientations AND background image due Friday

Due: **IB** Near completion of Lab1 and working on OddOrEven due Friday


Friday (4/27)

Agenda:

    **NON-IB**
  • Finish keyboard input if you have not already
  • Now that you can move your image around using the keyboard, let's make it look cool
  • Search the internets or create your own set of sprite images - you will need 4 (North, South, East, and West)
  • Using your set of sprite images, edit your mover.py such that when you move your sprite a certain direction, you load and display the corresponding orientation's image. Example, if you were hitting the UP arrow key, then the sprite image that goes North should be used. If you were hitting the RIGHT arrow key, then the sprite image that goes East should be used.

  • **IB**
  • Demo "Choose Your Own Adventure" and MathFun
  • If you have finished the two demos, then go to the CS2 website, scroll to the very bottom, and work through each day as quickly as you can.


Tuesday (4/24) - Thursday (4/26)

Agenda:

    **NON-IB**
  • Create a new program called mover.py
  • Using x and y variables, store an initial coordinate.
  • Display an image of your choice (that is appropriate in content and size) at the (x,y) location
  • Add the input() function that you created in the other tutorial
  • Add keyboard input, such that when you press certain keys, your image is displayed somewhere else on the screen
  • Make the image move smoothly as you press buttons

  • **IB**
  • Port your "Choose Your Own Adventure" Game from python to java
  • Work through Chapter 3 beginning with section 3.5
  • Create a class called MathFun
  • In your main() method, output a menu to the user like the following:
    (d)istance formula
    (m)idpoint formula
    (q)uadratic equation
    (v)olume of a sphere
    e(x)it
  • Each of the options should prompt for the appropriate input parameters (e.g. quadratic prompts for a, b, and c). After prompting for the input parameters, you should call the functions that you will make in the next step.
  • You should then create four functions named: getDistance(), getMidpoint(), getQuadratic(), getVolume()
  • Each of your four functions should have appropriate parameters in order to solve that particular equation. For example, in order to solve for the distance between any two points, you need x1, y1, x2, and y2.
  • getDistance() and getVolume() should both return a double, while getMidpoint() and getQuadratic() should print the solutions
  • In your main() method, the menu should repeatedly display until the user chooses to exit.
  • If the user inputs an invalid command, then you must tell the user that their command is invalid
  • You MUST make function calls in your main() method

Due: **NON-IB** Image movement demo due Thursday

Due: **IB** "Choose Your Own Adventure" and MathFun demos due Friday


Monday (4/23)

Agenda:

    **NON-IB**
  • Demo the following if you have not already:
    • Window with a still monkey image (or an image of your choice) that is NOT at coordinates (0,0)
    • The ability to close the window properly and exit the system
    • A bouncing monkey head
    • Commented code
  • Create a new program called mover.py
  • Using x and y variables, store an initial coordinate.
  • Display an image of your choice (that is appropriate in content and size) at the (x,y) location
  • Add the input() function that you created in the other tutorial
  • Add keyboard input, such that when you press certain keys, your image is displayed somewhere else on the screen
  • Make the image move smoothly as you press and hold down buttons

  • **IB**
  • Demo the following if you have not already:
    • The QuadForm program which should include: checking for real solutions, user input, and asking the user if they want to calculate another quadratic formula.
    • The menu class with working options
  • Port your "Choose Your Own Adventure" Game from python to java
  • Work through Chapter 3 beginning with section 3.5
  • Create a class called MathFun
  • In your main() method, output a menu to the user like the following:
    (d)istance formula
    (m)idpoint formula
    (q)uadratic equation
    (a)verage 10 numbers
    e(x)it
  • You should then create four functions named: getDistance(), getMidpoint(), getQuadratic(), getAverage()
  • Each of your four functions should have appropriate parameters in order to solve that particular eqaution. For example, in order to solve for the distance between any two points, you need x1, y1, x2, and y2.
  • getDistance() and getVolume() should both return a double, while getMidpoint() and getQuadratic() should print the solutions
  • In your main() method, the menu should repeatedly display until the user chooses to exit.
  • If the user inputs an invalid command, then you must tell the user that their command is invalid
  • You MUST use your math functions in your main() method


Friday (4/20)

Agenda:

    **NON-IB**
  • Demo the following:
    • Window with a still monkey image (or an image of your choice) that is NOT at coordinates (0,0)
    • The ability to close the window properly and exit the system
    • A bouncing monkey head
    • Commented code

    **IB**
  • Demo the following:
    • The QuadForm program which should include: checking for real solutions, user input, and asking the user if they want to calculate another quadratic formula.
    • The menu class with working options
  • Port your "Choose Your Own Adventure Game" from python to java


Monday (4/16) - Thursday (4/19)

Agenda:

    **NON-IB**
  • Demo to Mr. Bui the pygame window with the monkey image (or an image of your choice)
  • Demo the image such that it is NOT in the upper left hand corner, but somewhere else in the window
  • Demo a closeable window, such that if you hit the X in the upper right-hand corner of the window, your program will end
  • Demo the bouncing monkey head (using the second tutorial
  • Work on keyboard input --> try to get your monkey's head to move when you hit keys
  • If you have any troubles with the above demos, then you are encouraged to seek aid from a neighbor

  • *IB*
  • Keyboard input in Java
  • Add prompting for user input into your QuadForm program. You should prompt the user for a, b, andc
  • Add a feature that asks the user if they want to calculate another quadratic equation, and then solves another quadratic equation (HINT: iteration)
  • Demo the QuadForm.java program (with the real solutions check, user input, and iteration)
  • Create a new class called Menu
    • Display to the user a simple menu with multiple options
    • Example:
      (p)rint hello once
      (r)epeated print hello 100 times
      (q)uit

      What would you like to do?
    • You should then store the user's input choice in a String variable
    • Check which choice they made and execute the appropriate action. In order to check if two Strings are equal to each other, you CANNOT use ==, but rather, you must use the String class's equals() method. Example: str1.equals(str2) is true if str1 is the same String as str2
  • After completing Menu, find your ol' Choose Your Own Adventure Game and port it over to Java

Due: All demos are due by Friday (4/20)


Tuesday (4/10) - Friday (4/13)

Agenda:

  • New attendance policy
  • Cleanup and re-organize your files

  • **NON-IB**
  • Read and work through the following tutorial
  • When the tutorial asks you to "move the head when pressing any key", instead...make your monkey head bounce around: click!

  • **IB**
  • Read through Chapter 1 of HTTLACS: Java
  • Introduction to Java w/ Mr. Bui
  • Work through Chapter 2 and Chapter 3
  • Create a class called QuadForm.
    • Declare three integer variables (a, b, c), and two double variables (result1 and result2). Initialize a, b, and c to any numbers. Initialize result1 and result2 to zero.
    • For this assignment, you will need to add import java.lang.Math; to the very top of your program. What do you think that does?
    • In order to take the square root of a number num, you will need to use this: Math.sqrt( (double) num )
    • Your program should calculate the quadratic formula, store it into result1 and result2, and print out the results.
    • Compile your program several times testing it with different a, b, and c values.
    • NOTE: You SHOULD test whether or not real solutions exist for your quadratic values (i.e. b^2-4ac is positive). BUT...how would you do that in Java?


Monday (3/26) - Friday (3/30)

Agenda:

    **NON-IB**
  • Backup your Robots game as old_robot.py
  • Now, edit your Robots game so that it uses classes instead. The Robots game pdf talks about how to do this starting at page 8 in "A Touch of Class"
  • OPTIONAL: Finish off the robots pdf worksheet, which covers MULTIPLE robots. Fun!

  • **IB**
  • Add a feature to your game that asks the user if they want to play again
  • Now that you're playing games back to back, add a feature that keeps track of the number of times that the user wins and the number of times that the dealer wins
  • Add betting to your game
  • Add doubling-down to your game
  • OPTIONAL: Add splitting to your game
  • OPTIONAL: Make your game able to handle Aces as 1 or 11
  • OPTIONAL: How about adding a feature that lets you save your game? (i.e. save your bank and # wins)

**IB** Due: At the end of this week (Friday), Mr. Bui will be checking for the features above


Wednesday (3/21) - Friday (3/23)

Agenda:

    **NON-IB**
  • Creating and using objects
  • Extending the Car class
  • Backup your Robots game as old_robot.py
  • Now, edit your Robots game so that it uses classes instead. The Robots game pdf talks about how to do this starting at page 8 in "A Touch of Class"

  • **IB**
  • Add a feature to your game that asks the user if they want to play again
  • Now that you're playing games back to back, add a feature that keeps track of the number of times that the user wins and the number of times that the dealer wins
  • Add betting to your game
  • Add doubling-down to your game
  • OPTIONAL: Add splitting to your game
  • OPTIONAL: Make your game able to handle Aces as 1 or 11
  • OPTIONAL: How about adding a feature that lets you save your game? (i.e. save your bank and # wins)

**IB** Due: At the end of next week (Thursday/Friday), Mr. Bui will be checking for the features above


Tuesday (3/20)

Warmup:

    **NON-IB**
  • Take out a sheet of paper and list the attributes (characteristics) of a car. (e.g. color)
  • Now list the different behaviors or the things a car can do (e.g. drive)

  • **IB**
  • Download carFun.py
  • Read the directions and complete the three questions

Agenda:

    **NON-IB**
  • Work on basic blackjack

  • **IB**
  • Add more advanced blackjack functionality


Thursday (3/15) - Monday (3/19)

Agenda:

    **NON-IB**
  • Continue trying to add the Robot and make it move if you have not already done so
  • Add collision checking and teleportation!
  • Begin working on the Blackjack game. You may either copy the code on the board (ask Mr. Bui to put it up) or you may get it from an IB student

  • **IB**
  • Continue working on Blackjack
    • 1st & 2nd Pd - Comment in each of the steps necessary to play blackjack. Have Mr. Bui look over your steps after you have commented them. You should then attempt to code each of those steps
    • 5th Pd - Complete the blackjack game by coding the logic that determines who wins. Once you are done, switch with another person who is done and test each others' games. Have Mr. Bui check you off for completing blackjack.
    • If you think you're all done...then think again. You should begin adding multiple games, betting, doubling-down, aces (1 or 11), splits, etc.!


Wednesday - 3/14

Agenda:

    **NON-IB**
  • Robot chasing Player progress check!
  • Continue trying to add the Robot if you have not already done so
  • Add collision checking and teleportation!

  • **IB**
  • Continue working on Blackjack
    • 1st & 2nd Pd - Comment in each of the steps necessary to play blackjack. You should then attempt to code each of those steps
    • 5th Pd - Complete the blackjack game by coding the logic that determines who wins. Once you are done, switch with another person who is done and test each others' games


Tuesday - 3/13

Agenda:

    **NON-IB**
  • Robot chasing Player progress check!
  • Continue trying to add the Robot if you have not already done so
  • Add collision checking and teleportation!

  • **IB**
  • Blackjack progress check


Monday - 3/12

Agenda:

    **NON-IB**
  • Tomorrow, you should be able to demo most of your game. You should be able to move the player around and the robot should chase it.
  • If you're this far, then you should also add teleport and collisions!
  • If you run into any trouble, ask the people around you for help

  • **IB**
  • Complete the rest of the blackjack game yourself. Mr. Bui will be checking the progress you have made on your own.

**NON-IB** Due: place_robot() and move_robot() due tomorrow


Monday (3/5) - Friday (3/9)

Agenda:

    **HINTS**
  • place_robot() - very similar to place_player(), but places a robot square on the screen instead. To draw the square, you should use the box() function, which takes 5 parameters: box(x1, y1, x2, y2, filled=0). (x1, y1) and (x2, y2) are the lower left-hand and upper right-hand corners of the box
  • move_robot() - should update the robot's x and y coordinates so that it moves closer to the player. Don't forget to actually move the robot!

  • **NON-IB**
  • Work on place_robot() and move_robot()

  • **IB**
  • Card & Deck class example
  • Blackjack!


Tuesday (2/27) - Friday (3/2)

Agenda:

    **HINTS** - the following functions must be created for your Robots game to work:
  • place_player() - randomly places and draws the player's circle
  • move_player() - detects keys and moves the player shape accordingly
  • place_robot() - looks almost exactly like place_player(), but draws a square for the robot instead
  • move_robot() - DO NOT detect keys, just check to see where the robot needs to move in order to catch up with the player
  • You also need to create some way for the player to teleport (the worksheet explains how to do this too)

  • **NON-IB**
  • Complete place_player() and move_player() by this Friday

  • **IB**
  • Complete place_player(), move_player(), place_robot(), move_robot(), check_collision(), and some method of teleportation by this Thursday

  • **GRADING RUBRIC** (to be used for each of the above functions)
  • 1 - you know what a robot is
  • 2 - barely started
  • 3 - on the right track
  • 4 - almost there and works most of the time
  • 5 - works 100%

**NON-IB** Due: place_player() and move_player() by Friday (3/2/07)

**IB** Due: place_player(), move_player(), place_robot(), move_robot(), check_collision(), and some method of teleportation by Thursday (3/1/07)


Monday - 2/26/07

Agenda:

    **NON-IB**
  • Mr. Bui's demo of the first half of Robots
  • Begin working through the Robots Game
  • The two functions that you will need to work on this week will be place_player() and move_player()
  • After you have completed the first half of Robots, you will need to learn classes and objects

  • **IB**
  • Mr. Bui's demo of the Robots completed
  • Work through the Robots Game
  • If you run into any problems, then try to find somebody near you who has already completed your section...or ask Mr. Bui


Friday - 2/23/07

Agenda:

    **NON-IB**
  • Begin working through the Robots Game
  • The two functions that you will need to work on this week will be place_player() and move_player()
  • After you have completed the first half of Robots, you will need to learn classes and objects

  • **IB**
  • Work through the Robots Game
  • If you run into any problems, then try to find somebody near you who has already completed your section...or ask Mr. Bui


Thursday - 2/22/07

Agenda:

    **NON-IB**
  • Demo your happy face and stick figure
  • Begin working through the Robots Game
  • The two functions that you will need to work on this week will be place_player() and move_player()
  • After you have completed the first half of Robots, you will need to learn classes and objects

  • **IB**
  • Work through the Robots Game
  • If you run into any problems, then try to find somebody near you who has already completed your section...or ask Mr. Bui


Wednesday - 2/21/07

Agenda:

    **NON-IB**
  • Demo your happy face and stick figure
  • Begin working through the Robots Game
  • The two functions that you will need to work on this week will be place_player() and move_player()
  • After you have completed the first half of Robots, you will need to learn classes and objects

  • **IB**
  • Work through the Robots Game


Tuesday - 2/20/07

Agenda:

    **NON-IB**
  • Demo your happy face and stick figure
  • Introduction to Classes & Objects
  • Work through the Introduction to Objects
  • Begin reading the HTTLACS chapter on Classes and Objects

  • **IB**
  • Work through the Robots Game
  • At the end of class, give Mr. Bui a progress update

**NON-IB** Due: Programs or functions that draw a happy face and stick figure due today


Friday - 2/16/07

Agenda:

    **NON-IB**
  • Get checked off by Mr. Bui for completing the getAverage() function
  • Skim through Introduction to Livewires. Pay close attention (definitely try out!) the "Graphics" section.
  • Work through Introduction to Graphics. Your assignment is to draw a happy face and a stick figure.
  • All Livewires Sheets

  • **IB**
  • Get checked off by Mr. Bui for completing the happy face and stick figure
  • Work through the Robots Game

**NON-IB** Due: Programs or functions that draw a happy face and stick figure due Monday


Thursday - 2/15/07

Agenda:

    **NON-IB**
  • Get checked off by Mr. Bui for completing the getAverage() function
  • Skim through Introduction to Livewires. Pay close attention (definitely try out!) the "Graphics" section.
  • Work through Introduction to Graphics. Your assignment is to draw a happy face and a stick figure.
  • All Livewires Sheets

  • **IB**
  • Get checked off by Mr. Bui for completing the happy face and stick figure
  • Mr. Bui's demo of the basic robot game
  • Work through the Robots Game

**NON-IB** Due: Programs or functions that draw a happy face and stick figure due tomorrow


Tuesday - 2/13/07

Agenda:


Monday - 2/12/07

Agenda:


Friday - 2/9/07

Agenda:


Thursday - 2/8/07

Agenda:

    **NON-IB**
  • Get checked off by Mr. Bui for completing the getAverage() function

  • **IB**
  • Get checked off by Mr. Bui for completing the happy face and stick figure

**NON-IB** Due: getAverage() due today.

**IB** Due: Completed Livewires Worksheet 3 due today. You must be able to show me 2 programs: 1 that draws a happy face and 1 that draws a stick figure.


Wednesday - 2/7/07

Agenda:

    **NON-IB**
  • Create an empty list and name it myList
  • Write a program that prompts the user 10 times for input (numbers).
  • Use myList.append(num) to add data to your list (inside the loop!)
  • Write a function called getAverage(myList) that uses a loop to find and return the mean/average of a list of numbers

  • **IB**
  • Introduction to Livewires
  • Introduction to Graphics
  • All Livewires Sheets
  • After completing the Introduction to Graphics, you should play around with functions, loops, and drawing

**NON-IB** Due: getAverage() due tomorrow.

**IB** Due: Completed Livewires Worksheet 3 due tomorrow. You must be able to show me 2 programs: 1 that draws a happy face and 1 that draws a stick figure.


Tuesday - 2/6/07

Warmup:

  • Declare a list named strList that contains ["The", "Generals", "Rock"]
  • Write a function called printFirstAndLast(myList) that uses a loop and prints out the first and last letters of every word in myList

Agenda:

  • Take the Chapter 8 Quiz if you have not already. Copy and paste the quiz into a text editor and when you are done, print out the quiz and place it on Mr. Bui's desk.

  • **NON-IB**
  • Create an empty list and name it myList
  • Write a program that prompts the user 10 times for input (numbers).
  • Use myList.append(num) to add data to your list (inside the loop!)
  • Write a function called getAverage(myList) that uses a loop to find and return the mean/average of a list of numbers

  • **IB**
  • Introduction to Livewires
  • Introduction to Graphics
  • All Livewires Sheets

**NON-IB** Due: ListFun exercises due Thursday.

**IB** Due: Completed Livewires Worksheet 3 due Thursday. You must be able to show me 2 programs: 1 that draws a happy face and 1 that draws a stick figure.


Monday - 2/5/07

Warmup:

    Write a function called printList(myList) that uses a loop and prints out all the elements of myList

Agenda:

  • Take the Chapter 8 Quiz if you have not already. Copy and paste the quiz into a text editor and when you are done, print out the quiz and place it on Mr. Bui's desk.

  • **NON-IB**
  • Write a function called findMax(myList) that takes one list parameter. Your function should use a loop to find and return the maximum number in your list
  • Write a function called findMin(myList) that uses a loop to find and return the minimum value from a list

  • **IB**
  • Introduction to Tuples


Friday - 2/2/07

Agenda:

  • When the bell rings, you may begin the Chapter 8 Quiz. Copy and paste the quiz into a text editor and when you are done, print out the quiz and place it on Mr. Bui's desk.


Thursday - 2/1/07

Agenda:

    Chapter 8 Quiz Review
  • Creating lists
  • Accessing list elements
  • Changing values of elements
  • Getting the length of lists
  • List membership - 'in' keyword
  • List Traversal - while/for loops and lists
  • Combining lists together
  • Adding and Removing List elements
  • *IB* A slightly more difficult list problem...
    **NON-IB**
  • Read Chapter 8 of HTTLACS. BE SURE TO TRY OUT AND UNDERSTAND THE CODE THAT THEY GIVE YOU.
  • Complete Chapter 8 exercises
    **IB**
  • Test out your program and functions with the following list: [2, 4, 6, 8, 10, 1, 1, 1, 1, 1]
  • printList() should print the entire list using a loop
  • findMax() should return 10
  • findMin() should return 1
  • getAverage() should return 3.5
  • After you have completed the program and functions above, create the functions getMedian(myList) and getMode(myList). These functions will require some extra work and research on your part.

**NON-IB** Due: Chapter 8 exercises due today. Ch 8 Quiz tomorrow

**IB** Due: ListFun (functions above) due today. Ch 8 Quiz tomorrow


Wednesday - 1/31/07

Agenda:

    **NON-IB**
  • Read Chapter 8 of HTTLACS. BE SURE TO TRY OUT AND UNDERSTAND THE CODE THAT THEY GIVE YOU.
  • Complete Chapter 8 exercises
    **IB**
  • Write a program that prompts the user for 10 numbers and adds them to a list
  • Write a function named printList(myList) that accepts one list parameter. The function should use a loop to print out all the elements in myList
  • Write a function named findMax(myList) that accepts one list parameter. The function should use a loop to find and return the maximum number in myList.
  • Write a function named findMin(myList) that accepts one list parameter. The function should use a loop to find and return the minimum number in myList.
  • Write a function named getAverage(myList) that accepts one list parameter. The function should use a loop to traverse myList, calculate, and return the average
  • After you have completed the program and functions above, create the functions getMedian(myList) and getMode(myList). These functions will require some extra work and research on your part.

**NON-IB** Due: Chapter 8 exercises due tomorrow. Ch 8 Quiz on Friday

**IB** Due: ListFun (functions above) due tomorrow. Ch 8 Quiz on Friday


Tuesday - 1/30/07

Agenda:

    **NON-IB**
  • Introduction to Lists
  • Read Chapter 8 of HTTLACS. BE SURE TO TRY OUT AND UNDERSTAND THE CODE THAT THEY GIVE YOU.
  • Complete Chapter 8 exercises
    **IB**
  • Write a program that prompts the user for 10 numbers and adds them to a list
  • Write a function named printList(myList) that accepts one list parameter. The function should use a loop to print out all the elements in myList
  • Write a function named findMax(myList) that accepts one list parameter. The function should use a loop to find and return the maximum number in myList.
  • Write a function named findMin(myList) that accepts one list parameter. The function should use a loop to find and return the minimum number in myList.
  • Write a function named getAverage(myList) that accepts one list parameter. The function should use a loop to traverse myList, calculate, and return the average
  • After you have completed the program and functions above, create the functions getMedian(myList) and getMode(myList). These functions will require some extra work and research on your part.

**NON-IB** Due: Chapter 8 exercises due Thursday. Ch 8 Quiz on Friday

**IB** Due: ListFun (functions above) due Thursday. Ch 8 Quiz on Friday


Monday - 1/29/07

Agenda:

    **NON-IB**
  • Go over E-mail Harvester
  • Read Chapter 8 of HTTLACS. BE SURE TO TRY OUT AND UNDERSTAND THE CODE THAT THEY GIVE YOU.
  • Complete Chapter 8 exercises
    **IB**
  • Go over Pig Latin Translator
  • Write a program that prompts the user for 10 numbers and adds them to a list
  • Write a function named printList(myList) that accepts one list parameter. The function should use a loop to print out all the elements in myList
  • Write a function named findMax(myList) that accepts one list parameter. The function should use a loop to find and return the maximum number in myList.
  • Write a function named findMin(myList) that accepts one list parameter. The function should use a loop to find and return the minimum number in myList.
  • Write a function named getAverage(myList) that accepts one list parameter. The function should use a loop to traverse myList, calculate, and return the average

**NON-IB** Due: Chapter 8 exercises due Thursday. Ch 8 Quiz on Friday

**IB** Due: ListFun (functions above) due Thursday. Ch 8 Quiz on Friday


Thursday - 1/25/07

Agenda:

    **NON-IB**
  • Prompt the user for a sentence that contains an e-mail address. Your program should use the functions you have created and output back to the screen only the e-mail address. HINT: You can grab the slice of the e-mail address with the indexes of the space before the e-mail address and the space after the e-mail address.
  • Get checked off for E-mail Harvester
  • Read Chapter 8 of HTTLACS. BE SURE TO TRY OUT AND UNDERSTAND THE CODE THAT THEY GIVE YOU IN THE CHAPTER.
  • Complete Chapter 8 exercises
    **IB**
  • Get checked off for Pig Latin Translator
  • Write a program that prompts the user for 10 numbers and adds them to a list
  • Write a function named printList(myList) that accepts one list parameter. The function should use a loop to print out all the elements in myList
  • Write a function named findMax(myList) that accepts one list parameter. The function should use a loop to find and return the maximum number in myList.
  • Write a function named findMin(myList) that accepts one list parameter. The function should use a loop to find and return the minimum number in myList.
  • Write a function named getAverage(myList) that accepts one list parameter. The function should use a loop to traverse myList, calculate, and return the average


Wednesday - 1/24/07

Agenda:

    **NON-IB**
  • Prompt the user for a sentence that contains an e-mail address. Your program should use the functions you have created and output back to the screen only the e-mail address. HINT: You can grab the slice of the e-mail address with the indexes of the space before the e-mail address and the space after the e-mail address.
  • Get checked off for E-mail Harvester
  • Read Chapter 8 of HTTLACS. BE SURE TO TRY OUT AND UNDERSTAND THE CODE THAT THEY GIVE YOU IN THE CHAPTER.
  • Complete Chapter 8 exercises
    **IB**
  • Get checked off for Pig Latin Translator
  • Write a program that prompts the user for 10 numbers and adds them to a list
  • Write a function named printList(myList) that accepts one list parameter. The function should use a loop to print out all the elements in myList
  • Write a function named findMax(myList) that accepts one list parameter. The function should use a loop to find and return the maximum number in myList.
  • Write a function named findMin(myList) that accepts one list parameter. The function should use a loop to find and return the minimum number in myList.
  • Write a function named getAverage(myList) that accepts one list parameter. The function should use a loop to traverse myList, calculate, and return the average


Tuesday - 1/23/07

Agenda:

    **NON-IB**
  • Prompt the user for a sentence that contains an e-mail address. Your program should use the functions you have created and output back to the screen only the e-mail address. HINT: You can grab the slice of the e-mail address with the indexes of the space before the e-mail address and the space after the e-mail address.
  • Get checked off for E-mail Harvester
  • Read Chapter 8 of HTTLACS. BE SURE TO TRY OUT AND UNDERSTAND THE CODE THAT THEY GIVE YOU IN THE CHAPTER.
  • Complete Chapter 8 exercises
    **IB**
  • Get checked off for Pig Latin Translator
  • Write a program that prompts the user for 10 numbers and adds them to a list
  • Write a function named printList(myList) that accepts one list parameter. The function should use a loop to print out all the elements in myList
  • Write a function named findMax(myList) that accepts one list parameter. The function should use a loop to find and return the maximum number in myList.
  • Write a function named findMin(myList) that accepts one list parameter. The function should use a loop to find and return the minimum number in myList.
  • Write a function named getAverage(myList) that accepts one list parameter. The function should use a loop to traverse myList, calculate, and return the average


Friday - 1/19/07

Agenda:

    **NON-IB**
  • How do we harvest e-mails?
  • Work on E-mail Harvester
    • Write a function named findAtSymbol(strng) that takes a single parameter, strng, which is a string. The function should traverse the string and find the "@" symbol. Your function should then return the index of the "@" symbol
    • Recreate the find function from Chapter 7. find(strng, ch, index) should return the location of the character ch in string strng, BUT the search should start at index
    • Create a find function that does the same thing as the above find function, but instead of searching forwards, it searches backwards. Name the function findBackwards(strng, ch, index).
    **IB**
  • Work on the Pig Latin Translator
  • Hint: The first function you should create should be a function that searches a string and returns the index of the first vowel.

**NON-IB** Due: E-mail Harvester due Friday

**IB** Due: Pig Latin Translator due Monday (1/22/07)


Thursday - 1/18/07

Agenda:

    **NON-IB**
  • Work on E-mail Harvester
    • Write a function named findAtSymbol(strng) that takes a single parameter, strng, which is a string. The function should traverse the string and find the "@" symbol. Your function should then return the index of the "@" symbol
    • Recreate the find function from Chapter 7. find(strng, ch, index) should return the location of the character ch in string strng, BUT the search should start at index
    • Create a find function that does the same thing as the above find function, but instead of searching forwards, it searches backwards. Name the function findBackwards(strng, ch, index).
    **IB**
  • Work on the Pig Latin Translator
  • Hint: The first function you should create should be a function that searches a string and returns the index of the first vowel.

**NON-IB** Due: E-mail Harvester due Friday

**IB** Due: Pig Latin Translator due Monday (1/22/07)


Wednesday - 1/17/07

Agenda:

    **NON-IB**
  • Work on E-mail Harvester
    • Write a function named findAtSymbol(strng) that takes a single parameter, strng, which is a string. The function should traverse the string and find the "@" symbol. Your function should then return the index of the "@" symbol
    • Recreate the find function from Chapter 7. find(strng, ch, index) should return the location of the character ch in string strng, BUT the search should start at index
    • Create a find function that does the same thing as the above find function, but instead of searching forwards, it searches backwards. Name the function findBackwards(strng, ch, index).
    **IB**
  • Work on the Pig Latin Translator
  • Hint: The first function you should create should be a function that searches a string and returns the index of the first vowel.

**NON-IB** Due: E-mail Harvester due Friday


Tuesday - 1/16/07

Warmup:

    **NON-IB**
  • Prompt the user for a number and store it in a variable num
  • Using a loop, prompt the user num times for strings
  • Inside of your loop, print out the first character, last character, and length of each string
    **IB**
  • Prompt the user for a number and store it in a variable num
  • Python lists have an internal function named append(x), which can be used to add things to the end of a list. Using a loop, prompt the user num times for strings and continually add them to a list. Example: myList.append(str)
  • Double-check your appending worked by using a loop to print out all the elements in your list

Agenda:

    **NON-IB**
  • Work on E-mail Harvester
    • Write a function named findAtSymbol(strng) that takes a single parameter, strng, which is a string. The function should traverse the string and find the "@" symbol. Your function should then return the index of the "@" symbol
    • Recreate the find function from Chapter 7. find(strng, ch, index) should return the location of the character ch in string strng, BUT the search should start at index
    • Create a find function that does the same thing as the above find function, but instead of searching forwards, make it search backwards. Name the function findBackwards(strng, ch, index).


Friday - 1/12/07

Agenda:

  • **NON-IB**
    • Introduction to Strings
    • Read Chapter 7 of HTTLACS
    • Begin working on Chapter 7 exercises
    • Once you have completed the Chapter 7 exercises, work on the following:
      • Write a function named findAtSymbol(str) that takes a single parameter, str, which is a string. The function should traverse the string and find the "@" symbol. Your function should then return the index of the "@" symbol
  • **IB**

**NON-IB** Due: Chapter 7 Exercises are due today

**IB** Due: Chapter 8 Exercises are due today


Thursday - 1/11/07

Agenda:

  • **NON-IB**
    • Introduction to Strings
    • Read Chapter 7 of HTTLACS
    • Begin working on Chapter 7 exercises
    • Once you have completed the Chapter 7 exercises, work on the following:
      • Write a function named findAtSymbol(str) that takes a single parameter, str, which is a string. The function should traverse the string and find the "@" symbol. Your function should then return the index of the "@" symbol
  • **IB**

**NON-IB** Due: Chapter 7 Exercises are due tomorrow

**IB** Due: Chapter 8 Exercises are due tomorrow


Wednesday - 1/10/07

Agenda:

  • **NON-IB**
    • Introduction to Strings
    • Read Chapter 7 of HTTLACS
    • Begin working on Chapter 7 exercises
    • Once you have completed the Chapter 7 exercises, work on the following:
      • Write a function named findAtSymbol(str) that takes a single parameter, str, which is a string. The function should traverse the string and find the "@" symbol. Your function should then return the index of the "@" symbol
  • **IB**

**NON-IB** Due: Chapter 7 Exercises are due Friday

**IB** Due: Chapter 8 Exercises are due Friday


Tuesday - 1/9/07

Agenda:

  • If you have not completed your game, then finish it ASAP!
  • **NON-IB**
  • **IB**


Monday - 1/8/07

Agenda:

  • If you have not completed your game, then finish it ASAP!
  • **NON-IB**
  • **IB**


Friday - 1/5/07

Agenda:

  • Evaluate "Choose Your Own Adventure" Game


Thursday - 1/4/07

Agenda:

  • Evaluate "Choose Your Own Adventure" Game


Wednesday - 1/3/07

Agenda:

  • We will be playing (grading) games tomorrow!
  • Complete "Choose Your Own Adventure" Game
  • Remember, your game should have 5 different menus shown and at least one loop
  • Once you have completed your game, pair up with somebody else who has finished. Thoroughly beta test (play) each others' games. If you find any errors, then the game developer should patch them up quickly!

Due: "Choose Your Own Adventure" due at the end of today (very beginning of tomorrow)!


Tuesday - 1/2/07

Warmup

  • Write a program that prints out all the numbers divisible by 5 from 0 through 100.
  • Your output should look something like this: 0 5 10 15 20 25 30 ... 100

Agenda:

  • Return Test
  • Complete "Choose Your Own Adventure" Game
  • Remember, your game should have 5 different menus shown and at least one loop
  • Once you have completed your game, pair up with somebody else who has finished. Thoroughly beta test (play) each others' games. If you find any errors, then the game developer should patch them up quickly!

Due: "Choose Your Own Adventure" due at the end of tomorrow!


Thursday - 12/21/06

Agenda:

  • Show Mr. Bui that you have made significant progress on "Choose Your Own Adventure"
  • If you have not finished, then continue working on the game during the break

Due: Significant progress on "Choose Your Own Adventure" at the end of Thursday!


Wednesday - 12/20/06

Agenda:

  • If you have not yet completed Guessing Game, then FINISH IT.
  • Work on your "Choose Your Own Adventure". Your game must include the following:
    • 5 times that the user must make choices
    • At least one while loop
    • Fun

Due: "Choose Your Own Adventure" due at the end of Thursday!


Tuesday - 12/19/06

Agenda:

  • If you have not yet completed Guessing Game, then FINISH IT.
  • Work on your "Choose Your Own Adventure". Your game must include the following:
    • 5 times that the user must make choices
    • At least one while loop
    • Fun

Due: "Choose Your Own Adventure" due at the end of Thursday!


Monday - 12/18/06

Warmup:

  • In this warmup, you will create a menu to be used in your game. This example illustrates several actions you could take if you were hanging out with some of your friends.
  • Use a series of print statements to print out the following:

  • (L)isten to whoever is talking
    (T)ell a joke
    (E)xit the conversation

  • You should then ask the user to make a choice. REMEMBER: The user will be typing in a letter

  • What would you like to do?:

  • Lastly, you should have a series of if and elif statements to check to see what the user inputs. Output back to the user what they inputted.
  • Also, if they did not input one of the given choices, then you should output an error message back to the user (e.g. INVALID CHOICE!).

Agenda:

  • The break statement
  • Continue designing your "Choose Your Own Adventure" game.
  • Once you have finished your design, begin writing your program


Friday - 12/15/06

Warmup:

  • Write a program that prompts the user for a width (w) and a height (h). Print out a rectangle of asterisks using the supplied width and height.

  • Example:

    Please enter a width: 5
    Please enter a height: 3

    *****
    *****
    *****

    Example 2:

    Please enter a width: 2
    Please enter a height: 2

    **
    **

    Hint: To make things print on the same line, you need to put a comma at the end of your print statement (e.g., print x, )

Agenda:

  • **ALL STUDENTS** Demo Guessing Game to Mr. Bui if you have not already
  • "Choose Your Own Adventure Game"
    • To start designing your game, you should first write down (on paper or on the computer) what your adventure will entail
    • You should include different choices in the story so that the player can choose to do different things.
    • Here is an example of a "Choose Your Own Adventure Game"
    • Try to be descriptive and creative!
    • When you are done with the initial design, begin coding!
    • Your game MUST include: at least 5 times the player makes choices, one or more loops, and last but not least...fun.


Thursday - 12/14/06

Warmup:

  • Write a program that prompts the user for a number (N) and then prints out a row of asteriks (*) that is N characters long.

  • Example:

    Please enter a number: 5

    *****


    Example 2:

    Please enter a number: 23

    ***********************


    Hint: To make things print on the same line, you need to put a comma at the end of your print statement (e.g., print x, )

Agenda:

  • Complete Guessing Game
  • **ALL STUDENTS** Demo Guessing Game to Mr. Bui
  • Complete the warmup again, but this time, make the asteriks print vertically (like a column)
  • Complete the warmup again, but this time, make the asteriks print diagonally
  • Now that you know how to print astericks vertically, horizontally, and diagonally, write a program that uses a bunch of loops to print out your initials (or some other cool design)
  • Continue working on the Loan & Payment Calculator


Wednesday - 12/13/06

Warmup:

  • You're in a Mathletes competition and you are given the task of adding up all the numbers from 0 to 1000. Luckily, you know how to use Python to make your life easier. Write a program that will add up all the numbers from 0 to 1000. Your final answer should be 500500.

Agenda:

Due: **IB STUDENTS** Guessing Game is due today!

Due: Guessing Game is due Thursday! You will demo it to Mr. Bui


Tuesday - 12/12/06

Warmup:

  • As a class, we will be creating a bank of python review questions. For your warmup, please type up a couple of YOUR OWN practice python questions involving anything we've learned in Python.
  • The questions should take around 5-10 minutes to answer.
  • The more creative, the better...copying one of my questions and tweaking is NOT creative.
  • After you have typed up the questions, please print them out and place them on Mr. Bui's desk.
  • **IB STUDENTS** You should create a question involving strings.

Agenda:

Due: Guessing Game is due Thursday! You will demo it to Mr. Bui

Due: **IB STUDENTS** Guessing Game is due tomorrow


Monday - 12/11/06

Agenda:

  • If you were absent on Friday, then download THE TEST and read the directions.
  • Begin working on Guessing Game
  • If you have already completed Guessing Game, then review Chapters 6 and 7 or be productive for another class.


Friday - 12/8/06

Agenda:

  • Do not start the test until class has begun
  • Download THE TEST and read the directions.


Thursday - 12/7/06

Agenda:

  • Work on practice exercises from yesterday.

Test tomorrow! **NON-IB** Chapters 1-6 (**IB** Chapters 1-7)


Wednesday - 12/6/06

Agenda:

  • Complete the exercises from yesterday, except for Guessing Game.
  • Write a program that prompts the user for a number, and then print out all the factors of that number
  • Write a program that continually prompts the user for numbers. Each time the user inputs a number, add it to some variable total. If the user ever inputs -1, then exit the loop and print out the average
  • Write a program that continually prompts the user for numbers. Each time the user inputs a number, keep track of theminimum. If the user ever inputs -1, then exit the loop and print out the minimum
  • Write a program that continually prompts the user for numbers. Each time the user inputs a number, keep track of themaximum. If the user ever inputs -1, then exit the loop and print out the maximum
  • When you have completed the exercises, you may either help the people around you OR mess around with while loops some more by working on Guessing Game.

Test this Friday! **NON-IB** Chapters 1-6 (**IB** Chapters 1-7)


Tuesday - 12/5/06

Warmup:

  • Write a program that prompts the user for a number (no function necessary)
  • Using a while loop, print out a Bart Simpson quotation n times where n is the user inputted number

Agenda:

  • Write a program that prints out the numbers from 19 through 91
  • Write a program that prints the even numbers from 4 up to, but not including 400
  • *IB* Write a program that prints out every other letter of this string: "h1e2l3l4o5,6 7w8o9r0l9d8"
  • Write a program that prints the first 20 terms of the following sequence (pattern):

    2 4 8 16 32...

  • Now prompt the user for a number and print out the first N terms of the above sequence, where N is the user's number.
  • When you have completed the exercises, you may either help the people around you OR mess around with while loops some more by working on Guessing Game.

Test this Friday! **NON-IB** Chapters 1-6 (**IB** Chapters 1-7)


Monday - 12/4/06

Warmup:

  • Write a function named getMax() which accepts 3 parameters: x, y, and z
  • getMax() should return the largest variable

Agenda:

  • **NON-IB** Turn in Chapter 6 if you haven't already.
  • **IB** Turn in Chapter 7 if you haven't already.
  • boolean review
  • if statement review
  • while statement review
  • As a class:
    • Write a program that prints out the numbers from 0 through 9
    • Write a program that prints from some variable m through n
    • Write a program that prints out the numbers from 20 down to 12
    • Write a program that prints from some variable m down to n
  • Select a Bart Simpson quotation from here
  • Individually, write a program that prints the message 100 times

Test this Friday! **NON-IB** Chapters 1-6 (**IB** Chapters 1-7)


Friday - 12/1/06

Agenda:

  • **NON-IB** Work on Chapter 6. Work through the chapter and complete the exercises.
  • **IB** Work on Chapter 7. Work through the chapter and complete the exercises.
  • Place completed exercises on Mr. Bui's desk

Due: **NON-IB STUDENTS** Chapter 6 exercises are due today

Due: **IB STUDENTS** Chapter 7 exercises are due today


Thursday - 11/30/06

Agenda:

  • **NON-IB** Work on Chapter 6. Work through the chapter and complete the exercises.
  • **IB** Work on Chapter 7. Work through the chapter and complete the exercises.
  • Place completed exercises on Mr. Bui's desk

Due: **NON-IB STUDENTS** Chapter 6 exercises are due tomorrow

Due: **IB STUDENTS** Chapter 7 exercises are due tomorrow


Wednesday - 11/29/06

Agenda:

  • **NON-IB** Work on Chapter 6. Work through the chapter and complete the exercises.
  • **IB** Work on Chapter 7. Work through the chapter and complete the exercises.

Due: **NON-IB STUDENTS** Chapter 6 exercises are due Friday

Due: **IB STUDENTS** Chapter 7 exercises are due Friday


Tuesday - 11/28/06

Agenda:

  • **NON-IB** Work on Chapter 6. Work through the chapter and complete the exercises.
  • **IB** Work on Chapter 7. Work through the chapter and complete the exercises.

Due: **NON-IB STUDENTS** Chapter 6 exercises are due Friday

Due: **IB STUDENTS** Chapter 7 exercises are due Friday


Monday - 11/27/06

Agenda:


Tuesday - 11/21/06

Agenda:

Due: **IB STUDENTS** Chapter 6 exercises are due today

Due: **NON-IB STUDENTS** Chapter 5 exercises are due today


Monday - 11/20/06

Agenda:

  • If you forgot to turn something in on Friday because I was gone, then turn it in today!
  • **IB STUDENTS** Chapter 6 Overview
  • **IB STUDENTS** Work on Chapter 6 of HTTLACS
  • **NON-IB STUDENTS** Work on Chapter 5 of HTTLACS
  • Complete the Chapter 5 exercises and place them in the tray on Mr. Bui's desk. If you do not turn them in on the specified date, then the assignment will lose 10% for every day it is late!
  • Once you have completed Chapter 5, continue on to Chapter 6.

Due: **IB STUDENTS** Chapter 6 exercises are due tomorrow

Due: **NON-IB STUDENTS** Chapter 5 exercises are due tomorrow


Friday - 11/17/06

Agenda:

  • **IB STUDENTS** Work on Chapter 6 of HTTLACS
  • **NON-IB STUDENTS** Work on Chapter 5 of HTTLACS
  • Complete the Chapter 5 exercises and place them in the tray on Mr. Bui's desk. If you do not turn them in on the specified date, then the assignment will lose 10% for every day it is late!
  • Once you have completed Chapter 5, continue on to Chapter 6.

Due: **IB STUDENTS** Chapter 5 exercises are due today!

Due: **IB STUDENTS** Chapter 6 exercises are due next Tuesday

Due: **NON-IB STUDENTS** Chapter 5 exercises are due next Tuesday


Thursday - 11/16/06

Warmup:

  • Write a function named giveMeOne() that returns the value 1
  • Write a function named giveMeTwo() that returns the value 2
  • Write a function named giveMeThree() that returns the value 3
  • Have your program do the following:
    print giveMeOne()
    print giveMeTwo()
    print giveMeTwo() + giveMeThree()
    print giveMeTwo() * giveMeThree()
  • Trace (Follow) the program and what it does. Analyze the results.

Agenda:

  • Work on Chapter 5 of HTTLACS
  • Complete the Chapter 5 exercises and place them in the tray on Mr. Bui's desk. If you do not turn them in on the specified date, then the assignment will lose 10% for every day it is late!
  • Chapter 5 is clutch (crucial), so make sure you understand everything!
  • Once you have completed Chapter 5, continue on to Chapter 6.

Due: **IB STUDENTS** Chapter 5 exercises are due Friday

Due: **NON-IB STUDENTS** Chapter 5 exercises are due next Tuesday


Wednesday - 11/15/06

Warmup:

  • Write a function named printBooleanParam(myBool) that takes one parameter.
  • Have your function check to see if myBool is True, and if it is True, then output "TRUE TRUE TRUE!"
  • If myBool is False, then output "FALSE FALSE FALSE!"
  • Test your function with two functions calls

Agenda:

Due: **IB STUDENTS** Chapter 5 exercises are due Friday

Due: **NON-IB STUDENTS** Chapter 5 exercises are due next Tuesday


Tuesday - 11/14/06

Warmup:

  • Write a program (you do NOT need to write a function for this) that prompts the user twice for numbers and stores the two numbers in variables named num1 and num2.
  • Your program should then check to see if num1 is greater than num2, and if it is, then print out a message that says num1 is greater than num2. For example, if num1 has the value 5 and num2 has the value 3, then you should output "5 is greater than 3."
  • You program should have two more if statements: one checking if num1 and num2 are equal and the other checking if num1 is less than num2.

Agenda:

Due: **IB STUDENTS** Chapter 5 exercises are due Friday - 11/17/06

Due: **NON-IB STUDENTS** Chapter 5 exercises are due Tuesday - 11/21/06


Thursday - 11/9/06

Agenda:

  • Take the Quiz
  • When you have completed the quiz, check your grade on-line for any missing work. If you wish to turn something in, you must print it out and write down the date of completion. You can check when you last modified a file by going to the file in the terminal and using the command "ls -l"


Wednesday - 11/8/06

Warmup: Check with the people next to you and make sure you have covered all the vocabulary words. Organize your warmups so that you may effectively use them during the quiz tomorrow.

Agenda:

  • Quiz tomorrow. All material will be useful, but the warmups will be the most useful!
  • Turn in Leap Year Calculation if you have not yet!
  • Introduction to Recursion
  • Go back and read sections 4.9-4.12 and complete exercises 3 and 4 of Chapter 4
  • Create a function called factorial(n) that takes one parameter and returns the factorial of n using recursion.


Tuesday - 11/7/06

Warmup: No warmup ... get crackin' on Leap Year Calculation and any missing work!

Agenda:

  • Quiz on Thursday. All material will be useful, but the warmups will be the most useful!
  • Work on Leap Year Calculation PLEASE NOTE: A leap year is not just every four years!
  • When done with leap year calculation, go back and read sections 4.9-4.12 and complete exercises 3 and 4 of Chapter 4
  • **IB STUDENTS** Create a function called factorial(n) that takes one parameter and returns the factorial of n using recursion.

Due: Leap Year Calculation is due today!


Monday - 11/6/06

Warmup:

  • Create a program that has a function called isEven(num) that takes one parameter named num
  • In your function, test to see if num is an even number using the modulus % operator. If num is even, then return the boolean value True, else return the boolean value False
  • HINT: The % (modulus) operator is used like division, only it returns the remainder! For example: 8%3 gives me 2
  • Have your program prompt the user for input and store it in a variable of your choice
  • Use an if statement, a function call to isEven(), and two print statements to output to the user whether or not the input is even

Agenda:

  • Quiz on Thursday. All material will be useful, but the warmups will be the most useful!
  • Introduction to Recursion
  • Work on Leap Year Calculation PLEASE NOTE: A leap year is not just every four years!
  • When done with leap year calculation, go back and read sections 4.9-4.12 and complete exercises 3 and 4 of Chapter 4

Due: Leap Year Calculation is due at the end of tomorrow


Friday - 11/3/06

Warmup:

  • Open your study guide / cheat sheet
  • In your own words, explain / describe the following words, and when possible, give an example:
    • modulus
    • boolean
    • if statement
    • else statement
    • return statement

Agenda:

  • Read Chapter 4 and follow their examples. SKIP SECTIONS 4.9-4.12.
  • Complete and SAVE the Chapter 4 exercises. SKIP EXERCISES 3 and 4.
  • When you have completed Chapter 4, take a shot at Leap Year Calculation PLEASE NOTE: A leap year is not just every four years!
  • When done with Chapter 4, continue on to Chapter 5 and so forth. The earlier you finish and understand the basics of Python, the earlier you can start working on projects!

Due: **IB STUDENTS** Leap Year Calculation is due today

Due: Chapter 4 Exercises are due today

Due: Leap Year Calculation is due at the end of next Tuesday (11/7/06)


Thursday - 11/2/06

Warmup:

  • Open your study guide / cheat sheet
  • In your own words, explain / describe the following words, and when possible, give an example:
    • function definition
    • function call
    • parameter
    • input
    • output

Agenda:

  • Read Chapter 4 and follow their examples. SKIP SECTIONS 4.9-4.12.
  • Complete and SAVE the Chapter 4 exercises. SKIP EXERCISES 3 and 4.
  • When you have completed Chapter 4, take a shot at Leap Year Calculation PLEASE NOTE: A leap year is not just every four years!
  • When done with Chapter 4, continue on to Chapter 5 and so forth. The earlier you finish and understand the basics of Python, the earlier you can start working on projects!

Due: **IB STUDENTS** Leap Year Calculation is due at the end of the week

Due: Chapter 4 Exercises are due at the end of tomorrow for everybody else

Due: Leap Year Calculation is due at the end of next Tuesday (11/7/06)


Wednesday - 11/1/06

Warmup:

  • Open a text editor, we will be creating a study guide / cheat sheet
  • In your own words, explain / describe the following words, and when possible, give an example:
    • variable
    • type
    • int
    • float
    • string
    • assignment statement

Agenda:

  • Read Chapter 4 and follow their examples. SKIP SECTIONS 4.9-4.12.
  • Complete and SAVE the Chapter 4 exercises. SKIP EXERCISES 3 and 4.
  • When you have completed Chapter 4, take a shot at Leap Year Calculation PLEASE NOTE: A leap year is not just every four years!

Due: **IB STUDENTS** Chapter 4 Exercises are due at the end of today

Due: **IB STUDENTS** Leap Year Calculation is due at the end of the week

Due: Chapter 4 Exercises are due at the end of the week for everybody else


Tuesday - 10/31/06

Warmup:

  • Write a program that prompts the user 4 times for integers. Store the input in variables named: num1, num2, num3, and num4
  • Make your program print (output) the sum of the first two numbers and then output the product (multiplication) of the second two numbers.
  • Your output should look something like this:
    Please enter num1: 2
    Please enter num2: 3
    Please enter num3: 5
    Please enter num4: 7
    The sum of num1 and num2 is: 5
    The product of num3 and num4 is: 35

Agenda:

  • Chapter 4 Overview
  • Read Chapter 4 and follow their examples. SKIP SECTIONS 4.9-4.12.
  • Complete and SAVE the Chapter 4 exercises. SKIP EXERCISES 3 and 4.
  • When you have completed Chapter 4, take a shot at Leap Year Calculation PLEASE NOTE: A leap year is not just every four years!

Due: **IB STUDENTS** Chapter 4 Exercises are due at the end of tomorrow

Due: **IB STUDENTS** Leap Year Calculation is due at the end of the week

Due: Chapter 4 Exercises are due at the end of the week for everybody else


Monday - 10/30/06

Warmup:

  • Write a program that prompts the user 4 times for strings. Store the input in variables named: a, b, c, and d
  • Make your program print (output) the strings back to the user only in backwards order. i.e. Print d first, then c, then b, and lastly a

Agenda:

  • Chapter 4 Overview
  • Read Chapter 4 and follow their examples. SKIP SECTIONS 4.9-4.12.
  • Complete and SAVE the Chapter 4 exercises. SKIP EXERCISES 3 and 4.
  • When you have completed Chapter 4, take a shot at Leap Year Calculation

Friday - 10/27/06

Warmup:

  • Write a function named getDistance() that takes 4 parameters: x1, y1, x2, and y2.
  • The parameters make up two points on a graph and your function should return the distance between (x1, y1) and (x2, y2). The distance formula can be found here. Hint: Use the ** to do exponentiation. Square root is an exponent to the 0.5 power
  • Write a program that prompts the user 4 times--once for x1, once for y1, once for x2, and once for y2.
  • Use a function call to get the distance between the two points and print it to the screen.

Agenda:

  • Complete Chapter 3 exercises, print out your answers, and place them on Mr. Bui's desk.
  • You may continue on to Chapter 4 and its exercises when you are done with Chapter 3.
  • If you have completed Chapter 4, then take a shot at Leap Year Calculation

Due: Chapter 3 Exercises are due today!


Thursday - 10/26/06

Warmup:

  • Define a function named InchesToFeet that takes one parameter (argument)
  • Assuming that the one parameter contains some number of inches, have InchesToFeet() return the number of feet. Don't forget about integer division!
  • Create a program that prompts the user for some number of inches
  • Print out the number of feet using the function InchesToFeet()

Agenda:

  • Get checked off for TemperatureConverter if you haven't already
  • Continue on to Chapter 3 of HTTLACS
  • Complete and SAVE the Chapter 3 exercises. I will collect them tomorrow.
  • **IB STUDENTS** I am collecting Chapter 3 exercises today!
  • You may continue on to Chapter 4 and its exercises when you are done with Chapter 3.
  • If you have completed Chapter 4, then take a shot at Leap Year Calculation

Due: Chapter 3 Exercises are due tomorrow

**IB STUDENTS** Due: Chapter 3 Exercises are today


Wednesday - 10/25/06

Warmup:

  • Define a function named PrintSOS() that takes zero parameters (arguments)
  • Have PrintSOS() print a string that says "S.O.S."
  • Define another function named Distress() that takes zero parameters (arguments)
  • Have Distress() call (use) the PrintSOS() function 5 times

Agenda:

  • Complete TemperatureConverter assignment. Make sure you create 2 functions!
  • When TemperatureConverter is completed, raise your hand to get checked off for it
  • It's crunch time, so after you complete TemperatureConverter, then I encourage you to help somebody who has not finished yet. Help them, but do not just give them the answer!
  • Continue on to Chapter 3 of HTTLACS
  • Complete and SAVE the Chapter 3 exercises. I will collect them at the end of the week.
  • After completing TemperatureConverter, you may show me your elite skills by attempting to make the GuessingGame
  • If you have completed the GuessingGame, then take a shot at Leap Year Calculation

Due: TemperatureConverter is due at the end of today

Due: Chapter 3 Exercises are due at the end of the week

**IB STUDENTS** Due: Chapter 3 Exercises are due tomorrow


Tuesday - 10/24/06

Warmup:

  • Define a function named ConvertToInches() that takes one parameter (argument)
  • Given that the parameter is a variable that stores some value in centimeters, the function should return a result that converts the parameter to inches

Agenda:

  • Complete TemperatureConverter assignment. Make sure you create 2 functions!
  • When TemperatureConverter is completed, raise your hand to get checked off for it
  • Continue on to Chapter 3 of HTTLACS
  • Complete and SAVE the Chapter 3 exercises. I will collect them at the end of the week.
  • After completing TemperatureConverter, you may show me your elite skills by attempting to make the GuessingGame

Due: TemperatureConverter is due at the end of tomorrow

Due: Chapter 3 Exercises are due at the end of the week


Monday - 10/23/06

Warmup:

  • Open the text editor and write a function named Print5Times that takes one argument
  • Make the function print the one argument 5 times

Agenda:

  • Complete TemperatureConverter assignment. Make sure you create 2 functions!
  • When TemperatureConverter is completed, raise your hand to get checked off for it
  • Continue on to Chapter 3 of HTTLACS
  • Complete and SAVE the Chapter 3 exercises. I will collect them at the end of the week.

Due: **IB STUDENTS** TemperatureConverter is due at the end of today

Due: Chapter 3 Exercises are due at the end of the week


Friday - 10/20/06

Agenda:

  • What is a function?
  • Making your own function
  • Using a function
  • Returning values from a function
  • Using a function that returns values
  • Put your name, the date, and period on your Chapter 2 exercise answers. Print out your Chapter 2 exercises and put it on Mr. Bui's desk
  • Chapter 2 Exercises Grading:
    • 5 pts: Complete and thoughtful answers to all questions. Clear evidence of information from the readings and class discussion.
    • 4 pts: Detailed answers to each question showing evidence of ideas from the readings and class discussion. Missed answering one or two of the exercises.
    • 3 pts: The assignment was completed, but no effort was made to go beyond the minimum requirements of the assignment. Short or incomplete answers and little evidence that the readings were read or understood.
    • 2 pts: The assignment was submitted, but only a small attempt was made to answer the questions.
    • 1 pts: The assignment was submitted with the name of the author(s) on in.
    • 0 pts: The assignment was not submitted.
  • Work the TemperatureConverter Assignment
  • After completing TemperatureConverter, you may show me your elite skills by attempting to make the GuessingGame

Assignment:

  • Turn in Chapter 2 exercises
  • Work on TemperatureConverter

Due: Chapter 2 Exercises are due at the end of today

Due: TemperatureConverter is due at the end of Monday (10/23/06)


Thursday - 10/19/06

Agenda:

  • Listen to Mr. Bui complain about his computer breaking
  • Shell Mode vs. Script Mode
  • Making your own programs and running them in script mode
  • Read Chapter 2 of "HTTLACS." Make sure you follow along the tutorial by trying out their examples and explanations.
  • Complete the exercises at the end of Chapter 2, and save your answers in a text file. I will be collecting your answers to the exercises at the end of Chapter 2.
  • Read Instant Hacking, and follow along the reading by trying out all the examples that they provide. Use the Python shell or create Python scripts.
  • Work on the TemperatureConverter Assignment


Wednesday - 10/18/06

Agenda:

  • Shell Mode vs. Script Mode
  • Making your own programs and running them in script mode
  • Read Chapter 2 of "HTTLACS." Make sure you follow along the tutorial by trying out their examples and explanations.
  • Complete the exercises at the end of Chapter 2, and save your answers in a text file. I will be collecting your answers to the exercises at the end of Chapter 2.
  • Read Instant Hacking, and follow along the reading by trying out all the examples that they provide. Use the Python shell or create Python scripts.
  • Work on the TemperatureConverter Assignment


Tuesday - 10/17/06

Agenda:

  • Read Chapter 2 of "HTTLACS." Make sure you follow along the tutorial by trying out their examples and explanations.
  • Complete the exercises at the end of Chapter 2, and save your answers in a text file. I will be collecting your answers to the exercises at the end of Chapter 2.
  • Read Instant Hacking, and follow along the reading by trying out all the examples that they provide. Use the Python shell or create Python scripts.
  • Work on the TemperatureConverter Assignment


Monday - 10/16/06

Agenda:

  • Chapter 2 Overview
  • Read Chapter 2 of "How To Think Like A Computer Scientist" (HTTLACS). Make sure you follow along the tutorial by trying out their examples and explanations.
  • Complete the exercises at the end of Chapter 2, and save your answers in a text file.
  • Read Instant Hacking, and follow along the reading by trying out all the examples that they provide. Use the Python shell or create Python scripts.
  • Work on the TemperatureConverter Assignment


Friday - 10/13/06

Agenda:


Thursday - 10/12/06

Agenda:

  • Read and complete the exercises at the end of Chapter 1 of "How To Think Like A Computer Scientist. As you read, write down the words or concepts that you do not understand and we will go over them in class.
  • If you have completed Chapter 1, then proceed on to Chapter 2.


Wednesday - 10/11/06

Agenda:


Tuesday - 10/10/06

Agenda:


Friday - 10/6/06

Agenda:


Thursday - 10/5/06

Agenda:

  • Introduction to Unix
    • Complete the list of Unix command descriptions and examples
    • When you are done with the list, show Mr. Bui
    • Continue working on all the other parts of the Introduction to Unix
    • When you have completed all the parts, work on the Unix Challenges and practice for the evaluation


Wednesday - 10/4/06

Agenda:

  • Introduction to Unix
    • Complete the list of Unix command descriptions and examples
    • When you are done with the list, place it on Mr. Bui's desk
    • Continue working on parts 3 and 4 of the Introduction to Unix


Tuesday - 10/3/06

Agenda:


Monday - 10/2/06

Agenda:

  • If you were absent friday, then take GvR Quiz3 found here
  • Discuss the Unix terminal and file systems
  • Go through the Introduction to Unix


Friday - 9/29/06

Agenda:

  • Take GvR Quiz3 found here

Assignment: Have a great weekend!


Thursday - 9/28/06

Agenda:

  • Get checked off for Step 14.
  • If you are IB, get checked off for Step 16

Assignment:

  • Study for the quiz tomorrow on all steps!

Due: Quiz tomorrow!


Wednesday - 9/27/06

Agenda:

  • Work on GvR Steps 13, 14, and 15. Upon completion, continue to steps 16 and 17.

Assignment:

  • Complete steps 13-15
  • Complete steps 16 and 17 if you are IB

Due: At the end beginning of class tomorrow


Tuesday - 9/26/06

Agenda:

  • If you were absent Friday, please begin the quiz
  • Otherwise, work on GvR Steps 13, 14, and 15
  • If you are IB CS1, continue working on steps 16 and 17

Assignment:

  • Complete steps 13-15
  • Complete steps 16 and 17 if you are IB

Due: At the end beginning of class on Thursday (9/28/06)


Monday - 9/25/06

Agenda:

  • If you were absent Friday, please begin the quiz
  • Otherwise, work on GvR Steps 13, 14, and 15

Assignment: None


Friday - 9/22/06

Agenda:

  • Take GvR Quiz2 found here

Assignment: Have a great weekend!


Thursday - 9/21/06

Agenda:

  • GvR Quiz Review
    • navigating Guido
    • pick/put beepers
    • building worlds with walls and beepers
    • user-defined instructions (compound instructions)
    • if and else
    • do
    • nested instructions
      • do inside a do
      • if inside a do
      • do inside an if
      • etc.
  • Study for the GvR quiz tomorrow. Make sure you understand every step's goal and focus.
  • Finish GvR Steps 6-12

Assignment: Study for tomorrow's GvR quiz on Steps 1 through 11


Wednesday - 9/20/06

Agenda:

  • Finish GvR Steps 6-12
  • If GvR Steps 6-12 complete, then pair up with somebody who has not finished. Help them if they get stuck, but don't give them the answer.

Assignment: Work on GvR Steps 6-12 if you did not finish today!!

Due: At the end of class


Tuesday - 9/19/06

Agenda:

  • Work on GvR Steps 6-12
  • If GvR Steps 6-12 complete, then pair up with somebody who has not finished. Help them if they get stuck, but don't give them the answer.

Assignment: Work on GvR Steps 6-12

Due: At the end of class tomorrow (Wednesday 9/20/06)


Monday - 9/18/06

Agenda:

  • Work on GvR Steps 6-12
  • If GvR Steps 6-12 complete, then pair up with somebody who has not finished. Help them if they get stuck, but don't give them the answer.

Assignment: Work on GvR Steps 6-12

Due: At the end of class on Wednesday 9/20/06


Friday - 9/15/06

Agenda:

  • Take GvR Quiz1 found here

Assignment: Have a great weekend!


Thursday - 9/14/06

Agenda:

Assignment: Study GvR Steps 1 through 5 for Quiz on Friday 9/15/05

Due: At the end of class


Wednesday - 9/13/06

Agenda:

  • Work on GvR steps

Assignment: Complete Steps 4 and 5.

Due: At the end of class


Tuesday - 9/12/06

Agenda:

  • Receive personal accounts
  • Login to new accounts
  • Transfer old work to new account
  • Bookmark class webpage
  • Work on GvR steps

Assignment: Complete Steps 4 and 5.

Due: At the end of class on Wednesday - 9/13/06


Monday - 9/11/06

Agenda:

  • Complete Steps 1 through 3 of the GvR tutorial
  • Double-check your work
  • Get checked off for completion of the "Your Turn" exercises in Steps 1 through 3
  • Continue on to Steps 4 and 5

Assignment: Complete Steps 4 and 5.

Due: At the end of class on Wednesday - 9/13/06


Friday - 9/8/06

Agenda:

  • Login
  • Go to Places->Home Folder
  • Create a new folder using your last name
  • Startup Guido van Robot (GvR) by going to Applications->Programming->GvR
  • Wait for further instructions
  • Introduction to Guido van Robot
  • Open a web browser
  • Go back to the Guido van Robot window and go to Help->GvR Lessons
  • Complete Step 1 of the lessons (including the "Your Turn" section. Name the "Your Turn" files myStep01.wld and myStep01.gvr)
  • Complete Step 2 of the lessons (including the "Your Turn" section. Name the "Your Turn" files myStep02.wld and myStep02.gvr)
  • Complete Step 3 of the lessons (including the "Your Turn" section. Name the "Your Turn" files myStep03.wld and myStep03.gvr)

Assignment: Complete the "Your Turn" sections of Steps 1, 2, and 3.

Due: At the end of class on Monday - 9/11/06


Thursday - 9/7/06

Agenda:

  • "Giving Instructions"
    • Help the robot wake up and get ready for work.
    • List your own steps/instructions (must be at least 10 steps)

Assignment: None


Wednesday - 9/6/06

Agenda:

  • Search the internet individually and try to come up with an answer to this question: "What is computer science?"
  • Introductions
  • Complete the survey located here

Assignment: None


Tuesday - 9/5/06

Agenda:

  • Introductions
  • Go over syllabus
  • Questions?

Assignment:

  • Read and sign the syllabus and have a parent/guardian read and sign it too.

Due: At the beginning of class on Friday - 9/8/06