Skip navigation.

2nd Quarter, Exploring Computer Science (ECS)

00.00 *Student-supplies for Exploring Computer Science

Students will need a computer with internet access and a working email address.

Students will need to have access to Scratch programming. Students may use the web-based version or download the latest version for free. (Q2 only)

00.00 Start Here (Exploring Computer Science)

COURSE DESCRIPTION
Exploring Computer Science is designed to introduce students to the breadth of the field of computer science through an exploration of engaging and accessible topics. Rather than focusing the entire course on learning particular software tools or programming languages, the course is designed to focus the conceptual ideas of computing and help students understand why certain tools or languages might be utilized to solve particular problems. The goal of Exploring Computer Science is to develop in students the computational thinking practices of algorithm development, problem solving and programming within the context of problems that are relevant to the lives of today’s students. Students will also be introduced to topics such as interface design, limits of computers and societal and ethical issues.

CLASS OVERVIEW
Welcome! This two quarter course meets the Computer Technology (0.5 credit) requirements that are required of all Utah high school students to graduate. Along with reading, writing and arithmetic, computer technology is a needed skill in today's technological world. The skills learned in this course will help you with your future education, employment, and home life. 

CREDITS
1/2 credit for the entire semester course (1st and 2nd quarter), 1/4 credit for each quarter.

ASSIGNMENT INSTRUCTIONS
Be sure to include your name and assignment name on all attachments and emails. Be sure to follow all assignment instructions. ALWAYS keep a copy of all assignments and everything you send. Make sure you save and CLOSE the assignments before you attach them. You can also use email to send me any questions you may have about the course. This is an open entry course so you can begin working on the assignments at any time. Your 10 weeks does start when you are enrolled.

SUBMITTING ASSIGNMENTS
All of the course instructions, activities, and learning materials are found in the course modules. When you come to an assignment, quiz, or test in the course materials, you will need to complete it as you come to it. Submit the assignment or take the quiz or test. Most of your assignments will be submitted as text entries or attachments. YOU DO NOT E-MAIL THE INSTRUCTOR ANY ASSIGNMENTS. If the assignment requires a text entry, submit it in the course module. If the assignment requires attachments, browse to the needed file and upload it correctly. When including the questions on a submission, please bold your answers to make them more visible and easier to grade.

FILE FORMATS
Some of the instruction files you will retrieve have been saved in .pdf format. You will need Adobe Acrobat Reader to be able to open these files. If you do not have Adobe Acrobat Reader, you can download it for free from Adobe. For documents you need to open and make changes to, the document has been saved in the Microsoft Office Word format. If you need to fill in information in a document or use the document for an assignment, you will want to save it and then retrieve it from the appropriate program. Please use a different font color or bold when you are answering questions on the various worksheets so it will be easier to correct. Q2 will have Scratch files for you to download and that you will need to upload. You will use the Scratch website for modifying and creating them.

COST
This course is free to Utah students through the Utah Electronic High School.

COMPUTER REQUIREMENTS
Students will need a computer with internet access and Adobe Reader.

Students will need to have access to Scratch programming. Students may use the web-based version or download the latest version for free. (Q2 only)

PRE-REQUISITE / HIGHLY RECOMMENDED
Math Level 1 (9th grade)

COURSE OUTLINE
This course is divided into nine units: Q1 includes Introduction, Web 2.0, Electronic Communication, Data, and Problem Solving.  Q2 includes Introduction, Searching, Introduction to Scratch Programming, and Scratch: Control Structures.

TIMELINE
This quarter credit (1st quarter) needs to be completed in ten weeks or fewer. You must be working on assignments each week you are registered for the course, or your name will be removed from the rolls. Be sure to contact the instructor if there is a special situation. After ten weeks, students will automatically be removed from this course. Be sure to finish all work and take the final within ten weeks of your enrollment date.

HOW YOUR WORK IS GRADED
You will be graded on tests, assignments, and quizzes. You can see your scores at any time in the grades section. If you have a zero on an assignment, it means that you did not do the assignment, you submitted the wrong assignment, OR the file could not be opened. Either complete the assignment if you did not do it, or save the file in a correct format. If you have a lower score than what is possible, you will see feedback from the instructor (except for quizzes and tests that are automatically scored). Students will be graded on the concepts being covered in each assignment. Be sure to follow all of the instructions within each assignment in order to receive full points. Extra credit to raise your grade at the end of the quarter is NOT given in this course. Assignments that you earn less than 90% on may be fixed and resubmitted for up to 90%.

You will have TWO attempts at each quiz and test EXCEPT the final test. You are only allowed to take the final test one time and you need to score 60% or better to get a grade for the class. You can decide if you want to use your two quiz/test attempts right away, OR save one until the end to help you study for the final. You will keep the highest score from the two attempts.  You are allowed to use your notes, worksheets, and assignments from the course during the quizzes and tests. You are NOT allowed to use the internet to find answers. No notes are allowed on the final test. 

FINAL PROCTORED EXAM
The final exam will be worth approximately 25% of the course grade.  There will be 50 questions composed of multiple choice, true/false, and matching questions. Each question is worth 3 points for a total of 150 points. You will have 90 minutes to complete the exam.  No notes will be allowed for use on the final. A proctored exam means that a specific person (proctor) needs to watch you take the test. You will have to schedule a time with an EHS certified proctor to take the test with them. If you fail the final test you will have to either retake the class to earn a second attempt at the final, or complete remedial work at the discretion of the teacher. After doing remedial work, and retaking the final test, the highest grade you can earn is a B. More information about the final test can be found in Module 4.

FINAL GRADE SCALE
The following grading scale will be used for the course:

  B+ 87-89% C+ 77-79% D+ 67-69%  
A  93-100% B   83-86% C   73-76% D   63-66% F  0-59%
A- 90-92% B-  80-82% C- 70-72% D-  60-62%  

 

