Difference between revisions of "IB Computer Science 1"

From WLCS
(48 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Tuesday (3/12/19) ==
+
== Friday (4/12/19) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Lists Review
+
* Make sure you've completed:
** [https://docs.google.com/presentation/d/1Sa5CMY2OHMMyvySI8Qz5kN7EA_qxTiWQZkjoyGMoGvs/edit?usp=sharing Lists (Python)]
+
** Monte Carlo Pi demonstration
** [[Python List Exercises]] - submit to Canvas
+
** Taylor Series Pi repl.it
* List repl.its
+
** Taylor Series e repl.it
 +
* Complex types and objects
 +
** Images
 +
** Sounds
 +
** ...anything!
 +
* Sound Board assignment
 +
*# Download 4 different sound clips from your favorite actress/actor/movie/sound effect
 +
*# Create 4 buttons (hint: use your fancy buttons b/c you must detect clicking)
 +
*# Pressing each of the buttons plays a different sound
  
== Friday (3/8/19) ==
+
== Wednesday (4/10/19) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Today: Morse Code Sound Player
+
* Make sure you've caught up, demonstrated everything, and completed everything in Canvas and repl.it
* [https://docs.python.org/3/library/time.html Time module]
+
* Converting between types - casting
** Time module demo
+
** https://repl.it/@paulbui/PrimitiveTypeCasting
*# import time (at the top of your program)
+
* Java input w/ Scanner
*# Write a while loop that prints "Hello" 5 times
+
** https://repl.it/@paulbui/Java-Input-with-Scanner
*# You can add a 1 second delay by using time.sleep(1)
+
* Walk-through - our simple circle calculator w/ input
*# Try sleeping for a second before "Hello" is printed
+
** https://repl.it/@paulbui/Circlecalcs
* How to play a sound file using os.system()
+
* Convert Monte Carlo Pi - demo for credit
*# Download [[Media:Dot.wav]] and [[Media:Dash.wav]]
+
* Convert Taylor Series Pi - submit to repl.it (some modification may be necessary)
*# Create a python file to test out playing sound
+
* Convert Taylor Series E - submit to repl.it (some modification may be necessary)
*# 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) ==
+
== Thursday - Monday (4/4/19 - 4/8/19) ==
 
'''Warmup:'''
 
'''Warmup:'''
* Write a function named isDigit(ch) that returns True if the string ch is a digit character, and False otherwise
+
* Join the [https://repl.it/classroom/invite/8mh9j5f new IB CS 1 repl.it for Java]
* Submit your solution to the repl.it for warmup credit
+
* Complete the Java Syntax Practice 1 repl.it
  
 
'''Agenda:'''
 
'''Agenda:'''
* Date Format Validation cont'd
+
* Demonstrate your Tic-Tac-Toe Java program
** If you have not completed Date Format Validation already, then you can use isDigit() to help you
+
* Complete Canvas Java Practice Assignment/Quiz
* Complete E-mail Harvester
+
* Java References
* E-mail Harvester Challenges:
+
** [https://introcs.cs.princeton.edu/java/11cheatsheet/ Java Cheatsheet (Princeton)]
** Modify e-mail harvester so that it reads from a file
+
** [http://interactivepython.org/runestone/static/java4python/index.html Java for Python Programmers]
** Modify e-mail harvester so that multiple e-mails can be found/printed
+
** [https://processing.org/reference/ Processing (Java) Reference]
** Test the file reading, multiple e-mail harvester by processing the HTML from some website
+
* Java Methods/Functions
 +
* Volunteers may paste old Python programs [https://drive.google.com/drive/folders/1Y_RKhGeK8snV4rc85zmZltlXFvsTvjWL?usp=sharing here]
 +
* Convert and demo your (Processing) Functions: Emoji Assignment from Python to Java
 +
* Convert and demo your (Processing) Functions: Hover Buttons from Python to Java
 +
* Complete the while loop repl.its
  
== Monday (3/4/19) ==
+
== Tuesday (4/2/19) ==
 
'''Agenda:'''
 
'''Agenda:'''
* Confirm that you have completed and submitted the Count Vowels and Count Words repl.its
+
* Demonstrate your re-implemented Item Collection / Robot game w/ lists!
* Date Format Validation repl.it (no loops)
+
* Installing Java software(s)
*# 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
+
* Introduction to Java
*# A date string is valid if it adheres to the following rules:
+
** Comments
*## Must be in the format: MM/DD/YYYY
+
** Semicolons
*## MM must be a valid 2-digit month (01 -> 12)
+
** Curly brace/brackets
*## DD must be a valid 2-digit day (01 -> 31)
+
** Values, Types & Variables
*## YYYY must be a 4-digit number
+
*** Declaring variables
*# 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..
+
** Function/method header
*# Submit to repl.it
+
** if statement
* E-mail Harvester repl.it
+
** or -> ||
*# 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
+
** and -> &&
*# Assume that the s parameter will have an e-mail address and all e-mail addresses have an @ symbol
+
** not -> !
*# 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
+
* Practice Processing - Java
*# 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
+
** Volunteers may paste old Python programs [https://drive.google.com/drive/folders/1Y_RKhGeK8snV4rc85zmZltlXFvsTvjWL?usp=sharing here]
*# 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
+
* Convert your Tic-Tac-Toe program from Python to Java
*# 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 13:16, 12 April 2019

Friday (4/12/19)

Agenda:

  • Make sure you've completed:
    • Monte Carlo Pi demonstration
    • Taylor Series Pi repl.it
    • Taylor Series e repl.it
  • Complex types and objects
    • Images
    • Sounds
    • ...anything!
  • Sound Board assignment
    1. Download 4 different sound clips from your favorite actress/actor/movie/sound effect
    2. Create 4 buttons (hint: use your fancy buttons b/c you must detect clicking)
    3. Pressing each of the buttons plays a different sound

Wednesday (4/10/19)

Agenda:

Thursday - Monday (4/4/19 - 4/8/19)

Warmup:

Agenda:

  • Demonstrate your Tic-Tac-Toe Java program
  • Complete Canvas Java Practice Assignment/Quiz
  • Java References
  • Java Methods/Functions
  • Volunteers may paste old Python programs here
  • Convert and demo your (Processing) Functions: Emoji Assignment from Python to Java
  • Convert and demo your (Processing) Functions: Hover Buttons from Python to Java
  • Complete the while loop repl.its

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
    • Volunteers may paste old Python programs here
  • Convert your Tic-Tac-Toe program from Python to Java

Archives