Starting Block-Based
Programming:Snap!
Programming:Snap!
Create your first program in Snap!
Completed
Basics of HTML
Starting Project Research
Revisiting Portfolios
Quiz
Basics of CSS; inline, internal, external
Practice CSS:
Making a Chess Board
Today
Block-based Programming
Revisiting the concept of iteration (loops!)
Upcoming
Basics of UX
More Project Work
Start with typing:
https://shaunwegs.github.io/2024/focs/typing/index.html
Add your screenshot to your slide for today, and keep your typing log updated.
Algorithm: a complete, well-defined sequence of steps for completing a task or solving a problem.
Program: a sequence of instructions or steps, written in a language that can be understood by a computer, that will be used by the computer to complete a task or solve a problem.
Control Flow: How we can control the order in which the instructions of a program are executed; the three simplest forms of Control Flow are sequence, iteration, and selection.
Sequence: completing steps within a specific order to achieve a specific desired result
Iteration: repeating a step, or series of steps, multiple times
Selection: performing a specific step, or series of steps, only if a certain condition is met
Block-based coding means that instead of typing a coding language, you drag and drop jigsaw-like pieces together to build things using tools like Scratch or Thunkable.
- University of York
Block-Based Programming, or BPP, is often thought to be just for kids. You have probrably seen Scratch or Code.org's block-based environments. While these specific programming environments were designed to help children learn Computer Science, the idea of an environment where you don't write raw code isn't specifically for children. There are a variety of tools where you design without ever touching the code.
We call this types of programming 'visual scripting', and these languages are called 'visual programming languages'; not all of them are block-based. Even engineers use some visual programming environments. We'll talk more about some of these sorts of tools later.
A screengrab from Scratch, a very popular block-based environment designed by MIT.
Not only that, but even the coding environments that were designed for children are also now often used by adults or even university students because of how simple they are. This may sound like an oxymoron, but the idea is, if the environment is simpler, then you can focus more on your idea and your product- that product as a result can be more complicated because you spent less time fighting with the tool.
Here's a click from UC: Berkeley
As this is a fundamentals class, we play with a lot of tools throughout the year. If you don't like one of the the tools we're using, wait a month and we'll probably be doing something else. So, we are only going to spend part of our time in Snap!- we'll do sort of a quick crash course through how to use it, and how to implement control flow methods like sequence, iteration, and selection in Snap.
There are other tools too, but there are a few aspects that I like about Snap. For one, there's actually an online (and in-person) inexpensive annual conference for Snap that you could participate in if you wanted to, check it out www.snapcon.org/
Conferences are an important part of many careers and fields, and its something many students don't get to participate in. When they are available to you, you should consider them, as its something that could help you stand out from your peers when applying for university or career opportunities.
Here's a few screengrab from previous conference sessions, 2024 on the left, and one from 2020 on the right.
Our first Snap! program will make use of sequence and iteration.
The video will walk you through how to make a field of flowers.
After following aloing with the video, add a screenshot that shows both your 'code' and the canvas.
Add this screenshot for your slide today, then go a bit further.
And then...
Experiment, add your own types of flowers, or decide not to even do flowers at all. Do something else. Make weird repeating shapes of chess pieces or your favorite food, or whatever. Use the techniques shown in the video to create something interesting. Screenshot your result, showing both your 'code' and the canvas, and add it to your slide today too.