Difference between revisions of "IB Computer Science 1"

From WLCS
 
Line 1: Line 1:
== Thursday - Friday (4/11/13 - 4/12/13) ==
+
== [[IBCS1 - Archives]] ==
'''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)
 
*# The secret word should be picked randomly from a text file of at least 50 random words (you create the text file)
 
*# Player should be allowed to guess a letter
 
*# Player is only allowed 7 incorrect guesses (display number of incorrect guesses left every turn)
 
*# Correct letters are revealed in the secret word
 
*# Incorrect letters are added to an incorrect list
 
*# Game over when all letters are revealed correctly or when the player is out of guesses
 
* Hangman Advanced Requirements
 
*# Your game is idiot-proof (i.e. player cannot input invalid keys, numbers, or words unless the word is the solution)
 
*# Your game can handle multiple words (i.e. hyphens and spaces are shown automatically)
 
*# Your game handles upper and lower case letters the same (i.e. guessing 'a' or 'A' reveals all the upper and lower As)
 
*# Print out a fake graphical hangman in the console ([http://www.codeproject.com/KB/game/Hangman_game/Hangman.jpg Example])
 
*# 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)
 
*# The secret word should be picked randomly from a text file of random words (you create the text file)
 
*# Player should be allowed to guess a letter
 
*# Player is only allowed 7 incorrect guesses (display number of incorrect guesses left every turn)
 
*# Correct letters are revealed in the secret word
 
*# Incorrect letters are added to an incorrect list
 
*# Game over when all letters are revealed correctly or when the player is out of guesses
 
* Hangman Advanced Requirements
 
*# Your game is idiot-proof (i.e. player cannot input invalid keys, numbers, or words unless the word is the solution)
 
*# Your game can handle multiple words (i.e. hyphens and spaces are shown automatically)
 
*# Your game handles upper and lower case letters the same (i.e. guessing 'a' or 'A' reveals all the upper and lower As)
 
*# Print out a fake graphical hangman in the console ([http://www.codeproject.com/KB/game/Hangman_game/Hangman.jpg Example])
 
 
 
== Tuesday - Thursday (4/2/13 - 4/4/13) ==
 
'''Agenda:'''
 
* Workshop with a professional programmer - [http://www.teamcarney.com/jamtech/ 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
 
*# Review the rules of [http://en.wikipedia.org/wiki/Hangman_(game) Hangman]
 
*# Open a Google Doc and name it Hangman Design
 
*# Put your name at the top
 
*# Add sub-headings for the following: '''Variables & Types''', '''Requirements''', '''Design'''
 
*# Under the '''Variables & Types''' section, list all the variables that you expect to use and their types (be sure to identify any lists)
 
*# 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
 
*# 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
 
*# 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
 
*# Load Mr. Bui's [[Media:TestCards.txt]] into your Acey Deucey game
 
*# 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:'''
 
* [[Media:TestCards.txt]]
 
 
 
== 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:'''
 
* Complete [http://kmbcoding.com/psychology/ Psychology IA] (~15 minutes)
 
 
 
'''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
 
*# Pair up with a partner
 
*# Title the document: '''Acey Deucey Rules'''
 
*# Create a shared document between the two of you
 
*# Put both your names on the document
 
*# List '''all''' the rules of [http://en.wikipedia.org/wiki/Acey_Deucey_(card_game) Acey Deucey]
 
*# Every missing rule will cost a letter grade
 
*# Share your document with Mr. Bui
 
* Acey Deucey Design
 
*# You will complete this assignment individually
 
*# Create a Google Document
 
*# Title the document: '''Acey Deucey Design'''
 
*# Share the document with Mr. Bui
 
*# 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
 
*# Open a Google Drawing using your APS Google Drive
 
*# Create a flowchart for the game of [http://en.wikipedia.org/wiki/Acey_Deucey_(card_game) Acey Deucey]
 
*#* Rules are in the first paragraph
 
*#* You need to be sure to include all the rules in your flow chart
 
*# Be sure to use the standard flowchart symbols: [[Media:Flowcharts.ppt]]
 
*# Share your complete flowchart with Mr. Bui
 
*# 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
 
*# Open a Google Drawing using your APS Google Drive
 
*# Create a flowchart for the game of [http://en.wikipedia.org/wiki/Acey_Deucey_(card_game) Acey Deucey]
 
*#* Rules are in the first paragraph
 
*# Be sure to use the standard flowchart symbols: [[Media:Flowcharts.ppt]]
 
*# Share your complete flowchart with Mr. Bui
 
*# 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:'''
 
# Login to CodingBat
 
# Complete 3 exercises from [http://codingbat.com/python/List-1 List-1]
 
#* first_last6
 
#* same_first_last
 
#* make_pi
 
# If you have already completed them, then complete 1 exercise from [http://codingbat.com/python/List-2 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
 
*# Assume you have a list of strings of peoples' full names in random order.  Print out an alphabetized list of only the last names.
 
*# You can test our your code using the following file: [[Media:Names.txt]]
 
*# 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 [http://docs.python.org/3.2/tutorial/datastructures.html List Documentation]
 
* War Card Game walk-through
 
*# Read the [http://en.wikipedia.org/wiki/War_(card_game) War Rules]
 
*# 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"
 
*#*# Both players put 3 cards face down, and reveal 4th card face up. Player with higher card takes all 10 cards
 
*# We will code the War card game as a class using our flow chart
 
 
 
* List & String Practice
 
*# Assume you have a list of strings of peoples' full names in random order.  Print out an alphabetized list of only the last names.
 
*# 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.
 
*# 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:
 
<syntaxhighlight lang="Python">
 
# 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)
 
</syntaxhighlight>
 
 
 
== 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:
 
*# Read up on the rules of blackjack
 
*#* [http://en.wikipedia.org/wiki/Blackjack Wikipedia: Blackjack]
 
*#* [http://entertainment.howstuffworks.com/how-to-play-blackjack.htm How Stuff Works: Blackjack]
 
*# Draw a simple flowchart for a simple blackjack game (Vegas rules).  Be sure to use the flowchart symbols
 
*#* [[Media:Flowcharts.ppt]]
 
* List & String Practice
 
*# Assume you have a list of strings of peoples' full names in random order.  Print out an alphabetized list of only the last names.
 
*# 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:
 
 
 
<syntaxhighlight lang="Python">
 
# 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)
 
</syntaxhighlight>
 
 
 
== Archives ==
 
* [[IBCS1 - 1213 - January]]
 
* [[IBCS1 - 1213 - December]]
 
* [[IBCS1 - 1213 - November]]
 
* [[IBCS1 - 1213 - October]]
 
* [[IBCS1 - 1213 - September]]
 

Latest revision as of 08:28, 13 September 2023