Difference between revisions of "IB Computer Science 1"

From WLCS
(Replaced content with "== Tuesday (4/2/19) == '''Agenda:''' * Demonstrate your re-implemented Item Collection / Robot game w/ lists! * Installing Java software(s) * Introduction to Java ** Comme...")
(Tag: Replaced)
Line 16: Line 16:
 
* Practice Processing - Java
 
* Practice Processing - Java
 
* Convert your Tic-Tac-Toe program from Python to Java
 
* Convert your Tic-Tac-Toe program from Python to Java
 
== Thursday (3/28/19) ==
 
'''Agenda:'''
 
* Demonstrate your re-implemented Item Collection / Robot game w/ lists!
 
* Installing Java software(s)
 
* Introduction to Java
 
** Comments
 
** Semicolons
 
** Curly brace/brackets
 
** Values, Types & Variables
 
*** Declaring variables
 
** Function/method header
 
** if statement
 
** or -> ||
 
** and -> &&
 
** not -> !
 
* Practice Processing - Java
 
* Convert your Tic-Tac-Toe program from Python to Java
 
 
== Tuesday (3/26/19) ==
 
'''Agenda:'''
 
* Sprite demo revisited w/ lists!
 
*# Download the two following Processing projects:
 
*#* [https://drive.google.com/file/d/1iZNgBe_Fc4moAG4DHBw2bPQ5oNauUR5c/view?usp=sharing Multiple Objects - No Lists]
 
*#* [https://drive.google.com/file/d/10C3IKGuwBN6c88FffSx4d5ZoYlkJQ-w4/view?usp=sharing Multiple Objects - With Lists]
 
*# Open both of the projects
 
*# Compare and contrast the two projects. How are they similar? How are they different?
 
* Re-implement your Item Collection / Robot game w/ lists!
 
** You are encouraged to use the Multiple Objects - With Lists code to help you
 
 
== Friday (3/22/19) ==
 
'''Agenda:'''
 
* Demo Benford's Law program
 
** If your data set does not follow Benford's law, then find one that does
 
** Did you create a bunch of variables to count the frequencies of the digits?  That's not quite clean, so semi-required challenge: use a list to count the frequencies of the digits!
 
* Sprite demo revisited w/ lists!
 
* Re-implement your Item Collection / Robot game w/ lists!
 
 
== Wednesday (3/20/19) ==
 
'''Agenda:'''
 
* Take the List Algorithms Quiz in Canvas
 
** Closed-book, closed-note, closed-person
 
** Do not deviate from the Canvas quiz page
 
* Work on your Benford's Law assignment
 
*# Find a dataset of numbers, copy, and paste them into a file
 
*# Write a program that reads the data from the file
 
*# Iterate through all the numbers and count the frequency of the leading digits (digit on the farthest left)
 
*# Print out their percentage frequencies
 
*# Does your data set follow Benford's law?  Try again on another data set
 
* Challenge: Write a Processing program that reads a data file and displays a visualization of the digit frequencies.  You'll have to look at the Processing documentation for the file reading function
 
 
== Monday (3/18/19) ==
 
'''Warmup:'''
 
* Login to repl.it and edit your last name so that it has your period number at the beginning using the format: "# - LASTNAME"
 
* Example: "1 - Bui" (notice the spaces around the dash)
 
 
'''Agenda:'''
 
* List Algorithms (Search, Min, Max, Reverse) '''Quiz on Wednesday (3/20/19)'''
 
** You may be given code, and you must identify the corresponding algorithm name
 
** You may be given incomplete code for a particular algorithm, and you must fill in the blank
 
* Complete the rest of the List repl.its
 
** Search, Min, Max, Reverse
 
* Lists of Strings
 
** String splitting
 
** File reading review + new stuff - readlines()
 
** Accessing string characters of list elements
 
* Benford's Law Assignment
 
*# Read and watch [http://www.kirix.com/blog/2008/07/22/fun-and-fraud-detection-with-benfords-law/ Benford's Law and Fraud Detection]
 
*# Further reading [http://mathworld.wolfram.com/BenfordsLaw.html Benford's Law]
 
*# Research and find a set of naturally occurring numbers.  Here are some ideas, but you can come up with your own:
 
*#*[http://testingbenfordslaw.com/ Testing Benford's Law]
 
*#*[http://www.data.gov U.S. Government's Open Data]
 
*#** [https://catalog.data.gov/dataset?res_format=CSV Data.gov Datasets]
 
*#* [http://www.census.gov/ U.S. Census Bureau]
 
*#* [https://www.tableau.com/learn/articles/free-public-data-sets Tableau: Free Public Data Sets]
 
*#* [https://www.springboard.com/blog/free-public-data-sets-data-science-project/ Springboard: Free Public Data Sets]
 
*#* Heights of mountains
 
*#* Atomic weights in the periodic table
 
*#* Baseball statistics
 
*#* etc.
 
*# Create a text file that contains a list of your numbers (try to have a list of ~1000 numbers if possible)
 
*#* There are many different ways to do this...some people use Excel, Google Sheets, Sublime, Notepad, etc.
 
*# Write a program that loads your text file, reads the data, extracts the leading digit(s) of the data set, and displays each digit's frequency
 
 
== Thursday (3/14/19) ==
 
'''Agenda:'''
 
* Complete the List Review Exercises repl.it if you have not already done so
 
* Go over [[Python List Exercises]]
 
* Basic Lists Quiz
 
* Complete the rest of the List repl.its
 
** Search, Min, Max, Reverse
 
 
== Tuesday (3/12/19) ==
 
'''Warmup:'''
 
* Complete the List Review Exercises repl.it
 
 
'''Agenda:'''
 