ETHICS
Please be honest in all your coursework. If you are caught cheating on any course materials (either as a giver or receiver), you will be given a zero for all questionable work. If you are caught a second time, you will be removed from the course. You cannot use the internet to search for answers on any tests or quizzes.

Students are expected to follow the EHS Honor Code: "As a student of the Electronic High School, I agree to turn in my assignments in a timely manner, do my own work, not share my work with others, and treat all students, teachers, and staff with respect."

ACKNOWLEDGEMENTS
Joanna Goode and Gail Chapman are the authors of  Exploring Computer Science and are the co-directors of the curriculum design team.  High school teachers have been involved in contributing instructional materials and have provided important feedback that has been used to improve the materials. Furthermore, along with a design team, the authors have conferred with K-12 and higher education computer science educators around the country involved in computer science reform to inform the creation of these materials.

COMMUNICATION
It will be great getting to know you better as we correspond throughout this course. Please do not hesitate to email the instructor if you have any questions regarding this course. You can find the instructors information on the Teacher - Contact Information page in Module 1.

LET'S GET STARTED
To begin this course, click the NEXT button at the bottom of this screen after you have read the directions for the About Me assignment.

00.01 About Me (Exploring Computer Science)

The "About Me" assignment is a way for the instructor to get to know you better. Please copy and paste the following questions, then answer them in bold (using complete sentences, correct spelling and grammar) when you submit your assignment.

The EHS Honor Code should be agreed to in the following manner: "As a student of the Electronic High School, I agree to turn in my assignments in a timely manner, do my own work, not share my work with others, and treat all students, teachers and staff with respect." A grading rubric is provided below.

1 - What is your first and last name and your preferred name if different than your first name?

2 - What school do you attend, and what grade are you in?

3 - Why did you choose to take Exploring Computer Science through EHS?

4 - What are some interesting things about you (hobbies, funny story, interests, etc.)?

5 - What is your 10 week completion date?

6 - Write a sentence or two stating your acceptance of the EHS honor code and your commitment to follow it throughout the course.

7 - Provide contact information for you and your parents, both email and phone.

 

 

************************GRADING RUBRIC************************

  Excellent Fair Poor
Answering all Questions All questions were fully answered using complete sentences. Some of the questions were answered with complete sentences. None of the questions were answered with complete sentences.
Sentence Structure All sentences were grammatically correct and properly punctuated and capitalized. Some of the sentences were grammatically correct and properly punctuated. None of the sentences were grammatically correct and properly punctuated.
Spelling All words were spelled out and spelled correctly. Most words were spelled out and spelled correctly. Many words weren't spelled out and/or spelled correctly.
Contact Information Parent and student email and phone numbers were provided. Partial parent and student email and phone numbers were provided. Contact information was not provided.

00.01.01 Student Software Needs

 

Students need access to a robust internet connection and a modern web browser.

This class may also require the Apple QuickTime plug-in to view media.

For students using a school-issued Chromebook, ask your technical support folks to download the QuickTime plug-in and enable the plug-in for your Chromebook.

$0.00

06.00 Introduction

Objectives:

The student will be able to:

  • Reflect on coursework.
  • Create a presentation with hyperlinks/action buttons.

06.01 ePortfolio

Create an ePortfolio (electronic portfolio) to showcase your work throughout the quarter. You should include a title that introduces you and your ePortfolio. You need to pick eight assignments from the quarter. There needs to be at least one assignment from each of the units and the other five can be from any of the units. . Take a screen shot of your completed assignment and then reflect on it. Each reflection should be at least 100 words for a total of 800 words in the entire portfolio. Here are some ideas to help you reflect:

  • Why are you including it in your portfolio (you really enjoyed it, you learned a lot, etc.)
  • Describe the purpose of the assignment
  • What was learned/new to you
  • How is this concept important to computer science
  • What you still need help on and/or could have done better

You will turn this in at the end of the quarter. Be sure to add to it as you go throughout the quarter so you don't have a ton of work to do at the end and your reflection is more accurate because it was done shortly after the assignment. Save all of your assignments!

You can create the ePortfolio using whatever software you prefer. It will need to be easy to navigate and professionally formatted.

**The "About Me" assignment should NOT be used as one of the assignments.

07.00 Searching

Objectives:

Students will be able to:

  • Describe the linear search algorithm.
  • Describe the binary search algorithm.
  • Explain conditions under which each search might be appropriate.
  • Define sorted and unsorted lists.
  • Describe various sorting algorithms.
  • Compare various sorting algorithms.
  • Solve a minimal spanning tree.
  • Draw a graph to solve a problem.

07.01 Tower Activity

Demonstrate searching and sorting algorithm

In Computer Science, a search algorithm is a way of finding a particular item among a collection of items.  The items may be sorted as records in a database, or just a list of random values.  There are many different searching ways (or algorithms) to search for an item.  Today we will discuss two of them: linear search and binary search.

Linear Search

The linear search is a way of finding an item in a list.  The algorithm for this is to start at the beginning of your list, look at each item until you find it or there is no more data.
If we successfully find the item, we stop searching.
If we check every item in the list, and don’t find the one we want, we’ll know that it’s not in the list.

Linear Search Demonstration

Say we have a list of 5 fruits, and we want to find the apple’s position.

To start, look at the first item in the list
Original List
The first item isn't the apple, so we check the second item.

Second List Item

The second item isn’t the apple, so we check the third item

List Third Item

The third item is the apple. Our search is complete.
We used linear search to find the apple at the third position in the list.

 

Linear Search - When to Use IT

Linear search should be used when our list is not in order, like in the demonstration above. The fruits don’t have any order; they’re placed randomly in the list.

We use binary search if our list is in order.


Binary Search

In binary search, we find the middle of a list, cut the list in half, and throw away the side where our item isn’t located.

