|
|
Line 6: |
Line 6: |
| ** Can you improve the computer's AI? (Hint: corners) | | ** Can you improve the computer's AI? (Hint: corners) |
| ** Improve your computer's AI by prioritizing corners after the center square | | ** Improve your computer's AI by prioritizing corners after the center square |
− |
| |
− | == Friday - Monday (3/28/14 - 3/31/14) ==
| |
− | '''Agenda:'''
| |
− | * Test your 1-player Tic-Tac-Toe game (make sure you have your 2-player version backed up!)
| |
− | * Spend today improving the computer's move algorithm
| |
− | ** What moves do you make that allow you to beat the computer?
| |
− | ** Can you improve the computer's AI? (Hint: corners)
| |
− | ** Improve your computer's AI by prioritizing corners after the center square
| |
− |
| |
− | == Wednesday - Thursday (3/26/14 - 3/27/14) ==
| |
− | '''Agenda:'''
| |
− | * Computer AI Walk-through
| |
− |
| |
− | == Monday - Tuesday (3/24/14 - 3/25/14) ==
| |
− | '''Agenda:'''
| |
− | * Complete and demo [[Tic-Tac-Toe]] (it is late at this point)
| |
− | * Planning the Tic-Tac-Toe Artificial Intelligence
| |
− | *# Play [[Tic-Tac-Toe]] with a partner and document the priorities of your moves
| |
− | *# What is the first strategic move you look for?
| |
− | *# What is the next strategic move you look for?
| |
− | *# Are there defensive moves/checks that you look for? Describe what exactly you are checking.
| |
− | *# Are there offensive moves/checks that you look for? Describe what exactly you are checking.
| |
− | * Plan using commented pseudocode, the different types of functions that you will create for the artificial intelligence. Describe each of the functions that you will need for your computer AI
| |
− |
| |
− | == Tuesday - Friday (3/18/14 - 3/21/14) ==
| |
− | '''Agenda:'''
| |
− | * Complete and demo [[Tic-Tac-Toe]] by the end of the week
| |
− | * If you are done with [[Tic-Tac-Toe]], then copy and paste your code to create a 1-player version
| |
− | ** The 1-player version of [[Tic-Tac-Toe]] should allow the computer to automatically take a turn and move
| |
− | ** The simplest way to do this would be to create a new function where the computer makes a move by evaluating the current board
| |
− |
| |
− | == Thursday - Friday (3/13/14 - 3/14/14) ==
| |
− | '''Agenda:'''
| |
− | * Setting up [[Tic-Tac-Toe]]
| |
− | * Work on [[Tic-Tac-Toe]]
| |
− |
| |
− | == Tuesday - Wednesday (3/11/14 - 3/12/14) ==
| |
− | '''Warmup:'''
| |
− | * Take out a piece of paper
| |
− | * Draw the figure on the board
| |
− | * Determine all the red points of interest
| |
− |
| |
− | '''Agenda:'''
| |
− | * Work on [[Tic-Tac-Toe]]
| |
− |
| |
− | == Monday (3/10/14) ==
| |
− | '''Warmup:'''
| |
− | # With a partner, play Tic-Tac-Toe
| |
− | # While you are playing Tic-Tac-Toe, create a flowchart to diagram a Tic-Tac-Toe program design
| |
− | # After your flowchart, list variables and functions that you will need to create for your game
| |
− |
| |
− | '''Agenda:'''
| |
− | # As a class, we will create the pseudocode for the Tic-Tac-Toe program
| |
− | # After each line of pseudocode, we should ask ourselves:
| |
− | #* What variables do we need? or what pieces of information must we track?
| |
− | #* What functions do we need? What exactly do they need to do?
| |
− | #* Is there something in this step that we do not know how to do?
| |
− | # 2D coordinate math
| |
− | #* Assume you only have the variables cHeight and cWidth
| |
− | #* On paper, calculate all the points of interest in Tic-TacToe using cHeight and cWidth
| |
− | # Create the drawBoard() function that draws the Tic-Tac-Toe board
| |
− | #* You MUST draw the board using the cHeight and cWidth variables (i.e. NO HARD CODED coordinates)
| |
− |
| |
− | == Friday (3/7/14) ==
| |
− | '''Agenda:'''
| |
− | * Mozilla References
| |
− | ** [https://developer.mozilla.org/en-US/docs/Web/JavaScript JavaScript]
| |
− | ** [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial Canvas Tutorials]
| |
− | ** [https://developer.mozilla.org/en-US/docs/Web/Reference/Events Event Reference]
| |
− | * Canvas References
| |
− | ** [http://joshondesign.com/p/books/canvasdeepdive/toc.html Canvas Deep Dive]
| |
− | ** [http://www.w3schools.com/html/html5_canvas.asp W3Schools HTML5 Canvas Tutorials]
| |
− | ** [http://www.w3schools.com/tags/ref_canvas.asp W3Schools Canvas Reference]
| |
− |
| |
− | == Wednesday - Thursday (3/5/14 = 3/6/14) ==
| |
− | '''Agenda:'''
| |
− | * Demo/show Mr. Bui and missing assignments
| |
− | * Introduction to HTML Canvas
| |
− | ** Read and complete the tutorial: [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_usage Basic usage of Canvas]
| |
− | ** Don't worry if you don't understand everything...this most important part is getting the '''A skeleton template'''
| |
− | ** Also refer to this documentation: [http://www.w3schools.com/html/html5_canvas.asp W3Schools HTML5 Canvas], which will explain different parts of the template
| |
− | ** More Canvas Documentation: [http://www.w3schools.com/tags/ref_canvas.asp W3Schools Canvas Reference]
| |
− | ** If you're interested more canvas tutorials can be found here: [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial Mozilla Canvas Tutorials]
| |
− | * Canvas Practice Assignment
| |
− | *# Create an HTML+JavaScript file named '''canvasPractice.html'''
| |
− | *# Use the skeleton template from [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_usage Basic usage of Canvas]
| |
− | *# Refer to [http://www.w3schools.com/html/html5_canvas.asp W3Schools HTML5 Canvas] for specific functions that will be helpful
| |
− | *# In the canvas, draw a stick figure with filled in squares or rectangles for hands and feet
| |
− | *# Under the stick figure, display a text message in the canvas that says "Computer Science Rocks!"
| |
− | * Canvas + Mouse + Events
| |
− | * [https://developer.mozilla.org/en-US/docs/Web/Reference/Events Mozilla Web Event Reference]
| |
− | <syntaxhighlight lang="JavaScript">
| |
− | var setup = function()
| |
− | {
| |
− | var canvas = document.getElementById('canvas');
| |
− | var ctx = canvas.getContext('2d');
| |
− | var windowRect = canvas.getBoundingClientRect();
| |
− |
| |
− | var drawRect = function(evt)
| |
− | {
| |
− | ctx.fillRect(evt.clientX - windowRect.left, evt.clientY - windowRect.top, 20, 20);
| |
− | };
| |
− |
| |
− | canvas.addEventListener('click', drawRect);
| |
− | };
| |
− | </syntaxhighlight>
| |
− |
| |
− | == Friday (2/28/14) ==
| |
− | * Paid Focus Group Opportunity
| |
− | ** [http://www.mediabarnresearch.com/ MediaBarn] is having a focus group study at 5:30pm on Tuesday (3/4/14). They are interested to talk with students who are interested in majoring in IT/Computer Science/any related topic.
| |
− | ** 90-minute focus group, and the compensation is $100
| |
− | ** [http://www.mediabarnresearch.com/infotechstudy Registration Here]
| |
− | ** Mediabarn Research Services (near Courthouse metro), 2200 Clarendon Blvd, Suite 1200, Arlington, VA 22201
| |
− | * Make sure that you have completed [http://www.codecademy.com/courses/javascript-beginner-en-ASGIv/0/1?curriculum_id=506324b3a7dffd00020bf661 While Loops]
| |
− | * Make sure that you have completed [http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1?curriculum_id=506324b3a7dffd00020bf661 Dragon Slayer]
| |
− | * Introduction to HTML Canvas
| |
− | ** Read and complete the tutorial: [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_usage Basic usage of Canvas]
| |
− | ** Don't worry if you don't understand everything...this most important part is getting the '''A skeleton template'''
| |
− | ** Also refer to this documentation: [http://www.w3schools.com/html/html5_canvas.asp W3Schools HTML5 Canvas], which will explain different parts of the template
| |
− | ** If you're interested more canvas tutorials can be found here: [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial Mozilla Canvas Tutorials]
| |
− | * Canvas Practice Assignment
| |
− | *# Create an HTML+JavaScript file named '''canvasPractice.html'''
| |
− | *# Use the skeleton template from [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_usage Basic usage of Canvas]
| |
− | *# Refer to [http://www.w3schools.com/html/html5_canvas.asp W3Schools HTML5 Canvas] for specific functions that will be helpful
| |
− | *# In the canvas, draw a stick figure with filled in squares or rectangles for hands and feet
| |
− | *# Under the stick figure, display a text message in the canvas that says "Computer Science Rocks!"
| |
− |
| |
− | == Wednesday - Friday (2/26/14 - 2/28/14) ==
| |
− | '''Warmup:'''
| |
− | * Show Mr. Bui that you have completed [http://www.codecademy.com/courses/javascript-beginner-en-NhsaT/0/1?curriculum_id=506324b3a7dffd00020bf661 Javascript - For Loops]
| |
− | * Show Mr. Bui that you have completed [http://www.codecademy.com/courses/javascript-beginner-en-NhsaT/0/1?curriculum_id=506324b3a7dffd00020bf661 Search Text for Your Name]
| |
− |
| |
− | '''Agenda:'''
| |
− | * Paid Focus Group Opportunity
| |
− | ** [http://www.mediabarnresearch.com/ MediaBarn] is having a focus group study at 5:30pm on Tuesday (3/4/14). They are interested to talk with students who are interested in majoring in IT/Computer Science/any related topic.
| |
− | ** 90-minute focus group, and the compensation is $100
| |
− | ** [http://www.mediabarnresearch.com/infotechstudy Registration Here]
| |
− | ** Mediabarn Research Services (near Courthouse metro), 2200 Clarendon Blvd, Suite 1200, Arlington, VA 22201
| |
− | * Demo Quadratic Formula web app
| |
− | * Complete [http://www.codecademy.com/courses/javascript-beginner-en-ASGIv/0/1?curriculum_id=506324b3a7dffd00020bf661 While Loops]
| |
− | * Complete [http://www.codecademy.com/courses/javascript-beginner-en-mrTNH-6VIZ9/0/1?curriculum_id=506324b3a7dffd00020bf661 Dragon Slayer]
| |
− | * Introduction to HTML Canvas
| |
− | ** Read and complete the tutorial: [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_usage Basic usage of Canvas]
| |
− | ** Don't worry if you don't understand everything...this most important part is getting the '''A skeleton template'''
| |
− | ** Also refer to this documentation: [http://www.w3schools.com/html/html5_canvas.asp W3Schools HTML5 Canvas], which will explain different parts of the template
| |
− | ** If you're interested more canvas tutorials can be found here: [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial Mozilla Canvas Tutorials]
| |
− | * Canvas Practice Assignment
| |
− | *# Create an HTML+JavaScript file named '''canvasPractice.html'''
| |
− | *# Use the skeleton template from [https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_usage Basic usage of Canvas]
| |
− | *# Refer to [http://www.w3schools.com/html/html5_canvas.asp W3Schools HTML5 Canvas] for specific functions that will be helpful
| |
− | *# In the canvas, draw a stick figure with filled in squares or rectangles for hands and feet
| |
− | *# Under the stick figure, display a text message in the canvas that says "Computer Science Rocks!"
| |
− |
| |
− | == Monday - Tuesday (2/24/14 - 2/25/14) ==
| |
− | '''Agenda:'''
| |
− | * Demo Pythagorean Theorem web app
| |
− | * Demo Quadratic Formula web app
| |
− | * Complete [http://www.codecademy.com/courses/javascript-beginner-en-NhsaT/0/1?curriculum_id=506324b3a7dffd00020bf661 Javascript - For Loops]
| |
− | * Complete [http://www.codecademy.com/courses/javascript-beginner-en-NhsaT/0/1?curriculum_id=506324b3a7dffd00020bf661 Search Text for Your Name]
| |
− |
| |
− | == Thursday - Friday (2/20/14 - 2/22/14) ==
| |
− | '''Agenda:'''
| |
− | * Pythagorean Theorem Example
| |
− | *# There should be input boxes for a, b, and c (hypotenuse)
| |
− | *# The user should be able to fill in '''any''' two boxes, and hit calculate
| |
− | *# The empty input box should be filled in with the correct answer
| |
− | *# You should validate the input for non-numbers
| |
− | * Quadratic Formula Program
| |
− | *# Create a program that takes three inputs: a, b, and c
| |
− | *# Calculate the quadratic formula
| |
− | *# Check if the solutions are real or imaginary
| |
− | *# Output the 2 real solutions, and either output the imaginary solutions or put a message that says the solutions are imaginary
| |
− |
| |
− | == Tuesday - Wednesday (2/18/14 - 2/19/14) ==
| |
− | '''Agenda:'''
| |
− | * More Javascript + HTML Form practice
| |
− | ** Slope Calculation Example
| |
− | * parseFloat()
| |
− | * parseInt()
| |
− | * isNaN()
| |
− | * [http://www.w3schools.com/jsref/jsref_obj_math.asp JavaScript Math]
| |
− |
| |
− | == Thursday - Friday (2/13/14 - 2/14/14) ==
| |
− | * Snow Days
| |
− |
| |
− | == Monday - Wednesday (2/10/14 - 2/11/14) ==
| |
− | '''Agenda:'''
| |
− | * Bring up your [http://www.codecademy.com/ Codecademy] account and show 100% completion of Javascripts 1-3
| |
− | * Complete [http://www.codecademy.com/courses/javascript-beginner-en-Bthev-mskY8/0/1?curriculum_id=506324b3a7dffd00020bf661 Javascript-4: Build "Rock, Paper, Scissors"]
| |
− | * Introduction Javascript + HTML Forms
| |
− | ** [http://www.w3schools.com/html/html_forms.asp HTML Forms and Input]
| |
− | ** [http://www.w3schools.com/js/js_input_examples.asp JavaScript Examples]
| |
− | ** Name & Address Example Form
| |
− | ** Slope Calculation Example
| |
− | ** Pythagorean Theorem Example
| |
− |
| |
− | == Thursday - Friday (2/6/14 - 2/7/14) ==
| |
− | '''Agenda:'''
| |
− | * Python-JavaScript Cheatsheet
| |
− | * Complete [http://www.codecademy.com/courses/javascript-beginner-en-x9DnD/0/1?curriculum_id=506324b3a7dffd00020bf661 JavaScript-2: Choose Your Own Adventure!]
| |
− | * Complete [http://www.codecademy.com/courses/javascript-beginner-en-6LzGd/0/1?curriculum_id=506324b3a7dffd00020bf661 JavaScript-3: Introduction to Functions in JS]
| |
− |
| |
− | == Monday - Wednesday (2/3/14 - 2/5/14) ==
| |
− | '''Agenda:'''
| |
− | * Demo missing [[Hangman]]
| |
− | * Introduction to Web Development
| |
− | ** HTML, CSS, & JavaScript
| |
− | * [http://www.codecademy.com/ Codecademy]
| |
− | ** Complete [http://www.codecademy.com/courses/getting-started-v2/0/1?curriculum_id=506324b3a7dffd00020bf661 Javascript-1: Getting Started with Programming]
| |
| | | |
| == Archives == | | == Archives == |
| + | * [[IBCS1 - 1314 - March]] |
| + | * [[IBCS1 - 1314 - February]] |
| * [[IBCS1 - 1314 - January]] | | * [[IBCS1 - 1314 - January]] |
| * [[IBCS1 - 1314 - December]] | | * [[IBCS1 - 1314 - December]] |