* Lists Review
 
** [https://docs.google.com/presentation/d/1Sa5CMY2OHMMyvySI8Qz5kN7EA_qxTiWQZkjoyGMoGvs/edit?usp=sharing Lists (Python)]
 
** [[Python List Exercises]] - submit to Canvas
 
* Basic Lists Quiz
 
* [[Advanced Python List Exercises]]
 
** Submit to repl.it (some modifications will be necessary to create functions for each)
 
 
== Friday (3/8/19) ==
 
'''Agenda:'''
 
* Today: Morse Code Sound Player
 
* [https://docs.python.org/3/library/time.html Time module]
 
** Time module demo
 
*# import time (at the top of your program)
 
*# Write a while loop that prints "Hello" 5 times
 
*# You can add a 1 second delay by using time.sleep(1)
 
*# Try sleeping for a second before "Hello" is printed
 
* How to play a sound file using os.system()
 
*# Download [[Media:Dot.wav]] and [[Media:Dash.wav]]
 
*# Create a python file to test out playing sound
 
*# import os
 
*# os.system("afplay FILENAME")
 
*# make sure that the python file and the sound are in the same folder/director
 
* Morse Code Sound Player
 
*# Create a new file named morseCodePlayer.py
 
*# Copy your plain->morse translation code
 
*# Using the time and os modules, you will write a program that allows the user to input a string.  The program will then translate to morse code, display the textual morse code, AND play the morse code sounds
 
*# You may use the following sound files: [[Media:Dot.wav]] and [[Media:Dash.wav]]
 
*# After your translate to morse code, you should iterate through your morse code string and check to see what each character is in order to play the appropriate sound (if the character is a dot, then play the dot sound).
 
*# Whenever there is a space, you should sleep for about 50 milliseconds
 
* Introduction to Lists
 
** [https://docs.google.com/presentation/d/1Sa5CMY2OHMMyvySI8Qz5kN7EA_qxTiWQZkjoyGMoGvs/edit?usp=sharing Lists (Python)]
 
** [[Python List Exercises]] - submit to Canvas
 
 
== Wednesday (3/6/19) ==
 
'''Warmup:'''
 
* Write a function named isDigit(ch) that returns True if the string ch is a digit character, and False otherwise
 
* Submit your solution to the repl.it for warmup credit
 
 
'''Agenda:'''
 
* Date Format Validation cont'd
 
** If you have not completed Date Format Validation already, then you can use isDigit() to help you
 
* Complete E-mail Harvester
 
* E-mail Harvester Challenges:
 
** Modify e-mail harvester so that it reads from a file
 
** Modify e-mail harvester so that multiple e-mails can be found/printed
 
** Test the file reading, multiple e-mail harvester by processing the HTML from some website
 
 
== Monday (3/4/19) ==
 
'''Agenda:'''
 
* Confirm that you have completed and submitted the Count Vowels and Count Words repl.its
 
* Date Format Validation repl.it (no loops)
 
*# You will define a function named checkDateFormat(dateStr) that takes a string as a parameter. Your function will return True if the date string is valid, and False otherwise
 
*# A date string is valid if it adheres to the following rules:
 
*## Must be in the format: MM/DD/YYYY
 
*## MM must be a valid 2-digit month (01 -> 12)
 
*## DD must be a valid 2-digit day (01 -> 31)
 
*## YYYY must be a 4-digit number
 
*# Guidance: You should use any and/or all programming strategies to help you define the function: checking the string length, string slicing, checking if specific characters are valid, defining helper functions, etc..
 
*# Submit to repl.it
 
* E-mail Harvester repl.it
 
*# You will define a function named harvestEmail(s) that takes a string as a parameter. Your function will return the e-mail address within the string s
 
*# Assume that the s parameter will have an e-mail address and all e-mail addresses have an @ symbol
 
*# Use a loop to find the index of the @ symbol.  Basically, check if each character is the @ symbol, and if it is, then remember the current index.  Be sure to break out of the loop when you find the @ symbol
 
*# Use a loop to find the index of the space " " character before the @ symbol (this is the beginning of the e-mail address).  Hint: Start your loop counter at the index of the @ symbol, and count backwards/downwards. Be sure to break out of the loop when you find the space
 
*# Use a loop to find the index of the space " " character after the @ symbol (this is the end of the e-mail address). Hint: Start your loop counter at the index of the @ symbol. Be sure to break out of the loop when you find the space
 
*# Return the e-mail address by string slicing the indices of the beginning and end of the e-mail address
 
*# Submit to repl.it
 
* Challenges:
 
** Modify e-mail harvester so that it reads from a file
 
** Modify e-mail harvester so that multiple e-mails can be found/printed
 
** Test the file reading, multiple e-mail harvester by processing the HTML from some website
 
  
 
== Archives ==
 
== Archives ==
 +
* [[IBCS1 - 1819 - March]]
 
* [[IBCS1 - 1819 - February]]
 
* [[IBCS1 - 1819 - February]]
 
* [[IBCS1 - 1819 - January]]
 
* [[IBCS1 - 1819 - January]]

Revision as of 15:53, 1 April 2019

Tuesday (4/2/19)

Agenda:

  • Demonstrate your re-implemented Item Collection / Robot game w/ lists!
  • Installing Java software(s)
  • Introduction to Java
    • Comments
    • Semicolons
    • Curly brace/brackets
    • Values, Types & Variables
      • Declaring variables
    • Function/method header
    • if statement
    • or -> ||
    • and -> &&
    • not -> !
  • Practice Processing - Java
  • Convert your Tic-Tac-Toe program from Python to Java

Archives