Then, we do the same thing to the remaining list, and repeat until we find our item.

If we run out of items to search, we’ll know that our item is not in the list.

Binary search is more complicated than the linear search, but can be significantly faster, especially when there are a lot of items to search through.

For binary search to work, the items in our list must be in order.

A list of numbers can be ordered from smallest to largest, and a list of names can be ordered alphabetically, for example. 

Binary Search - Demonstration

Say we have an ordered list of 13 different numbers, and we want to find the 98’s position.

To start, we find the middle item, and split the list into two halves.
We can see that 98 is not 33 or less, so we throw away the left half.

Binary Search eliminate half

Now we only have the right half to search.
Binary Search eliminate half
We repeat the process by picking a new middle, and splitting the list again.
(If there’s an even number of items, we just pick either of the two items closest to the middle.)
We can see that 98 is not 62 or less, so we throw away the left half again.

Binary Search list

This leaves us with only 3 items.

Binary Search

Now we find the new middle item.

Binary Search

Our new middle item happens to be 98, which is our target, so we are done searching.
We have just used binary search to find our target at the 12th position.

Binary Search - When to Use It

Binary search should be used whenever our list is ordered.

In the demonstration, we found the target after 3 tries. It would have taken us 12 tries if we had used a linear search.

In this next assignment, you are going to discover the efficiency of the two algorithms completing the Tower Building activity.

teacher-scored 10 points possible 20 minutes

Upload the completed Tower Building Activity.

Pacing: complete this by the end of Week 1 of your enrollment date for this class.


07.02 Binary Search

The solution for the tower building activity is to start by taking half of the height of the tower and create that number of stacks of 2. Continue halving the number of stacks and doubling the height (plus one stack of any remainder) until the desired height is reached. This foreshadows binary search.

Week # # of stacks # of blocks in stack Remainder
1 5 2
2 2 4 1 stack of 2
3 1 8 1 stack of 2
4 1 10

Linear searches – start at the beginning, look at each item until you find it or there is no more data. Data can be sorted or not.

Binary searches – look at middle item, eliminate the half where the value is not located. Find the new middle element and continue the process until you find it, or there is no more data. The search must be sorted.

teacher-scored 5 points possible 20 minutes

Journal Entry

Using complete sentences, answer the following:

Provide at least two examples of where each type of search (linear and binary) is appropriate and why.

Pacing: complete this by the end of Week 1 of your enrollment date for this class.


07.03 Sorting

Demonstrate searching and sorting algorithm

One of the major advantages of computing is the ability to manage large sets of data that could not easily be managed by humans.

teacher-scored 5 points possible 20 minutes

Journal Entry

Using complete sentences, answer the following:

List examples of where it matters whether items are in order (sorted). Explain why it matters that they are sorted; in other words, what are the consequences if the list is not sorted?

Pacing: complete this by the end of Week 1 of your enrollment date for this class.


07.04 Lightest and Heaviest

Computers are often used to put lists into some sort of order, for example names into alphabetical order, appointments, or email by date, or items in numerical order. Sorting lists helps us find things quickly, and also makes extreme values easy to see. If you sort the marks for a class test into numeric order, the lowest and highest marks become obvious.

If you use the wrong method, it can take a long time to sort a large list into order, even on a fast computer. Fortunately, several fast methods are known for sorting. In this activity you will discover different methods for sorting, and see how a clever method can perform the task much more quickly than a simple one.

07.04.01 Sorting Weights

teacher-scored 5 points possible 20 minutes

Computers usually only compare two values at once. This activity will give you an idea of what this is like.

Complete and upload the worksheet activity Sorting Weights.

Pacing: complete this by the end of Week 2 of your enrollment date for this class.


07.04.02 Divide and Conquer

teacher-scored 5 points possible 30 minutes

Variations and extensions

Many different methods for sorting have been invented. You could try sorting your weights using these:

Insertion sort works by removing each object from an unsorted group and inserting it into its correct position in a growing list (see picture below). With each insertion the group of unsorted objects shrinks and the sorted list grows, until eventually the whole list is sorted. Card players often use this method to sort a hand into order.

Bubble sort involves going through the list again and again, swapping any objects side-by-side that are in the wrong order. The list is sorted when no swaps occur during a pass through the list. This method is not very efficient, but some people find it easier to understand than the others.

Mergesort is another method that uses ‘divide and conquer’ to sort a list of items. First, the list is divided at random into two lists of equal size (or nearly equal if there are an odd number of items). Each of the two half-size lists is sorted, and the two lists are merged together. Merging two sorted lists is easy- you repeatedly remove the smaller of the two items at the front of the two lists. In the figure below, the 40 and 60-gram weights are at the front of the lists, so the next item to add is the 40-gram weight. How do you sort the smaller lists? Simple – just use mergesort! Eventually, all the lists will be cut down into individual items, so you don’t need to worry about knowing when to stop.

Information is much easier to find in a sorted list. Telephone directories, dictionaries, and book indexes all use alphabetical order, and life would be far more difficult if they didn’t. If a list of numbers (such as a list of expenses) is sorted into order, the extreme cases are easy to see because they are at the beginning and end of the list. Duplicates are also easy to find, because they end up together.

Computers spend a lot of their time sorting things into order, so computer scientists have to find fast and efficient ways of doing this. Some of the slower methods such as insertion sort, selection sort, and bubble sort can be useful in special situations, but the fast ones, such as quicksort, are usually used.

Quicksort uses a concept called recursion. This means you keep dividing a list into smaller parts, and then performing the same kind of sort on each of the parts. This particular approach is called divide and conquer. The list is divided repeatedly until it is small enough to conquer. For quicksort, the lists are divided until they contain only one item. It is trivial to sort one item into order! Although this seems very involved, in practice it is dramatically faster than other methods.

Quicksort is a lot faster than selection sort, particularly for larger lists. In fact, it is one of the best methods known. This is how quicksort works. 

