Difference between revisions of "IB Computer Science 1"

From WLCS
 
Line 1: Line 1:
== Wednesday (5/15/13) ==
+
== [[IBCS1 - Archives]] ==
'''Agenda:'''
 
* Demo a working [[RoomTest.py]]
 
* Introduction to Stacks
 
** [[Media:Stacks.ppt]]
 
** [http://www.csanimated.com/animation.php?t=Stack Stack - CS Animated]
 
** Stack practice
 
* Maze Generation
 
** Read [https://en.wikipedia.org/wiki/Maze_generation_algorithm#Depth-first_search Depth-first Search] and [https://en.wikipedia.org/wiki/Maze_generation_algorithm#Recursive_backtracker Recursive backtracker].  Be sure to watch the video.
 
** [http://jklp.org/public/html/choose.html Random Choice Chooser]
 
 
 
== Monday - Monday (5/6/13 - 5/13/13) ==
 
* Demo missing [[CombatSimulation.py]]
 
* Review class construction & using objects
 
* Introduction to the for loop
 
* [[Python - Creature Combat Game]]
 
** [[Python - Menu module assignment]]
 
** [[Python - Room class assignment]]
 
* Demo a working [[RoomTest.py]]
 
 
 
== Wednesday - Friday (5/1/13 - 5/3/13) ==
 
* Demo missing [[CombatSimulation.py]]
 
* Review class construction & using objects
 
* Introduction to the for loop
 
* Introduction to nested lists
 
*# Review [http://www.openbookproject.net/thinkcs/python/english2e/ch09.html HTTLACS: Ch 9]
 
*# Read specifically and pay close attention to section 9.17 and 9.18
 
*# Complete exercises #7, 8, 9 located at the bottom of [http://www.openbookproject.net/thinkcs/python/english2e/ch09.html HTTLACS: Ch 9]
 
 
 
== Monday - Tuesday (4/29/13 - 4/30/13) ==
 
'''Agenda:'''
 
* Complete [[Python - Creature Combat Game]] today
 
** Demo [[CombatSimulation.py]] by the end of today
 
** Mr. Bui will be checking for demos at the beginning of next class
 
* [https://picoctf.com/ Toaster Wars - Hacking Competition]
 
 
 
== Thursday - Friday (4/25/13 - 4/26/13) ==
 
'''Agenda:'''
 
* More on the __init__() method
 
** Additional parameters
 
** Default values for parameters
 
* [[Python - Creature Combat Game]]
 
 
 
== Tuesday - Wednesday (4/23/13 - 4/24/13) ==
 
'''Agenda:'''
 
* Demo AddressBook
 
* Basic Requirements (5 points each)
 
** Add a contact
 
** Find a contact
 
** Remove a contact
 
** Print all contacts
 
** Quit the program
 
* Advanced Requirements (2.5 points each)
 
** Editing a contact
 
** Sort the address book
 
 
 
== Friday - Monday (4/19/13 - 4/22/13) ==
 
'''Agenda:'''
 
* Missing Hangman demos
 
* Python Classes Review
 
** [[Media:PythonClasses.pptx]]
 
* AddressBook Assignment
 
** Your program should print out a menu with the following options
 
** Add a new contact
 
**# Prompt the user for the new contact's name
 
**# Prompt the user for the new contact's phone
 
**# Add the contact to the address book
 
** Find a contact
 
**# Prompt the user for the contact's name to find
 
**# Use a loop to traverse the address book
 
**# If found, print out the contact's full information (name and number)
 
**# If the contact is not found, then print "Contact Not found"
 
** Remove a contact
 
**# Prompt the user for the name of the contact to remove
 
**# Use a loop to traverse the address book
 
**# If found, delete/remove the contact from the address book
 
**# If the contact is not found, then print "Contact Not found"
 
** Print out all contacts
 
**# User a loop to print out all the contacts in the address book
 
** Quit program
 
* '''Challenges'''
 
** Add an option to edit a particular contact in the address book
 
** Add an option to sort the address book
 
 
 
== Monday - Wednesday (4/15/13 - 4/17/13) ==
 
'''Agenda:'''
 
* Hangman Live Demos!
 
** See Hangman Demonstration rubric
 
** 5 points for each basic requirement
 
** 1.5 points for each advanced requirement
 
* Due by the end of Wednesday!
 
 
 
== 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)
 
*# 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
 
 
 
== Archives ==
 
* [[IBCS1 - 1213 - March]]
 
* [[IBCS1 - 1213 - February]]
 
* [[IBCS1 - 1213 - January]]
 
* [[IBCS1 - 1213 - December]]
 
* [[IBCS1 - 1213 - November]]
 
* [[IBCS1 - 1213 - October]]
 
* [[IBCS1 - 1213 - September]]
 

Latest revision as of 08:28, 13 September 2023