Java Puzzle Ball Nick Ristuccia

Similar documents
Java Puzzle Ball Nick Ristuccia

Java Puzzle Ball Nick Ristuccia

Java Puzzle Ball MOOC Lab 4: Lambda Expressions

Java Puzzle Ball Nick Ristuccia

Java Puzzle Ball Nick Ristuccia

Using Inheritance to Share Implementations

15 Minute Traffic Formula. Contents HOW TO GET MORE TRAFFIC IN 15 MINUTES WITH SEO... 3

Lesson 2 / Overview. Large Group Introduction

Paradigms of computer programming

Unit: Rational Number Lesson 3.1: What is a Rational Number? Objectives: Students will compare and order rational numbers.

Evaluation of Visual Fabrique (VF)

09/08/2017 CS2530 INTERMEDIATE COMPUTING 9/8/2017 FALL 2017 MICHAEL J. HOLMES UNIVERSITY OF NORTHERN IOWA TODAY S TOPIC: Exceptions and enumerations.

Slide 1 CS 170 Java Programming 1

+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created.

Creating Java Programs with Greenfoot

Creating Java Programs with Greenfoot

[ the academy_of_code] Senior Beginners

Animations that make decisions

3. Now go to Edit => Effects => Brightness/Contrast... and notice that you can modify the colors you created above.

x 2 + 3, r 4(x) = x2 1

Learn Ruby On Rails For Web Development Learn Rails The Fast And Easy Way

contain a geometry package, and so on). All Java classes should belong to a package, and you specify that package by typing:

Patterns in Geometry. Polygons. Investigation 1 UNIT. Explore. Vocabulary. Think & Discuss

School of Computer Science CPS109 Course Notes Set 7 Alexander Ferworn Updated Fall 15 CPS109 Course Notes 7

The action of the program depends on the input We can create this program using an if statement

CISC 1600 Lecture 3.1 Introduction to Processing

Java Puzzle Ball Nick Ristuccia

Ps3 Controller Am Pc Bluetooth Windows 7 64 Bit

Lesson 19. Opening Discussion

Java Programming Fundamentals - Day Instructor: Jason Yoon Website:

CREATE YOUR CONTENT STRATEGY & LAUNCH PLAN Amanda Genther Inc. & Irresistible Offerings

EXAM Computer Science 1 Part 1

AN INTRODUCTION TO SCRATCH (2) PROGRAMMING

Outlook is easier to use than you might think; it also does a lot more than. Fundamental Features: How Did You Ever Do without Outlook?

ICS 61 Game Systems and Design Introduction to Scratch

Preview from Notesale.co.uk Page 3 of 79

MITOCW watch?v=0jljzrnhwoi

Requirements Gathering using Object- Oriented Models UML Class Diagram. Reference:

A PROGRAM IS A SEQUENCE of instructions that a computer can execute to

IT Coordinator/Lecturer. Do you encounter computer problems?

Beginners Guide to Apophysis Scripting

Help! I m Broke and I Need A Phone! PASS OBJECTIVES: MATERIALS Teacher PROCEDURES: SUMMARY:

CHIPS Newsletter Vol 16 - Yahoo! Mail. Official Newsletter of

MITOCW watch?v=ytpjdnlu9ug

MITOCW watch?v=penh4mv5gag

15100 Fall 2005 Final Project

StoryStylus Scripting Help

How to Create a Simple Animation Using MAYA

MNU 3-08a - Proportion

MITOCW watch?v=zlohv4xq_ti

The following content is provided under a Creative Commons license. Your support

ASK ALL Q.1 How do you feel about computers and technology... do you like them, dislike them, or do you have mixed feelings about them?

Ce qui est important dans l'enseignement des mathématiques. Marian Small novembre 2017

program self-assessment tool

How To Completely Remove Java Windows 8.1 And Go Back

We ve been playing The Game of Life for several weeks now. You have had lots of practice making budgets, and managing income and expenses and savings.

Identify and Classify Quadrilaterals

If the ball goes off either the right or left edge, turn the ball around. If x is greater than width or if x is less than zero, reverse speed.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

How To Add Songs To Iphone 4 Without Deleting Old Ones

BIOC351: Proteins. PyMOL Laboratory #3. Scripting

St. Edmund Preparatory High School Brooklyn, NY

The Junior Woodchuck Manuel of Processing Programming for Android Devices

Introduction to the Internet Computer Essentials Session 4 - Step-by-Step Guide

MultiMediaPros Quick Start Guide Streaming Media Hosting

Up and Running With Macromedia Authorware

MITOCW watch?v=se4p7ivcune

S.W.B.A.T: Identify the independent and dependent variable in sentence. Write a function rule for a table and a situation.

Introduce yourself. Be sure everyone is comfortable. Ask for questions.

Exam Ref Programming In HTML5 With JavaScript And CSS3 (MCSD): Programming In HTML5 With JavaScript And CSS3 Free Ebooks PDF

Murach's MySQL, 2nd Edition Ebooks For Free

About Technocamps. We go around schools and show you lots of interesting stuff! We also do things we call bootcamps during holidays!

Information Security