Complete and upload the worksheet activity Divide and Conquer.

Pacing: complete this by the end of Week 2 of your enrollment date for this class.


07.05 Minimal Spanning Trees

Students will be introduced to selected topics in discrete mathematics including Boolean logic, functions, graphs and the binary number system. Students are also introduced to searching and sorting algorithms and graphs. Explain the connections between binary numbers and computers.

Our society is linked by many networks: telephone networks, utility supply networks, computer networks, and road networks. For a particular network there is usually some choice about where the roads, cables, or radio links can be placed. We need to find ways of efficiently linking objects in a network.

07.05.01 Muddy City Activity

teacher-scored 10 points possible 20 minutes

This activity will show you how computers are used to find the best solutions for real-life problems such as how to link power lines between houses. Complete the worksheet activity The Muddy City Problem. Upload your completed worksheet, make sure you include a copy of the map with the route you chose.

Pacing: complete this by the end of Week 2 of your enrollment date for this class.


07.05.02 City Road Alternatives

teacher-scored 5 points possible 20 minutes

Variations and extensions: Here is another way of representing the cities and roads:

The houses are represented by circles, the muddy roads by lines, and the length of a road is given by the number beside the line. Computer scientists and mathematicians often use this sort of diagram to represent these problems. They call it a graph. This may be confusing at first because “graph” is sometimes used in statistics to mean a chart displaying numerical data, such as a bar graph, but the graphs that computer scientists use are not related to these. The lengths do not have to be drawn to scale.

Journal Entry

Using complete sentences, answer the following:

  1. Describe two other muddy city problems, (problems that could be solved with a weighted graph).
  2. Can you find out a rule to describe how many roads or connections are needed for a best solution? Does it depend on how many houses there are in the city?

Pacing: complete this by the end of Week 2 of your enrollment date for this class.


07.05.03 Minimal Spanning Trees Problem

teacher-scored 10 points possible 45 minutes

Suppose you are designing how a utility such as electricity, gas, or water should be delivered to a new community. A network of wires or pipes is needed to connect all the houses to the utility company. Every house needs to be connected into the network at some point, but the route taken by the utility to get to the house doesn’t really matter, just so long as a route exists.

The task of designing a network with a minimal total length is called the minimal spanning tree problem. Minimal spanning trees aren’t only useful in gas and power network; they also help us solve problems in computer networks, telephone networks, oil pipelines, and airline routes. However, when deciding the best routes for people to travel, you do have to take into account how convenient the trip will be for the traveler as well as how much it will cost. No one wants to spend hours in an airplane taking the long way round to a new country just because it is cheaper.

The muddy city algorithm may not be much use for these networks, because it simply minimizes the total length of the roads or flight paths. Minimal spanning trees are also useful as one of the steps for solving other problems on graphs, such as the “travelling salesperson problem” which tries to find the shortest route that visits every point in the network. There are efficient algorithms (methods) for solving minimal spanning tree problems. A simple method that gives an optimal solution is to start with no connections, and add them in increasing order of size, only adding connections, that join up part of the network that wasn’t previously connected. This is called Kruskal’s algorithm after J.B. Kruskal, who published it in 1956. For many problems on graphs, including the “traveling salesperson problem”, computer scientists are yet to find fast enough methods that find the best possible solution.

Now create your own minimal spanning tree example and upload a picture of it if you drew it out on paper or upload the document if you used a program to create it.

Pacing: complete this by the end of Week 2 of your enrollment date for this class.


07.06 Unit Project

Students will be introduced to selected topics in discrete mathematics including Boolean logic, functions, graphs and the binary number system. Students are also introduced to searching and sorting algorithms and graphs. Explain the connections between binary numbers and computers.

You have learned about Minimal Spanning Trees and their uses, now it is your turn to create your own spanning tree in the hypothetical situation of Planning a Road Trip.  

Scenario:
You are planning a road trip with some friends.  You will visit at least 6 places in North America.  You are the driver and therefore assigned to calculate the most efficient route which you could visit these places.  First, create a list of the places you would like to visit such as:  

  • Home (Starting location)
  • Grand Canyon
  • Crater Lake
  • Yosemite
  • Arches
  • Yellowstone
  • Grand Teton

Make sure these are places that could easily make a minimal spanning tree (so not just places along the same highway).  Use Google Maps, or some other geo location software to determine the distances between each location.  Record each of the values in time and distance.  For 6 locations, there are at least 15 distances you will need to find to be able to create the Minimal Spanning Tree.

Create a Weighted Graph out of the 6 locations.  The locations will be labeled as the circles on the minimal spanning tree.  The lines will be the distances.  You will label them with the number of miles and also the time it would take to travel that particular route.  Because you are measuring in time and distance, you may have multiple routes between two locations.  You will need to use Google Earth/Maps or some other mapping software to be able to calculate these distances.

 

 

07.06.01 Unit Project Data

teacher-scored 5 points possible 20 minutes

Upload the weighted graph for your ultimate road trip with all possible paths shown.

Grading Rubric
Requirements Points
Locations not in a single line 1
At least 6 locations listed 2
At least 15 distances/ times listed 2
Total 5

Pacing: complete this by the end of Week 3 of your enrollment date for this class.


07.06.02 Unit Project

teacher-scored 20 points possible 60 minutes

You will now investigate the shortest route to hit all the places on your road trip.  You will use your weighted graph as a visual representation of possible routes and create a minimal spanning tree to show the most efficient route.

Additionally:  Find at least 1 site within each area you would like to visit with three fun facts about that site. Example:

Yellowstone- Old Faithful Geyser

  • Shoots water every 60 to 90 Minutes
  • Shoots up to 185 feet high
  • Eruptions last 1.5 to 5 minutes

