Difference between revisions of "IB Computer Science 1"

From WLCS
Line 1: Line 1:
 +
== Monday - Tuesday (4/15/13 - 4/16/13) ==
 +
'''Agenda:'''
 +
* Hangman Live Demos!
 +
** See Hangman Demonstration rubric
 +
** 10 points for each basic requirement
 +
** 5 points for each advanced requirement
 +
 
== Thursday - Friday (4/11/13 - 4/12/13) ==
 
== Thursday - Friday (4/11/13 - 4/12/13) ==
 
'''Agenda:'''
 
'''Agenda:'''

Revision as of 13:24, 15 April 2013

Monday - Tuesday (4/15/13 - 4/16/13)

Agenda:

  • Hangman Live Demos!
    • See Hangman Demonstration rubric
    • 10 points for each basic requirement
    • 5 points for each advanced requirement

Thursday - Friday (4/11/13 - 4/12/13)

Agenda:

  • Work on Hangman code - Hangman is due by the end of the week
    • Live demos will be collected at the beginning of next week
    • Be sure to test your hangman code a lot
  • Hangman Game Requirements (at a minimum)
    1. The secret word should be picked randomly from a text file of at least 50 random words (you create the text file)
    2. Player should be allowed to guess a letter
    3. Player is only allowed 7 incorrect guesses (display number of incorrect guesses left every turn)
    4. Correct letters are revealed in the secret word
    5. Incorrect letters are added to an incorrect list
    6. Game over when all letters are revealed correctly or when the player is out of guesses
  • Hangman Advanced Requirements
    1. Your game is idiot-proof (i.e. player cannot input invalid keys, numbers, or words unless the word is the solution)
    2. Your game can handle multiple words (i.e. hyphens and spaces are shown automatically)
    3. Your game handles upper and lower case letters the same (i.e. guessing 'a' or 'A' reveals all the upper and lower As)
    4. Print out a fake graphical hangman in the console (Example)
    5. Display a menu at the beginning to allow player to choose a category for the hangman puzzle

Monday - Wednesday (4/8/13 - 4/10/13)

Agenda:

  • Print out your Hangman Design (make sure your name is at the top)
  • Work on Hangman code - Hangman is due by the end of the week
  • Hangman Game Requirements (at a minimum)
    1. The secret word should be picked randomly from a text file of random words (you create the text file)
    2. Player should be allowed to guess a letter
    3. Player is only allowed 7 incorrect guesses (display number of incorrect guesses left every turn)
    4. Correct letters are revealed in the secret word
    5. Incorrect letters are added to an incorrect list
    6. Game over when all letters are revealed correctly or when the player is out of guesses
  • Hangman Advanced Requirements
    1. Your game is idiot-proof (i.e. player cannot input invalid keys, numbers, or words unless the word is the solution)
    2. Your game can handle multiple words (i.e. hyphens and spaces are shown automatically)
    3. Your game handles upper and lower case letters the same (i.e. guessing 'a' or 'A' reveals all the upper and lower As)
    4. Print out a fake graphical hangman in the console (Example)

Tuesday - Thursday (4/2/13 - 4/4/13)

Agenda:

  • Workshop with a professional programmer - Carney JAMTech
  • Return exams
  • Review most common uses of major programming concepts
    • types: int, double, string
    • variables
    • functions
    • if-statements
    • while loops
    • lists
  • Hangman Game
    1. Review the rules of Hangman
    2. Open a Google Doc and name it Hangman Design
    3. Put your name at the top
    4. Add sub-headings for the following: Variables & Types, Requirements, Design
    5. Under the Variables & Types section, list all the variables that you expect to use and their types (be sure to identify any lists)
    6. Under the Requirements section, list all the rules and requirements for the Hangman game
      • These should be the big picture requirements of how the game works
    7. Under the Design section, write the step-by-step English instructions/pseudocode of your Hangman game
      • This should be the plain language, specific step-by-step instructions of the program (different from rules)
      • You should detail and describe any input or output
      • Be sure to detail what exactly happens in each step (e.g. check each letter of the secret word to see if it matches the guessed letter...)
      • You should include every step from the very beginning when the game starts up until when the game ends
    8. Share the document with Mr. Bui

