Difference between revisions of "IB Computer Science 1"

From WLCS
Line 1: Line 1:
 
== Thursday - Friday (12/5/13 - 12/6/13) ==
 
== Thursday - Friday (12/5/13 - 12/6/13) ==
'''Agenda:'''
+
'''Warmup:'''
* Text-based card game introduction exercises
+
* Text-based card game introduction warmup
 
*# Create a text file that has all the names for a deck of cards (Examples: 5 of Diamonds, Jack of Clubs)
 
*# Create a text file that has all the names for a deck of cards (Examples: 5 of Diamonds, Jack of Clubs)
 
*# Write a program that loads the text file's data into a list of strings
 
*# Write a program that loads the text file's data into a list of strings
Line 11: Line 11:
 
*# Deal 5 cards from the deck to p2Hand
 
*# Deal 5 cards from the deck to p2Hand
 
*# Print out both hands
 
*# Print out both hands
 +
'''Agenda:'''
 
* Introduction to Flow Charts
 
* Introduction to Flow Charts
 
** [[Media:Flowcharts.ppt]]
 
** [[Media:Flowcharts.ppt]]

Revision as of 11:12, 5 December 2013

Thursday - Friday (12/5/13 - 12/6/13)

Warmup:

  • Text-based card game introduction warmup
    1. Create a text file that has all the names for a deck of cards (Examples: 5 of Diamonds, Jack of Clubs)
    2. Write a program that loads the text file's data into a list of strings
    3. Store all the strings loaded into a list of strings named deck
    4. Create 2 empty lists named p1Hand and p2Hand
    5. Deal 5 cards from the deck to p1Hand
      • Look through Python-Lists and find the list.pop() function. Read how the functions works to remove elements from a list. You can then use the list.append() function to add those elements to another list
    6. Deal 5 cards from the deck to p2Hand
    7. Print out both hands

Agenda:

  • Introduction to Flow Charts
    • Media:Flowcharts.ppt
    • Draw the flowchart for the list search algorithm (finding a number in a list of numbers)
    • Draw the flowchart for the list minimum algorithm
    • Draw the flowchart for the following problem: Assume you have a single data file with 1000 random numbers from 0 to 100. Print out the frequency of each of the numbers.
  • War Card "Game" Simulator 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

Monday - Wednesday (12/2/13 - 12/4/13)

Agenda:

  • Demo Advanced Python List Exercises
  • 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)

Archives