You will then create a PowerPoint presentation about your trip.  Your PowerPoint must include the following items.

  1. Title Slide with your name and project title
  2. Introduction slide telling about the project and listing the locations
  3. A picture (weighted graph) representing all the locations with all the roads between them labeled with mileages and times for each route.
  4. A slide that explains the strategies you used to find the shortest route and the fastest route.
  5. A slide that shows your route solution or minimal spanning tree.
    • Which was the shortest route, which was the fastest, or were they the same?
    • Why might the shortest route be different than the fastest route?
  6. A slide for each of the places you plan to visit with in the order of your route:
    • 3 fun facts for each place
    • Picture of each place
  7. A slide that will show the total time it will take and how much time it will take you to travel to each destination.
  8. Slide Transitions, animations, slide layouts, other images as needed.  

 

Upload your completed presentation

Grading Rubric
Requirements Points
Minimal Spanning Tree present 5
All possible routes listed on Minimal Spanning Tree 5
Routes listed in time and distance 5
Strategies for finding the shortest route 5
Solution and total miles and time 5
PowerPoint and fun facts 5
Total 30

 

Pacing: complete this by the end of Week 5 of your enrollment date for this class.


07.07 Unit 7 Test

Review all the material learned in unit 7.

computer-scored 20 points possible 30 minutes

Complete the Unit 7 Test.

Pacing: complete this by the end of Week 3 of your enrollment date for this class.


08.00 Introduction to Scratch Programming

Objectives:

The students will be able to:

  • Name the basic terms used in Scratch.
  • Create the beginning of a simple program in Scratch.
  • Complete a simple Scratch program.
  • Utilize the green flag feature.
  • Develop a dialogue between two or more Scratch sprites.
  • Explain the reasoning behind how their dialogue works.
  • Explain the 3 major ways to move sprites.
  • Choose the appropriate method of moving to make a cat circle the bases.
  • Explain event driven programming.
  • Write a program that responds to user created events from the mouse and keyboard.
  • Broadcast events.
  • Listen to and respond to events they create.
  • Change the background of the stage.
  • Complete a Scratch story.
  • Develop a Scratch story project.

08.01 Scratch Programming

Programming is one of the creative processes that can transform ideas into reality. This unit will highlight what can be created by using programming as a tool. The software that will be used is called Scratch. It provides an environment that lends itself to “tinkering”. The drag and drop nature of the blocks moves the focus away from messy syntax and allows for making modifications quickly. Scratch is programming, but it is not used in industry. A few languages that are used in industry are Java, C, and C++. The basic constructs used in Scratch are also used in “industrial strength” languages. Every character in Scratch is called a sprite. Watch the Introduction to Scratch video. Then view the Scratch Getting Started PDF. Lastly, view the Scratch Introductory Presentation.

08.02 Name Program

Project Description

Name project. Write a program based on your first name. Create a Sprite for each character in your name.  Each  character in your name will do something different, for example, move, rotate, change color, whatever block you would like to experiment.

Here is an example of the Name Project.

Name Project

Requirements

Each character in your name must have a script.  The script should start with an event.  The most common is "When the green flag is clicked".  However, you have the freedom to try out "When key is pressed", "When Sprite is clicked" or any other events you would like to try.

You have creativity liberty on this project to try out whatever you like.

Grading

This will be a 10 points assignment, your grade will be based upon the following criteria.

Scratch Name Program Rubric
Do you have: Points Possible
Separate Sprite for each letter of your name 2
At least 3 different interesting behaviors for the letters in your name 2
All the letters have a behavior and an Event to make the behaviors work (Most common is "When Green Flag Clicked" event) 2
Use of a Forever block 2
A Background 2
Total 10

 

You can see an example by downloading the name.sb2 below. To open the document, first open Scratch.  

If using the online version select Select File-> upload from your computer

If using the installed version of Scratch select File->Open 

teacher-scored 10 points possible 30 minutes

Name Project

Click the Share Button.  Copy and paste the URL into a Word or Text document and submit the text document.

Share your Project

Alternatively you can choose Download to your computer. Save the file as NameProject**  (Put your first and last initial in place of the asterisks). Then upload the file.

Pacing: complete this by the end of Week 3 of your enrollment date for this class.


08.03 Sprite Dialogue

You will be making a dialogue between two or more sprites. Here is a sample dialogue:

Sprite 1: "Knock knock."
Sprite 2: "Who's there?"
Sprite 1: "Juana."
Sprite 2: "Juana who?"
Sprite 1: "Juana go write a program in Scratch?"
Sprite 2: "Ha ha!"

You can use a different knock-knock joke or use your creativity to come up with any other appropriate conversation. Blocks you will need to use are "say_for_secs" and "wait_secs".

View the Dialogue Rubric to know all the parts that need to be included.

teacher-scored 10 points possible 30 minutes

There are two ways you can submit this Scratch Project  

*You can click the "Share" button in the top left of the screen, then submit to me the a text file with the URL to the project.

*You can click the File menu and select "Download to your computer" Save the file as DialogueProgram**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 3 of your enrollment date for this class.


08.04 Graphing

teacher-scored 5 points possible 10 minutes

Journal Entry

Using complete sentences, answer the following:

Briefly describe how you would graph in your Algebra class (for example, graphing with the x-y coordinate plane, etc.).

Pacing: complete this by the end of Week 3 of your enrollment date for this class.


08.05 Moving Project

The "repeat" block will do whatever is inside it n times. This behavior can be called iteration or looping.  Iteration is a construct that is used in other programming languages.

Be sure you understand the differences between the three ways a sprite can move after completing this next activity. The sprites will reinitialize themselves when the green flag is clicked.

teacher-scored 10 points possible 30 minutes

Complete the worksheet activity Moving Project using the Scratch project.  

Your operating system may not open the scratch file directly.  Download the file by clicking on it, then use scratch to open or upload the file.

Upload your completed worksheet.

 

