The sixth graders spent the week working on their "What's My Number" program. For many of the students it was their first time working with loops and conditional statements.
Below is a list of Computational Concepts that students were exposed to while working on the Random Number Guessing "Game":
A common refrain from the students was - "Its not working". What does that mean? Computers only do what the programmer (which in this case was the students) tells it. Was it a case of the computer not listening, or more accurately, the programmer not communicating clearly? Or, did they not understand the concepts I was trying to teach? Since this was their first time working with loops and conditionals in Scratch, I would bet that for many of the students the answer would be a mixture of the two.
One of the major skills necessary for writing good code, is the ability to break a problem down into smaller parts and to then translate it into commands that the computer can follow. This important 21st Century Skill is known as Computational Thinking.CSTA
define Computational Thinking
- Formulating problems in a way that enables us to use a computer and other tools to help solve them.
- Logically organizing and analyzing data
- Representing data through abstractions such as models and simulations
- Automating solutions through algorithmic thinking (a series of ordered steps)
- Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of steps and resources
- Generalizing and transferring this problem solving process to a wide variety of problems
For the purposes of this assignment (program) students had to focus on developing a solution that not only solved the problem, but solved it in the most efficient and effective way possible. To this end, we created a rubric to help them identify the varying levels of completion (for their finished program). To help them internalize these levels, the students had to evaluate their own programs as well as the program of one of their classmates.
The 6th graders ended the week with a lesson on problem solving. The aim of the lesson was to have students experience computing (and computers) as tools for solving problems. In the younger grades, students are encouraged to use computers as a tool for creative expression. This modality enables the students to freely express themselves, and in the process they learn a variety of computing and programming techniques.
In the 6th grade, students will be provided specific problems (with detailed goals) to solve using computers. Besides designing programming solutions, students will also learn more about how computers work. Computing is not as frustrating as many students believe it is, however, it does require clear concise language in order to craft the appropriate sequence of commands which will yield the desired result.
This past Friday (and continuing through this week), students will be working on writing the correct computer code to solve the problem--- "What's my number?".
Below is an outline of the sequence of steps that the program needs to contain:
Step 1: The computer will generate a random number between 1 and 100
Step 2: The player (person) will make a guess between 1 and 100.
Step 3: The computer will compare the user input to the computer generated number
(a) If the numbers don't match, provide a hint and have the person guess again
(b) If the numbers do match, the game ends (or you can play again, if the user wants to).
Part of the learning process is coming up with the logic (Conditional Statements) (the comparison statements) to determine if the Player has guessed the correct number. The second part of the learning, is to determine the logic (Control Statements) which will enable the user to keep entering guesses (if needed).
Below is the skeleton code for the project:
The students found the lesson very rewarding --- "I usually do it easy, "peasy" (or ask someone else). But this was fun and I had to think about it!". Thank you John!
Students began exploring Scratch
. We spent some time in class discussing Scratch and trying to determine what makes it special. To this end, each student wrote up a definition for Scratch. We then pulled-out the salient ideas and created the wordle
on the left.
The students impression of Scratch was very close to what the developers had in mind. According to the website - "you can program your own interactive stories, games, and animations - and share your creations with other in the online community."
Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century. Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge