ULTIMATE CODERS

CONCEPTS THIS WEEK @ ULTIMATE CODERS (Director's Newsletter #3)

July 25, 202410 min read

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:

Darwin (1961)

Hammurabi (1968)

Conway's Game of Life (1970)

pedit5 (1975)

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:

  1. CHESS WITH THE DIRECTOR

  1. BRAITENBERG Vehicle 1

  2. BRATKO pg.7

  3. 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

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'

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

1858CE: NOUGHTS AND CROSSES (MODERN TIC-TAC-TOE)

1883CE: TRUTH TABLES

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!)

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

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

Adam Golding

Adam is center director at Ultimate Coders Toronto.

Back to Blog


© 2025 Ultimate Coders Inc. All rights reserved.