Pacing: complete this by the end of Week 3 of your enrollment date for this class.


08.06 Moving Bases

Download the baseball.sb sample file below and then upload it in Scratch and get the sprite to move around the bases. Add the blocks to make the sprite go around the bases and face the correct way all the way around.

The sprite will reinitialize itself when the green flag is clicked. 

Extra Credit: make the cat change costumes so that it looks like it is running as it circles the bases. Add a comment of "Extra Credit" when you submit your assignment if you accomplished this.

teacher-scored 10 points possible 20 minutes

From the File menu in Scratch, choose Download to your computer. Save the file as MovingBases**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 4 of your enrollment date for this class.


08.07 Driving Programs

08.07.01 Driving Programs

teacher-scored 5 points possible 10 minutes

Journal Entry

Using complete sentences, answer the following:

How do the programs on the computer know what the user wants to do next? In other words, if you are surfing the web, how does the computer know what page to go to next?

Pacing: complete this by the end of Week 4 of your enrollment date for this class.


08.07.02 Alphabet Learning

teacher-scored 10 points possible 30 minutes

User events, which include your clicks and what you’re typing, are driving the program and causing it to respond. Scratch provides some blocks that allow you to write programs that respond to user events relatively easily.  One we have already seen is the “When green flag clicked” block. Two others are “When this sprite clicked” and “When_key pressed”.

You are going to be making an alphabet learning game. See how the first letter was created by opening the file alphabet.learning below. You will need to create a new sprite for each letter. Then create a new costume for each letter by clicking on the Costumes Tab, then either (1)clicking on the paintbrush to draw your own, (2)the new sprite to get one from the sprite library, or (3)the folder to upload one from your computer. You can also find pictures from the internet. For each letter, you will need two costumes: one with the letter, and one that represents the letter (.i.e.: apple for a, car for c, etc.). You will use a “switch to costume_” block and a “say_for_sec” block during this program. You can pick the theme of your alphabet game (animals, food, colors, etc.).

View the Alphabet Rubric to make sure you correctly complete the Alphabet Learning game.

From the File menu in Scratch, choose Download to your computer. Save the file as AlphabetLearning**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 4 of your enrollment date for this class.


08.08 Broadcast

08.08.01 Broadcast

teacher-scored 5 points possible 10 minutes

Journal Entry

Using complete sentences, answer the following:

What does it mean to broadcast something (example the radio station is broadcasting music right now)?

If a radio or television station is broadcasting something, does that mean that everyone is listening to it?

Pacing: complete this by the end of Week 4 of your enrollment date for this class.


08.08.02 Scratch Broadcast

teacher-scored 10 points possible 45 minutes

We will be learning how to use the broadcast block in Scratch. View the Sample Scratch Broadcast Role Play Script to get an idea of how it will work. Imagine this is being acted out in front of the classroom whiteboard.

Then complete the Summer Story Project. View the Summer Story Project Rubric to make sure you include all parts.

 

Do you have... Points Possible
Answers to Questions 1, 2, and 6 3
Used the Broadcast Block 3
At least 3 scenes 2
Additional characters in each scene 2
Total 10

From the File menu in Scratch, choose Download to your computer. Save the file as SummerStory**. Put your first and last initial in place of the asterisks. 

Upload the completed Summer Story Project worksheet and the Summer Story Scratch Project. 

 

 

Pacing: complete this by the end of Week 4 of your enrollment date for this class.


08.09 Story Project

You will now be creating your own animated story. You will use all of the Scratch concepts that you have been taught so far to complete this project.  Your project will have at least 4 scenes (background and character changes).  Make sure you include the following items in your story project.

  • An opening title scene to introduce the story, make sure you include your name as the author.  
  • At least 3 different Sprites
  • At least 8 say or think boxes
  • MoveTo or Switch costumes blocks to animate the characters
  • Broadcast Message to change scenes
  • All characters should take turns talking

 

teacher-scored 40 points possible 60 minutes

From the File menu in Scratch, choose Download to your computer. Save the file as StoryProject**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 5 of your enrollment date for this class.


08.10 Unit 8 Test

Review the material from unit 8.

computer-scored 20 points possible 30 minutes

Complete the Unit 8 Test.

Pacing: complete this by the end of Week 5 of your enrollment date for this class.


09.00 Scratch: Control Structures

Objectives:

Student will be able to:

  • Explain the concept of variables.
  • Create examples of variables.
  • Explain the concept of iteration.
  • Create examples of iteration.
  • Explain the concept of conditionals.
  • Enhance a variable program with conditionals.
  • Use conditionals with And and Or to write a grade program.
  • Use a random number generator to write a dice program.
  • Apply knowledge of conditionals to complete a Rock Paper Scissors program.
  • Create a timer.
  • Create a timing game.
  • Investiage two different types of games.
  • Get ideas for their final project.
  • Make an appropriate choice of which final project to do.
  • Incorporate all objectives in the unit into the final project.

09.01 Variables

teacher-scored 5 points possible 10 minutes

Journal Entry

Using complete sentences, answer the following:

What does the word variable mean in both mathematical and English terms?

Pacing: complete this by the end of Week 5 of your enrollment date for this class.


09.02 Variable Blocks

Two math equations could be:

x + 3 = 5
2x = 12

What is the name of the variable here? The answer is x. Although there is an x in both equations, its value varies: it is 2 in one equation and 6 in the other. The notion is the same in a program – a variable is a name that represents a value that can be changed. In the math example, the name was x.

See an example of a variable being used by downloading the variable example below and opening it up in Scratch.  

Look closely at the script for each sprite. You will need to “make a variable” and give it a name. In the example, the points increase by 1 every time the banana is chosen. That is an example of iteration. Then the points decrease by one when the cheese puffs are clicked. What should happen when the green flag is clicked? It resets the points back to 0. It does not matter which script the “when green flag clicked” is under. This is an example of initialization.

 

