CONCEPTS THIS WEEK @ ULTIMATE CODERS (Director's Newsletter #3)
CONCEPTS THIS WEEK @ ULTIMATE CODERS
(Director's Newsletter, Issue #3)
Parents & Coders, Ultimate Coders has:
FULL-DAY CODE CAMP starting Monday, July 29th @ 9am
FULL-DAY CAMP runs 9am-4pm, Monday-Friday at 406 Pacific Ave!
Drop your child off and they will LEARN TO CODE ALL WEEK :-)
To register for a half-day fill out https://ultimatecoders.com/camp-halfday-checkout -- complete the form twice for a full-day :-)
The afternoon sessions begin at 1pm -- don't hesitate to contact us with any questions -- Stay Ultimate!
REGISTRATION LINKS
MORNING CAMP STARTING AT 9AM ON JULY 29TH:
https://ultimatecoders.com/camp-halfday-checkout
AFTERNOON CAMP STARTING AT 1PM ON JULY 29TH:
https://ultimatecoders.com/camp-halfday-checkout
FOR A FULL-DAY CAMP COMPLETE THE FORM TWICE
YEAR-ROUND EVENING DROP-IN PROGRAM:
https://ultimatecoders.com/regular-classes-checkout
NEW: SUMMER SHOWCASE HOUR
FREE SHOWCASE HOUR!
EVERY SATURDAY TILL SEPTEMBER
3PM-4PM @ 406 PACIFIC AVE.
SHOWCASE YOUR GAMES, PLAYTEST HISTORY, BRING YOUR FRIENDS!
CONCEPTS THIS WEEK
DEEPER INTO SCRATCH: CLONES AND MORE!
Our youngest student this week quickly moved beyond 'the scratch deck' -- and came up with some compelling designs, including the advanced use of clones in scratch:
https://scratch.mit.edu/projects/1049454452/
https://scratch.mit.edu/projects/1049515134/
DEEPER INTO GAME HISTORY
Following on the ULTIMATE CODE CHRONOLOGY in newsletter 1, which corresponds to the history of all games and software, we 'zoomed in' on the first 40 years of electronic games--in addition to variants on Pong (1972), which emerge naturally from 'the scratch deck', students were challenged to TEST, MOD, CLONE or RE-DESIGN, in Scratch or in Processing, any of these early, early games (google them!):
1940 NIMATRON
1947 CATHODE RAY-TUBE AMUSEMENT DEVICE
1948 TURBOCHAMP (CHESS)
1950 BERTIE THE BRAIN
1951 NIMROD
1951 PRINZ'S LIMITED CHESS (MATE-IN-TWO PROBLEMS)
1951 ABERTH'S BOUNCING BALL
1952 OXO
1952 STRACHLEY'S DRAUGHTS
1952 ARTHUR SAMUEL'S CHECKERS
1953 CARMONETTE
1954 NSS CHESS
1954 BROWN & LEWIS'S POOL
1955 HUTSPIEL
1956 LOS ALAMOS CHESS
1958 TENNIS FOR TWO
1958 THE MANAGEMENT GAME
1959 MOUSE IN THE MAZE
1960 IBM 7090 BLACKJACK
1960 IBM 7090 TIC-TAC-TOE
1961 IBM 704 DRAUGHTS
1961 MINIATURE GOLF
1961 DARWIN
1962 SPACEWAR!
1962 MARIENBAD
1962 BBC Vik The Baseball Demonstrator
1962 THREE DIMENSIONAL TIC-TACK-TOE
1962 SOCRATIC SYSTEM
1963 ROBOT WAR
1964 THE SUMERIAN GAME
1964 ELIZA
1965 STEINBERGER'S DICE GAME
1965 KEMENY'S BASEBALL GAME
1966 FOX AND GEESE
1966 BETHURUM'S BASIC BINGO
1966 PERISCOPE
1967 KAISSA (CHESS)
1967 BACHELLER'S BASKETBALL SIMULATION
1967 BERGMANN'S BASEBALL (WORLD SERIES)
1968 HAMMURABI
1968 BLITZ (CHESS)
1968 CIVIL WAR
1969 SPACE TRAVEL
1969 LUNAR LANDER
1970 CHESS
1970 CONWAY'S GAME OF LIFE
1971 COMPUTER SPACE
1971 GALAXY GAME
1971 STAR TREK
1971 BASEBALL
1971 OREGON TRAIL
1972 PONG
1972 EMPIRE
1972 HUNT THE WUMPUS
1973 MAZE WAR
1974 SPASIM
1975 pedit5 (THE DUNGEON)
1975 dnd
1975 PANTHER
1976 COLOSSAL CAVE ADVENTURE
1976 BREAKOUT
1977 ZORK
1977 COMBAT
1978 SPACE INVADERS
1978 ADVENTURELAND
1979 ASTEROIDS
1979 GALAXIAN
1980 ROGUE
1980 ZORK 1
1981 DONKEY KONG
1982 PITFALL!
1984 TETRIS
Some notable non-action historical games students explored from a design perspective included:
N.B. THE CHRONOLOGIST'S RULE:
Know the time period of all content you consume.
For example, do not play a video game unless you know what year it was released.
Proceed.
DO VIDEO GAMES VIOLATE YOUR RIGHTS?
Students were also read their rights -- their video game rights -- famous interactive fiction author Graham Nelson's seminal work "A Bill of Player's Rights" (1995) was introduced especially when play-testers shouted in frustration -- "Did you feel like one of your rights was violated when it was 'unfair'? Which one? Can you change the game to honor your rights?"
PIXEL EDITING IN PISKELL
Many scratch games do not have that 'original touch' until students dive deep into a pixel editor, such as Piskell, to really make their creations their own!
ULTIMATE CODE CURRICULUM: OpenAI-APPROVED?
As I develop our new expanded High Park Curriculum that I will be guiding students through as they graduate from scratch and move towards "AI Developer", I reach out to colleagues and busy friends in the industry for their feedback, and one OpenAI researcher unofficially approved this nascent curriculum -- his exact words were "This is kind of amazing." (see below!)
(YES, YOU WILL WANT TO OPEN THIS IMAGE IN A NEW WINDOW!)
LAST WEEK'S ISSUE:
CONCEPTS THIS WEEK
DEEPER INTO SCRATCH: Director's Challenge... MET?
One student this week, known as scratch user godly_rex, is the first to submit a proposed solution to the director's challenge from last week to make a cooperative version of p versus q -- can you beat their solution by coming up with an even simpler variant of "p versus q" which is cooperative?
DEEPER INTO SCRATCH: TIC-TAC-TOE AI?
Some students have been working on clones of Bertie the Brain, the original Tic-tac-toe AI developed in TORONTO!
This project can be done in SCRATCH but in some ways is easier in PROCESSING.
Students were also challenged to make, in either language, mods of PONG (1972) inspired by "PONGS"
BEYOND SCRATCH: THE PROCESSING LANGUAGE
Students worked on introductory exercises in p5.js, which is the JavaScript version of THE PROCESSING LANGAUGE, from these texts:
2023 CODING ART
2018 GENERATIVE DESIGN
2018 CODING FOR VISUAL LEARNERS
2015 GETTING STARTED WITH P5.JS
LOGIC EXERCISES:
Most students are given warm-up exercises daily using the LOGICOLA app, prior to their CREATIVE CODING SESSIONS
INTRODUCTION TO LISP:
Some students began their adventure in learning one of the two classic AI languages, LISP, by installing DrRacket and completing Chapter 1 of Picturing Programs
INTRODUCTION TO CELLULAR AUTOMATA
In either Scratch or Processing, students can dive deep into the world of CELLULAR AUTOMATA:
CA IN SCRATCH: https://scratch.mit.edu/search/projects?q=cellular%20automata
CA IN PROCESSING: https://processing.org/examples/wolfram.html
REFERENCE: https://files.wolframcdn.com/pub/www.wolframscience.com/nks/nks-ch1-sec1.pdf
OTHER CHALLENGE EXERCISES
Students were also challenged with:
CHESS WITH THE DIRECTOR
BRAITENBERG Vehicle 1
BRATKO pg.7
RUSSELL & NORVIG pg.56
DID YOU KNOW: RUSSELL & NORVIG IS THE MOST-CITED BOOK IN COMPUTER SCIENCE!!!
LAST WEEK'S ISSUE:
CONCEPTS THIS WEEK @ ULTIMATE CODERS
(Director's Newsletter, Issue #1)
Greetings from the new Centre Director!
Parents and Students, explore the many hyperlinks provided in this document to go deeper in your learning!
We touched on all the concepts below with at least one student this week in our intensive afternoon camps and evening drop-in programs!
[...]
CONCEPTS THIS WEEK
TEST-DRIVEN DEVELOPMENT
Here at Ultimate Coders, Discovery Learning meets Test-Driven Development in The Scientific Method -- to run a tightly controlled software experiment you must control most 'variables' by holding most of the code constant -- you make one change and test.
In this paradigm we have:
INDEPENDENT VARIABLE: The one change you make to the code before running it again...
DEPENDENT VARIABLE: The behavior of the code you try to predict before you run the test -- this tests not only the code, but also your understanding of what it will do!
While every line of code is 'variable' in that you can change it to vary its contents, in testing, we hold all lines constant except the line we are testing!
This form of testing is akin to 'MODDING'!
ULTIMATE CODE CHRONOLOGY
2600BC: THE ROYAL GAME OF UR
DIRECTOR'S CHALLEGE: This game is so old the rules are lost! Can you develop some?
1300BC: THREE-IN-A-ROW GAME BOARDS
548BC: FIRST MENTION OF THE GAME OF GO
384BC-322BC: ARISTOTLE AND THE SYLLOGISM
LOGICOLA EXERCISES B (F) AND B (E)
206BC-220CE: THE HAN DYNASTY AND "ROCK, PAPER, SCISSORS"
3BC: STOIC LOGIC
7th CENTURY CE: EARLY VERSIONS OF CHESS
16h CENTURY CE: LANGUAGE OF 'ODDS'
LOGIOLA EXERCISE P (O)
1815CE-1864CE: GEORGE BOOLE & BOOLEAN VARIABLES
The simplest example you saw of BOOLEANS was the diamond blocks in scratch.
1834CE-1923CE: JOHN VENN AND THE VENN DIAGRAM
LOGICOLA EXERCISES B (C)
VENN'S DIAGRAMS USED TO ANALYZE ARISTOTLE'S SYLLOGISMS
1858CE: NOUGHTS AND CROSSES (MODERN TIC-TAC-TOE)
1883CE: TRUTH TABLES
LOGICOLA EXERCISE D (TE)
1940CE: NIMATRON
1947CE: GEOFF HINTON
CENTRE DIRECTOR ADAM GOLDING'S PROFESSOR @ UOFT
GEORGE BOOLE'S GREAT GRANDSON
CALLED "THE GODFATHER OF AI"
THEREFORE, GEORGE BOOLE IS THE GREAT-GRAND-GODFATHER OF AI!
1958CE: LISP
ONE OF THE MAIN TWO 'AI LANGUAGES' IN THE EARLY DAYS
1950CE: BERTIE THE BRAIN (TORONTO!)
DIRECTOR'S CHALLENGE: DEVELOP A RUDIMENTARY AI FOR TIC-TAC-TOE
1972CE: PROLOG
ONE OF THE MAIN TWO 'AI LANGUAGES' IN THE EARLY DAYS
DOING YOUR LOGICOLA EXERCISES 'UNLOCKS' THIS LANGUAGE
1988CE: MATHEMATICA
1991CE: PYTHON
1993CE: HTML
DIRECTOR'S CHALLENGE: PUBLISH A PARAGRAPH OF HTML USING GITHUB PAGES
1995CE: DR RACKET (MODERN LISP)
1995CE: JAVASCRIPT
1996CE: JAVA 1.0
1996CE: DEEP BLUE DEFEATS KASPAROV
1996CE: GOOGLE
1997CE: LOGICOLA
2001CE: PROCESSING
2007CE: SCRATCH
DIRECTOR'S CHALLENGE: DO YOU UNDERSTAND EVERY CARD IN THE TUTORIAL DECK? CAN YOU MIX-AND-MATCH CARDS FROM DIFFERENT TUTORIALS?
EVEN FOR ADVANCED PROGRAMMERS WHO KNOW MANY LANGUAGES, THERE IS NO SHAME IN USING SCRATCH, WHEN APPROPRIATE, FOR SO-CALLED 'RAPID PROTOTYPING'!
2009CE: MATHEMATICA
2010CE: PICTURING PROGRAMS
THIS BOOK TEACHES MODERN LISP (RACKET) USING PICTURES INSTEAD OF NUMBERS!!
2010CE: PROCESSING.PY
NOTA BENAE: LEARN P5.JS BEFORE PROCESSING.PY
2013CE: P5.JS
THIS IS THE BEST WAY TO LEARN JAVASCRIPT
2015CE: ALPHA GO DEFEATS FAN HUI
2022CE: CHATGPT
ASSUME CHATGPT GENERATES INCORRECT CODE -- How do you test it?
TECH NEWS
Stay up-to-date with tech news by visiting slashdot.org, especially yro.slashdot.org!
('YRO' is short for 'YOUR RIGHTS ONLINE' -- what could matter more!?)
Also familiarize yourself with THE SLASHDOT EFFECT... !
How does it compare to THE STREISAND EFFECT???
COMPETITIVE VS COOPERATIVE GAMES
P VERSUS Q is the simplest possible 2-player, real-time, zero-sum game, developed by Director Adam Golding!
First, hold a local tournament to get a feel for the game!
DIRECTOR'S CHALLENGE [OPEN PROBLEM]: What is the smallest change you can make to P VERSUS Q to make it into a COOPERATIVE game?
WARNING: NO STUDENT HAS SOLVED THIS YET, INCLUDING YOUR TEACHER!!! THIS IS WHAT IS KNOWN AS AN OPEN PROBLEM!!!
HINT: MAYBE THERE IS NO UNIQUE SMALLEST CHANGE, BUT SEVERAL POSSIBILE CHANGES OF THE 'SAME SIZE'
NOTE: 'P VERSUS Q' is like a real-time rock-paper-scissors with only two moves instead of three!
Did you know that Toronto has sometimes won the world championship in ROCK PAPER SCISSORS? Who knew! Look it up!
TEXT FROM LAST TIME
As we wrap up week one of our new intensive summer afternoon camps, we are ready to enroll more students for Monday and push everyone to the next level!
To register for this week's camp, please fill out this form:
https://ultimatecoders.com/camp-halfday-checkout
This is for 1pm-4pm, July 15th-July 19th at our Toronto location, 406 Pacific Ave -- students should bring a snack to tide themselves over between lunch and dinner :-)
Feel free to invite your friends!
You will know if you are already registered if you have an email receipt.
As usual, our drop-in program is always available Mondays-Thursdays 4pm-8pm and Saturdays 11am-3pm, for which families can register here:
https://ultimatecoders.com/regular-classes-checkout
Cheers,
Adam Golding, Centre Director
ultimatecoders.com
PS while I have your attention, here is a sneak-preview of the new expanded curriculum I am developing in my new role as Centre Director -- this curriculum is focused on providing the minimum path to beginning a comprehensive understanding of Artificial Intelligence:
FROM THE TEAM:
Our summer camp will provide intensive, fun, and educational coding experiences that will keep your child engaged and learning throughout the summer. We will resume our regular classes in September, so your child's learning journey with Ultimate Coders will continue seamlessly.
This offer ensures that your children continue to benefit from our programs, and it’s our way of saying thank you for being a part of the Ultimate Coders family. It’s a win-win-win for everyone!
We look forward to a fantastic summer filled with coding adventures!
Best regards,
The Ultimate Coders Team