SOLIDWORKS: Lesson 1 - Basics and Modeling. Introduction to Robotics

MITOCW ocw f99-lec12_300k

COMP : Practical 8 ActionScript II: The If statement and Variables

Making ecards Can Be Fun!

Listen to. the podcast. Transcript: podcast is. of syntax. those kinds. it will come. to correct. 1 Page. Chandoo.org

Properties of Parallelograms

Answer Key Lesson 5: Area Problems

FILED: NEW YORK COUNTY CLERK 07/31/ :17 AM INDEX NO /2018 NYSCEF DOC. NO. 53 RECEIVED NYSCEF: 07/31/2018

Making Money with Hubpages CA$HING IN WITH ARTICLE WRITING. Benjamin King

Lesson 6 page 1. If you look at the bottom right of the Scratch color choices, you will see it say MORE BLOCKS in Purple.

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition)

Formal Methods of Software Design, Eric Hehner, segment 1 page 1 out of 5

Tips and Tricks for Microsoft PowerPoint Game

Java Programming Constructs Java Programming 2 Lesson 1

Teaching Math thru Big Ideas Focusing on Differentiation. Marian Small April 2017 San Diego, CA

Intro to Computer Science 2. Inheritance

Remember, this question was mis-worded: you could also add quoted words and sentences in the blanks below. This allowed for a solution to [4] below.

TEST AUTOMATION USING SELENIUM WEBDRIVER WITH JAVA: STEP BY STEP GUIDE BY MR NAVNEESH GARG

Introduction to Game Programming Lesson 4 Lecture Notes

Recall that creating or declaring a variable can be done as follows:

How to Close Sales on the Final Day of a Launch

FAQ: Advanced Functions

Macromedia Director Tutorial 4

Most of the class will focus on if/else statements and the logical statements ("conditionals") that are used to build them. Then I'll go over a few

[PDF] Stop Staring: Facial Modeling And Animation Done Right

Geometry. Talk About It. More Ideas. Formative Assessment. Have children try the following problem.

AP CSA 3rd Period MR. D. Course Map

Transcription:

Java Puzzle Ball Nick Ristuccia Lesson 4-1 Designing Lambda Puzzles

Mysterious Lambda I knew I was going need to make Lambda Puzzles. Or maybe even a new game to teach Lambda expressions. This would be for the Oracle University Java SE 8 New Features course. But I didn't know what this would look like. Basic and Inheritance puzzles were developed without a design for Lambda. I made art for Lambda wheels and bumpers, not knowing how I'd ever use them. 3

Areas to Improve Once you set the ball in motion, all you do is wait. Could there be more interactivity? Thankfully, Lambda can be used to process mouse events. Some testers thought they weren't learning if they weren't typing code. Pig Pounder shows how this way of thinking can be dangerous. I still wanted to see if Java syntax was a direction I could innovate. I wanted to destroy stuff. You can turn the ball into a blade. Can you ever slice Duke with the blade? If not, it's just a big tease. 4

What did I Propose? I made a pitch at the beginning February 2014. Lambda puzzles are different. You're not designing classes anymore. But it extends the existing ball-bouncing and bumper code. One way I learn is by messing around with settings. Observe the effects to gain insight into what a portion of code controls. Lambda puzzles let you Edit the values in Lambda expressions. Click the ball as it moves to change its direction. Filter away/destroy all BlueBumpers. This will make more sense as you play ;) 5

Filtering Based on Properties When you have a program with a lot of instances, you often need to search, compare, and filter those instances based on their properties. Award a $20 monthly bonus for every account with at least $20,000. Charge a fee for every account that hasn't posted enough transactions in a month. Search for every account in your name. Performing these actions involves examining account object fields: balance numberoftransactions accountowner Lambda expressions are very good at handling this logic. 6

Filtering Based on Properties in Java Puzzle Ball Lambda Puzzles let you to perform actions and filter bumpers based on their properties. Bumper properties included shape color number However, this caused an issue for colorblindness. 7

Addressing Colorblindness Previously, all Blue Bumpers contained rectangles and Red Bumpers contained stars. If you couldn't tell the difference between blue and red, you could at least tell the difference between a rectangle and a star. Lambda Bumpers wrecked this convention by mixing colors and shapes. How do players remove Blue Bumpers if they can't tell what's blue? We added a glow around Blue Bumpers to address this. This is called software accessibility. You want to make software as accessible to everyone as possible. 8

Can You Tell Which Bumpers are Blue? 9

Developing Lambda Puzzles This game mode took 1 month to develop. It was tied to an Oracle University course with a more-advanced audience. It assumed players came already understanding a few things about Java syntax and boolean values. I'll explain these right now. ==!= &&

Logic Operators in Java Sometimes programs need to compare several values. Java provides special operators to do this, including: ==!= && As you play, try to discover more about how these operators work. Remember, a goal of this course is to learn by playing around. 11

How to Play 1. Alter settings 2. Set the blade in motion 3. Click the blade to change its direction 12

Exercise 4 Play Lambda Puzzles 1 through 7. Destroy Blue Bumpers Preserve Red Bumpers Consider the following: Can you identify use-cases for lambda expressions? Can you figure out how the logic operators work? 13