teacher-scored 5 points possible 30 minutes

You should now enhance the variable example by

  1. Adding a food that is worth 2 points when clicked on.
  2. Adding a food that is -3 points when clicked on.

From the File menu in Scratch, choose Download to your computer. Save the file as Variables**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 5 of your enrollment date for this class.


09.03 If Statement

teacher-scored 5 points possible 10 minutes

Journal Entry

Using complete sentences, answer the following:

What comes to mind when you hear the word "if"? What are some ways we use the word "if" in English?

Pacing: complete this by the end of Week 5 of your enrollment date for this class.


09.04 Conditionals

In English, if is used to state a condition where something might happen if the condition is true. Hence this topic is called conditionals. This is a common computer science construct. An example from computing is when a program like Microsoft Word asks you if you want to save your work when you hit close. If you click yes, it saves your changes. If you click no, it discards your changes.

Conditionals work like this:
If (some condition) then do this.

In Scratch the “if" block looks like this:

Notice that only hexagon shaped blocks can fit within. Also, if the condition is true, it will do anything that is enclosed within the top and bottom of the “if” block.

09.04.01 Conditionals

teacher-scored 5 points possible 30 minutes

Download the age.sb file below and open it using Scratch.  Remember that since we are using integers (whole numbers) the >15 means people that are over 15 not including 15. Drag the dot on the slider to change the age.

Now view the Age.Project PDF. You will add more coniditonals to this program. Since numbers are integers (whole numbers) we can do "age>2" to mean "age>=3". To do >=in Scratch, you need to use the "or" block. View the age-great-equal.sb from the Files section in the learning system, for help.

From the File menu in Scratch, choose Download to your computer. Save the file as AgeProject**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 6 of your enrollment date for this class.


09.04.02 Variable Conditional

teacher-scored 5 points possible 20 minutes

Now you need to do your own. Go back to your variable example about nutrition from lesson 09.02 and add:

  1. A message about being nutritious if the number of points becomes great than 9
  2. A message about eating healthier food if the number of points becomes less than -4.
    1. You can either have a sprite say the message or use broadcast to change the sprites/stage to convey the message.

From the File menu in Scratch, choose Download to your computer. Save the file as VariableConditional**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 6 of your enrollment date for this class.


09.05 And/Or

teacher-scored 5 points possible 10 minutes

Journal Entry

Using complete sentences, answer the following:

What is the difference between "and" and "or"? What does the word random mean in English?

Pacing: complete this by the end of Week 6 of your enrollment date for this class.


09.06 And/Or Conditionals

Time to get active! Read the following statements and stand up if they apply to you, read the next one if it does not apply to you. If you stood up, sit back down, and then read the next statement:

If you are a girl AND you are wearing blue, stand up.
If you are a boy AND you are wearing blue, stand up.
If you are 16 AND have blue eyes, stand up.
If you are a girl AND you have brown hair, stand up.
If you are a boy AND you like basketball, stand up.

How many parts of the condition must be true for you to stand up if it is an AND? Both!

If your are a boy OR you are wearing blue, stand up.
If you are a girl OR you are wearing blue, stand up.
If you are 16 OR you have blue eyes, stand up.
If you are a girl OR you have brown hair, stand up.
If you are a boy OR you like basketball, stand up.

How many parts of the condition must be true for you to stand up if it is an OR? At least one. If both parts of the condition are true for an OR is it okay to stand? Yes!

Here are the "and" and "or" blocks in Scratch.

Notice they are hexagon shaped and take two other hexagons.

teacher-scored 5 points possible 30 minutes

Create a Scratch Grades Project.  The user will enter their percentage and the project will report back the letter grade.

Create a variable called Percent.  Make sure that the checkbox next to the variable is selected so it will show on the Stage.

Double click on the variable in the stage and it will toggle between different views.  We need a slider view so that the user can change the value of the variable.

When the green flag is clicked, the project should look at the value of the grade and the Sprite should respond with a ltter as follows:

Letter Grade Percentage
A 90 or greater
B Greater than 79 and less than 90
C Greater than 69 and less than 80 
D Greater than 59 and less than 70 
F Less than 60 

 

The project will look something like this:

Grades Screen Shot

 

 

Pacing: complete this by the end of Week 6 of your enrollment date for this class.


09.07 Randomness

If you roll a pair of dice, will the numbers come out in order (2, then 3, then 4 the next roll, etc.)? Most likely that is not going to happen. Try rolling a dice a few times to prove it if you don’t believe it. This unpredictability is called randomness. Randomness can make games more exciting. For example, how many spaces will I get to move this turn? Randomness is also used in computer science for simulations and in scientific/statistical experiments. 

Download the  dice.sb file below and open it using Scratch.  Notice the "pick random_to_" block in the script. The numbers create the range that the random integer can fall under. The block works inclusively. Therefore 1 to 6 will produce numbers 1, 2, 3, 4, 5, 6.

 

teacher-scored 5 points possible 30 minutes

Finish the dice.sb program so that it creates a pair of dice. You can create your own look for the dice (color, size, etc.).

From the File menu in Scratch, choose Download to your computer. Save the file as DiceProject**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 6 of your enrollment date for this class.


09.08 Rock, Paper, Scissors

Let’s review the rules of the game Rock, Paper Scissors. This is a game that has two players using their hands. The two players each make a fist with one hand and hold the other open, palm upward. Together, they tap their fists in their open palms once, twice and on the third time form one of three items: a rock (by keeping the hand in a first), a sheet of paper (by holding the hand flat, palm down), or a pair of scissors (by extending the first two fingers and holding them apart). The winner of the round depends on the items formed. If the same item is formed, it’s a tie. If a rock and scissors are formed, the rock wins, because a rock can smash scissors. If a scissors and paper are formed, the scissors win, because scissors can cut paper. If paper and a rock are formed, the paper wins, because a sheet of paper can cover a rock.  (www.rinkworks.com)