Friday - Monday (3/15/13 - 3/18/13)

Agenda:

  • Multi-player Acey Deucey
  • 3rd Quarter Exam Outline
    • Values, Types, Variables
    • Comparison and Logic operators
    • if-statements
    • functions
    • while-loops
    • strings
    • lists
    • ...and combinations of the above
    • Note: (No turtle or pygame specific stuff)
  • 7th Period - Tuesday (3/19/13)
  • 6th Period - Wednesday (3/20/13)

Monday - Wednesday (3/11/13 - 3/13/13)

Agenda:

  • Acey Deucey
    • Share your code with Mr. Bui!
    • Live demo Acey Deucey

Challenge:

  • Copy your Acey Deucey program
  • Add a multi-player feature so that the game takes turns between 2 or more people

Tuesday - Friday (3/5/13 - 3/8/13)

Agenda:

  • Acey Deucey
    • Your code should be commented and comment on all the major steps that are happening
    • Test your code using Media:TestCards.txt. Don't shuffle the cards when testing.
    • To submit, copy and paste the code into a Google Doc.
    • Title the document: Acey Deucey Code
    • Be sure to put your name at the top of the page as a comment
    • Change the Page Setup to Landscape
    • Share with Mr. Bui
  • Live Demo of Acey Deucey
    1. Load Mr. Bui's Media:TestCards.txt into your Acey Deucey game
    2. Demonstrate that it works

Monday - Monday (2/25/13 - 3/4/13)

Agenda:

  • Code Acey Deucey (due at the beginning of next week)
    • Copy and paste your design into a new python file
    • Change all your design steps into comments
    • Begin coding the game
    • Be sure to reference the War Card Game for hints on how to create and deal cards
    • Each student will be allowed a total of 3 free debugging questions
    • Unused questions will get extra credit
    • Outside of class (lunch, GP, after school), you may ask any questions without penalty
    • Asking questions beyond the 3 extra credit options will not further penalize you
  • Your progress on the Acey Deucey game will be graded
  • Deadlines:
    • Period 7 - Tuesday (3/5/13)
    • Period 6 - Wednesday (3/6/13)

Testing:

Thursday - Friday (2/21/13 - 2/22/13)

Agenda:

  • Complete the Acey Deucey Design from last class
  • Code Acey Deucey
    • Copy and paste your design into a new python file
    • Change all your design steps into comments
    • Begin coding the game
    • Be sure to reference the War Card Game for hints on how to create and deal cards
  • Your progress on the Acey Deucey game will be graded

Tuesday - Wednesday (2/18/13 - 2/20/13)

Warmup:

Agenda:

  • Open your Acey Deucey flowchart and make sure that you have your name on the chart (use a textbox or label)
  • If you have not shared your flowchart yet, then you need to do so as of right now. It is now considered late.
  • Complete Acey Deucey Rules
    1. Pair up with a partner
    2. Title the document: Acey Deucey Rules
    3. Create a shared document between the two of you
    4. Put both your names on the document
    5. List all the rules of Acey Deucey
    6. Every missing rule will cost a letter grade
    7. Share your document with Mr. Bui
  • Acey Deucey Design
    1. You will complete this assignment individually
    2. Create a Google Document
    3. Title the document: Acey Deucey Design
    4. Share the document with Mr. Bui
    5. Write out all the steps to the Acey Deucey game in your own words
      • Be sure to include every step of the game
      • Be sure to completely describe your steps
      • You must include all the rules that you previously listed
      • This step-by-step design will help you code the game
      • You should use your flowchart to help you cover every step
      • If your flowchart is bad, then you must deal with it because that's your own fault.

Friday (2/15/13)

Warmup:

  • Play Acey Deucey
    • You can use a piece of scratch paper to keep track of the money that the player and pot have

