A FIRST LEGO league team (#144) that meets at the Carnegie Free Library of Swissvale on Saturday mornings during the fall and spring seasons. Meetings are from 9:30am to 12:30pm (including a snack break). One of the tenets of Andrew Carnegie libraries is that they offer free service to the community. In keeping with that important tenet, there is no cost to participate on the RoboCatz team.
Fall 2023
Parents
For the 2023 season, you will need to enroll your child onto the team through a web-based system.
Create an account at:
RoboCatz Art Museum (https://www.roblox.com/games/13559439593/RoboCatz-Art-Museum) An interactive art museum program from RoboCatz
Computer Art: the Graphical Expression of Algorithms
Mandelbrot Set
Science Demos (https://sciencedemos.org.uk/mandelbrot.php) Instructions: Move the mouse over an area and then use the scroll wheel to zoom in/out.
rust-mandelbrot (https://rust-mandelbrot.netlify.app/) Instructions: Drag the mouse to reposition the image. Use the scroll wheel to zoom in/out.
http://tilde.club/~david (http://tilde.club/~david/m/#) Instructions: Change the color scheme from by selecting the dialog box item. Drag the mouse to form a box. When you lift the mouse button, the computer will zoom in on the area dragged.
2D and 3D Graphics Drawing
Maze Generation
Lesson (https://robocatz.com/exercise-maze-generation.htm) Lessons on writing Maze Generating programs in JavaScript using the Recursive Division technique.
Lesson using 3D-Art Program (https://robocatz.com/exercise-maze-generation-in-3D.htm) Lessons on writing Maze Generating programs in JavaScript using the Recursive Division technique.
Recursive Division Maze Generation (https://en.wikipedia.org/wiki/Maze_generation_algorithm#Recursive_division_method) Wikipedia: Mazes can be created with recursive division, an algorithm which works as follows: Begin with the maze's space with no walls. Call this a chamber. Divide the chamber with a randomly positioned wall (or multiple walls) where each wall contains a randomly positioned passage opening within it. Then recursively repeat the process on the sub-chambers until all chambers are minimum sized. This method results in mazes with long straight walls crossing their space, making it easier to see which areas to avoid.
Cellular Automata
A cellular automaton (pl. cellular automata, abbrev. CA) is a discrete model of computation studied in automata theory. Cellular automata are also called cellular spaces, tessellation automata, homogeneous structures, cellular structures, tessellation structures, and iterative arrays.[2] Cellular automata have found application in various areas, including physics, theoretical biology and microstructure modeling.
Recursion Using Roblox Functions (https://devforum.roblox.com/t/tutorial-on-recursion/995195) On-line Documentation website from the Roblox Developer's forum.
Object Oriented Programming in Roblox (https://devforum.roblox.com/t/roblox-oop-object-oriented-programming/1639499) On-line Documentation website from the Roblox Developer's forum.
Art Museum (artMuseum-Roblox.htm) This page will describe how to create the Art Museum in Roblox.
Amazing Maze (https://www.roblox.com/games/13559439593/RoboCatz-Art-Museum) Art Museum program from RoboCatz
Spiral Staircase (spiralStaircase-Roblox.htm) This page will describe how to create a spiral staircase in Roblox.
Extracting Data from Parts of Models (/extractingDataFromParts-Roblox.htm) Use this script to extract data from models that you have added to your world. You can use this extracted data to copy/edit/manipulate the model and re-create it programmatically in other worlds.
2022 Challenge: Supercharged
2020 Challenge: RePlay
Web Tools
Computer Art
This is a program to teach the JavaScript computer programming language using Computer Art as the vehicle for the instruction. Students are taught basic programming skills in an easy to use development environment that shows the programs in action in real time.
JavaScript Sample Code
3-Button Menu
while(true) {
setLED(0)
clearScreen()
rect(10,10,160,60)
drawText(15,30,'Press a key to')
drawText(15,45,' select a program')
keyPressed=waitForPress()
switch(keyPressed) {
case 1:
alert('You selected UP')
setLED(4)
sleep(2000)
break
case 2:
alert('You selected ENTER')
setLED(5)
sleep(2000)
break
case 3:
alert('You selected DOWN')
setLED(6)
sleep(2000)
break
}
}
Robot Simulator
This is a program to teach the robot computer programming language used for moving the robot. This simulator does not emphasize programming. Instead, it tries to teach strategies for getting the robot to accomplish goals and missions.
RobotC Simulator
This is a program to teach the RobotC computer programming language.
Programming Exercises for RobotC
Joystick Programming (exercise-joystick-programming.htm) This is an exercise in programming the joystick used in the May Madness competition.
Line Following Exercise (exercise-in-line-following.htm) This is an exercise in Line Following with many examples of robotC code.
Function Overloading Exercise (exercise-in-function-overloading.htm) This is an exercise in Function Overloading and Multi Threaded programming with many examples of robotC code.
Our season will focus on robots that talk -- about trash. We will have talking robots.
Text to Speech
How do computers/robots talk?
What is Speech Synthesis?
How does the EV3 robot talk?
What is an Audio File?
What is the format of an EV3 audio file?
How big are EV3 audio files?
How mush storage space is on an EV3?
How many words can an EV3 speak?
How do we get that many words?
Data Mining
Like miners who dig in the earth, data mining involves the extraction of data from various sources
Free/Open Data Sources (Google's Guttenberg Project)
Who wrote the most words? Who wrote a lot of words?