Download the rps starter.sb file below and open it using Scratch.  Look at the variables for rock, paper, and scissors. It is easier to work with variables instead of just using numbers because it makes the code easier to read. Notice the variables for the player and computer. The computer determines if it will choose rock, paper, or scissors by using “pick random 0 to 2”. Look closely at the computer’s “when I receive showPick” script. If the condition of the if statement is false, the else part will go into effect. There doesn’t need to be a statement that says “if computer = scissors” because it is asked if it is = to rock and that is false, then it is asked if it is equal to paper and that is false, so the only thing left is for it to equal scissors.  Therefore, you can just put the “switch to costume scissors” in the else.

You will only need to change the script that starts with “When I receive determine winner” under the computer sprite. The computer side should say who wins based on each scenario or if it is a tie. 

teacher-scored 5 points possible 20 minutes

From the File menu in Scratch, choose Download to your computer. Save the file as RPSProject**. Put your first and last initial in place of the asterisks. Then upload the file.

 

Pacing: complete this by the end of Week 7 of your enrollment date for this class.


09.09 Timer

In this lesson you will make a timer that will count down from 10 to 0. View the Timer Project to complete the assignment. 

teacher-scored 5 points possible 30 minutes

From the File menu in Scratch, choose Download to your computer. Save the file as TimerProject**. Put your first and last initial in place of the asterisks. Then upload the file.

 

Pacing: complete this by the end of Week 7 of your enrollment date for this class.


09.10 Timing Game

The timing game will combine all of the concepts you have learned in Scratch.  The timer game is just like Dance Dance Revolution but on a keyboard.  You will have at least four different sprites and you have to press the correct key in time on the keyboard to receive a point.  

With the game, you should also use the broadcast message to

  • Start the game

  • Stop the game

  • Show the instructions

You will have a starting screen.  Then when the user chooses to start the game, you will broadcast a start game message to alert the sprites to start behaving in Game Mode.  

Your game should keep score of how many times the user pressed the key at the perfect time.  It should also have a timer to count down to the end of the game.  

When the game is over, you should use the broadcast message to alert the sprites to stop moving and hide.

 

Be sure to view the Timing Game Rubric to make sure you include all the requirements.

Timing Game Grading Rubric
3 or more Timed (moving) sprites 5
Use at least 4 Sprites 5
A timer for the game 5
Keep Score 5
User feedback as to how they timed their button pressing 5
Help Screen 5
Game Resets 2
Game stops 2
Does the game notify the user when it is over 2
Does the game keep track of how many "perfects" in a row 2
Does the game get harder as you keep playing 2
   
Total 40

teacher-scored 40 points possible 60 minutes

From the File menu in Scratch, choose Download to your computer. Save the file as TimingGameProject**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 7 of your enrollment date for this class.


09.11 Monkey Game

Complete the Monkey Game Project. 

teacher-scored 10 points possible 30 minutes

From the File menu in Scratch, choose Download to your computer. Save the file as MonekyGameProject**. Put your first and last initial in place of the asterisks. Then upload the file.

Upload the Monkey Game Project Worksheet also.

Pacing: complete this by the end of Week 7 of your enrollment date for this class.


09.12 Pinball Game

Complete the Pinball Project.

teacher-scored 5 points possible 20 minutes

Upload the completed worksheet.

Pacing: complete this by the end of Week 7 of your enrollment date for this class.


09.13 Final Project

Your final Scratch project is to make an original game of your choice.  Your project you will show off what you can accomplish in Scratch.  You must appropriately use the following requirements:

  • Use at least 4 Sprites
  • Use at least 1 Sprite not from the Scratch Library
  • Broadcast at least 2 messages
  • Use at least 5 control blocks 
  • Use at least one iterative block (forever, repeat, repeat until blocks)
  • Use variables appropriately

Some possible ideas (but not limited to) include:

  • Maze Game
  • Minesweeper
  • Pacman
  • Go Fish
  • RPG
  • Candy Land
  • Dig Dug
  • Frogger
  • Angry Birds
  • Flappy Bird
  • Wac-a-mole

Final Project Grading Rubric
Time and Effort 5
Use at least 4 Sprites 5
Let the player know if they win 5
Keep Score 5
Use a Timer 5
Help Screen 5
Game Resets 5
Game stops 5
Gets harder as you keep playing (more than one level) 5
Use variables 5
Use 5 control blocks 5
At least one sprite not in the library 5
Use an iterative block 5
Use the Broadcast 5
Total 70

teacher-scored 70 points possible 60 minutes

From the File menu in Scratch, choose Download to your computer. Save the file as FinalProject**. Put your first and last initial in place of the asterisks. Then upload the file.

Pacing: complete this by the end of Week 8 of your enrollment date for this class.


09.14 Unit 9 Test

Review the material from unit 9.

computer-scored 20 points possible 30 minutes

Take the Unit 9 Test.

Pacing: complete this by the end of Week 8 of your enrollment date for this class.


09.15 ePortfolio Wrap-Up

Hopefully you have been working on the ePortfolio as you've gone through the course and you have an idea of the assignments you want to highlight. If you need a reminder of what should be included in the ePortfolio, you can revisit lesson 06.01. Remember that I have already seen all of your assignments, so the reflection is the most important piece to this assignment. You can just include a simple screen shot of the original assignment and focus on the reflection.

Below is a grading rubric:

Criteria Points
Assignments: Eight assignments are represented 8
Reflection: Eight reflections have: purpose described/what was learned/why it's included/100 words each 32
Presentation: Professionally formatted, attractive layout, easy to navigate, correct spelling/grammar/punctuation 10
TOTAL 50

teacher-scored 50 points possible 60 minutes

Upload your completed ePortfolio.

Pacing: complete this by the end of Week 9 of your enrollment date for this class.