Agenda:

  • Acey Deucey Game
    1. Open a Google Drawing using your APS Google Drive
    2. Create a flowchart for the game of Acey Deucey
      • Rules are in the first paragraph
      • You need to be sure to include all the rules in your flow chart
    3. Be sure to use the standard flowchart symbols: Media:Flowcharts.ppt
    4. Share your complete flowchart with Mr. Bui
    5. Due by Monday (2/18/13) at 3PM (on-line via shared Google Doc)

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

Agenda:

  • Review your War Card Game code
  • War Card Game Quiz
  • Acey Deucey Game
    1. Open a Google Drawing using your APS Google Drive
    2. Create a flowchart for the game of Acey Deucey
      • Rules are in the first paragraph
    3. Be sure to use the standard flowchart symbols: Media:Flowcharts.ppt
    4. Share your complete flowchart with Mr. Bui
    5. Due by Monday (2/18/13) at 3PM (on-line via shared Google Doc)
  • Next class, bring a deck of cards from home if you have one

Monday - Tuesday (2/11/13 - 2/12/13)

Warmup:

  1. Login to CodingBat
  2. Complete 3 exercises from List-1
    • first_last6
    • same_first_last
    • make_pi
  3. If you have already completed them, then complete 1 exercise from List-2

Agenda:

  • Finish coding the War card game
  • Reading/commenting code exercise
  • Quiz on the War code on Wednesday (2/13/13), Thursday (2/14/13)
  • List & String Practice Problem
    1. Assume you have a list of strings of peoples' full names in random order. Print out an alphabetized list of only the last names.
    2. You can test our your code using the following file: Media:Names.txt
    3. See if you can write it in fewer lines of code

Wednesday - Friday (2/6/13 - 2/9/13)

Agenda:

  • Course Request Forms
  • Demo Advanced Python List Exercises
  • More List Documentation
  • War Card Game walk-through
    1. Read the War Rules
    2. On a blank piece of paper, create a flow chart for the rules and steps of War. Be sure to include the following steps:
      • Shuffle deck
      • Deal deck halves to 2 players
      • Each player reveals top card
      • Player with higher card puts both cards at the bottom of his/her deck
      • If both players' cards match, then there is "war"
        1. Both players put 3 cards face down, and reveal 4th card face up. Player with higher card takes all 10 cards
    3. We will code the War card game as a class using our flow chart
  • List & String Practice
    1. Assume you have a list of strings of peoples' full names in random order. Print out an alphabetized list of only the last names.
    2. Assume you have a single string containing the entire U.S. Constitution. Calculate and print out the frequency of the word "the"
      • Download the following file: Media:Constitution.txt
      • Hint: There is a useful string function converts a string to a list of words.
    3. Assume you have a single data file with 1000 random numbers from 0 to 100. Print out the frequency of each of the numbers.
      • Example code to help read in a file:
# open a text file
file = open("Constitution.txt", "r")

# read all lines in the file and save in the constitution string variable
constitutionStr = file.read()

# close the file
file.close()

print(constitutionStr)

Monday - Tuesday (2/4/13 - 2/5/13)

Agenda:

  • Complete Advanced Python List Exercises by Wednesday (2/6/13)
  • If you are done with all the exercises, then do the following:
    1. Read up on the rules of blackjack
    2. Draw a simple flowchart for a simple blackjack game (Vegas rules). Be sure to use the flowchart symbols
  • List & String Practice
    1. Assume you have a list of strings of peoples' full names in random order. Print out an alphabetized list of only the last names.
    2. Assume you have a single string containing the entire U.S. Constitution. Calculate and print out the frequency of the word "the"
      • Download the following file: Media:Constitution.txt
      • Hint: There is a useful string function converts a string to a list of words.
      • Example code to help read in a file:
# open a text file
file = open("Constitution.txt", "r")

# read all lines in the file and save in the constitution string variable
constitutionStr = file.read()

# close the file
file.close()

print(constitutionStr)

Archives