GameMaker Final Project

Download a free/lite edition of GameMaker 8.1.141 for home use.

All Resources are also on the Shared Drive

S:\Student Shared Files\COMPUTER SCIENCE\GameMaker

  1. Always, always, always save everything on your H:\ drive in a folder H:\GameMaker\ otherwise you will receive a 0 for your game since I cannot grade them. Save your Game EVERY TIME YOU CHANGE IT, BEFORE YOU RUN IT.
  2. If you haven’t already, Install GameMaker 8.1 Lite from the Shared Drive (see above)
  3. Refer to the GameMaker FAQs first when you have a question.

Resources

  1. The #1 resource that explains virtually everything — Press the F1 key for the GameMaker Help File
  2. GameMaker FAQs

Projects

First, read The Foundations of Good Game Design and then read What is a Good Game?

View 2018 Rubric Here (Note: this will count as a final project and as the final exam, part 1)

Create your own custom animated sprites

Create your own custom sound effects

Other tools

  • ShoeBox – pack your sprites, texture ripper, read sprites, animate sprites, bitmap font, frame sheet, extract sprites, sprite pivots, split PSD, slice 9, extract tiles, mask image.
  • Tiled Map

006 ASCII

Overview

The purpose of this lesson is to introduce you to the ASCII encoding scheme, which allows us to begin interpreting the 0s and 1s of binary as letters and punctuation, and thus begin to represent textual data. In learning about ASCII, you’ll also learn a bit about standards (and the fact that standardizing on a set of encodings can be completely arbitrary) and protocols, detect patterns that make ASCII a little bit smart, and see just one of the many ways we’ll learn about in the course that binary data can be interpreted as something more meaningful.

Opener

  1. With one person sitting to your left or right, think back to what we learned about binary. Discuss how a computer might represent letters, symbols, or characters if it can only understand 0s and 1s. Can you create a way to encode and decode 0s and 1s to represent letters, symbols, and other characters on the keyboard?
  2. Talk with another group and see what their solution to the problem is and discuss the similarities and differences. Did you both represent “a” in the same way as the other group?
  3. How might you fix the problem of everyone coming up with their own system of representing characters?

Videos

  1. David’s Lecture (YouTube) : 18:26 to 19:57
  2. Nate’s Short (YouTube)
  3. David’s Lecture (MP4 download) : 18:26 to 19:57
  4. Nate’s Short (MP4 download)

Resources

  1. slides
  2. study
  3. ASCII chart with bit patterns
  4. ASCII chart with decimal, binary, octal and hex
  5. reference sheet

Activities

  1. Discuss ASCII: Take a closer look at the ASCII table and see if you can find any patterns in it.
  2. Crack the code: Can you decode the secret message I’ve encoded in binary?
  3. Messages: Write your own short (10-character max) and school appropriate message in binary and post it to Piazza.

Thought Questions

  1. Why do we need ASCII at all? What problems might we face if we didn’t have it?
  2. Can you write your name in binary/decimal using ASCII number codes?
  3. Who might not be able to write their name in ASCII? What does that tell us?
  4. ASCII was written as a 7-bit encoding scheme in 1963, but bytes are 8 bits (since it was standardized in the 1990s). Why do you think that is? What do you think that might mean about other historical standards?
  5. In most of our messages, are we using all of the characters in the ASCII table?

Learning Objectives

  • LO 2.1.1: Explain the variety of abstractions used to represent data.
  • LO 2.1.2: Explain how binary sequences are used to represent digital data.

Enduring Understandings

  • EU 2.1: A variety of abstractions built on binary sequences can be used to represent all digital data.

005 Binary

Previously in CS

  1. Computers & Computing?
  2. Hardware
  3. Bits & Bytes
  4. Memory

Overview

The purpose of this lesson is to introduce you to the concept of binary numbers, which are fundamental in understanding the way computers represent information. Analogies are made to the decimal (base 10) number system with which you are intimately familiar, the purpose of which is to not only introduce you to binary numbers, but also prepare you for encountering other number systems, such as hexadecimal, to be discussed later in the course. You will also learn how to represent values in binary and how to convert between binary and decimal using rudimentary algorithms. Woot!

Opener

  1. How might you use the fingers on one of your hands to count as high as 31?
  2. How might you use the fingers on both of your hands to count as high as 1,023?

Videos (these have been downloaded to S:\Student Shared Files\Computer Science)

Resources

  1. notes
  2. study
  3. Read these slides
  4. Play this game (beat my high score and then beat Robert’s (A2) high score of 26,300)
  5. NumberMonk
  6. reference sheet

Thought Questions

  1. If you have four binary bulbs (8s/4s/2s/1s places), how can you represent the number 0? 6? 11? What about 16?
  2. Are base-2 and base-10 the only possible number systems? What would a base-3 system look like? How would I represent the number 50 in base-3? What about in base-8? In base-16? : NOTE: Base-8 (octal) and base-16 (hexadecimal) will pop up again later in the course. In particular, how do you represent the “digits” for ten, eleven, twelve, thirteen, fourteen, fifteen?

Recap(itulation)

In your own words, what did you learn today?

Learning Objectives

  • LO 2.1.2: Explain how binary sequences are used to represent digital data.

Enduring Understandings

  • EU 2.1: A variety of abstractions built on binary sequences can be used to represent all digital data.

004 Memory

I’m out sick for at least the first half of the day today. Read everything below and download and watch the video lecture. Finally, begin working on your Tech Spotlight write-up in Google Docs and copy/paste it into Piazza if you finish.

Previously in CS

We took a deeper dive into the various hardware components of a computer. We focused on a consumer perspective so that you would be more informed about what you “need” in a computer if and when you’re looking to purchase one. We also discovered that one must know the purpose for which they are purchasing a computer in order to make the best purchase. Do you want a school or work computer? Do you want to edit videos, produce music, and design graphics? Do you want to play games? All of the above? The things you wish to do with a computer should inform which computer you purchase.

Overview

The purpose of this lesson is to refine your vocabulary about what “memory” on a machine means, and how asking the question, “How much memory does your computer have?” is really far too simplistic. Five major types of memory that are part of nearly every computer system are discussed — hard disk drives (HDD), random-access memory (RAM), L2 and L1 cache, and the small bank of memory inside of a CPU. You will learn what a 32-bit and 64-bit machine mean, and also about the standard sizes and costs of these various types of memory, and thus the trade-offs that must be made when assembling a machine, optimizing for performance and cost.

Opener: Thought Questions

  1. How much memory does your computer have? How come some are different amounts?
  2. Why are some numbers wildly varying? Are we talking about the same “memory”?
  3. Why do you think RAM costs more than HDD space?
  4. Why are there so many different “levels” of memory?

Videos

  1. David’s Lecture (YouTube) : 1:25:56 to 1:37:40
  2. David’s Lecture (MP4 download) : 1:25:56 to 1:37:40

Resources

  1. Memory – Slides
  2. An hour glass is a good analogy of a CPU’s memory bottleneck.
  3. Memory – Reference Sheet

Writing Problem

  1. Tech Spotlight – due by 11:59 pm on Monday, 9/25
  2. Type your write-up in a Google Doc. Once you’ve reviewed and edited it as well as had a peer review and edit it, you may copy/paste it to Piazza.

Recap(itulation)

  1. Summary

Learning Objectives

  • LO 2.2.3 : Identify multiple levels of abstractions that are used when writing programs.

Enduring Understandings

  • EU 2.2 : Multiple levels of abstraction are used to write programs or create other computational artifacts.

 

003 Hardware

Previously in CS

  1. Bits and Bytes

Overview

Computers have a lot of moving parts, but what are they and how do they work together? A few classes ago we learned all about motherboards and what happens when our computer turns on. In this module, we take a deeper dive into exploring devices that plug into the motherboard a bit more, and giving us a consumer-oriented perspective on things to consider when we are purchasing or building our own machines. The purpose of this module is to make you more informed technological consumers and to think more about the technological implications of hardware.

Opener

  1. With the person sitting to your left or right, make a list of all the hardware you have heard of.
  2. Go back through your list and identify the purpose or function of each part.

Videos

  1. The videos for today have all been downloaded and saved to the shared drive.
  2. Click the folder icon near the bottom left of your screen and go to S:\Student Shared Files\COMPUTER SCIENCE\09-15-2017 – video 1.mp4
  3. Next watch video 2 located in the same folder.
  4. You may use your own headphones or the ones in the box behind the green couches.
  5. David’s Lecture: Part 1 (YouTube) : 3:48 to 57:11
  6. David’s Lecture: Part 2 (YouTube) : 1:06:00 to 1:38:06
  7. David’s Lecture (MP4 download) : 3:48 to 57:11 and 1:06:00 to 1:38:06

Activity/Mini-Project – Tech Shopping

  1. You will be placed in groups of three and given a budget to buy a computer for a specific purpose.
  2. You must try to get the “most bang for your buck” while not losing focus of the purpose of the computer.
  3. You must create a Google Slides presentation to show the options you considered (at least 3 or more).
  4. You must defend the choices and sacrifices you made.

Resources

  1. Hardware – Slides
  2. Apple.com
  3. Dell.com
  4. NewEgg.com
  5. PCPartPicker.com
  6. CyberPowerPC.com
  7. A closer look at (outdated/broken) hardware.
  8. HDD vs. SSD: what’s the difference?
  9. Where Do Deleted Files Go?
  10. Hardware – Reference Sheet

Field Trip to Tech Rooms: we will plan a visit to the various server rooms throughout the school. Our SYSOP will share some technical details about their work at the school with you, and you will have the chance to look at the actual servers and other innards of the Lee-Davis network.

Thought Questions

  1. Why has USB become such a ubiquitous standard?
  2. Relatedly, why might Apple and other organizations want to avoid using those standard ports?
  3. Are there ever any reasons to prioritize owning an HDD over an SSD?

Recap(itulation)

  1. Thinking about hardware and software from a consumer perspective.

Learning Objectives

  • LO 7.2.1: Explain how computing has impacted innovations in other fields.

Enduring Understandings

  • EU 7.2: Computing enables innovation in nearly every field.

002 Bits & Bytes

Previously in CS

  1. How Computers Work
  2. The Guts of a Computer

Overview

Data and storage on a computer all boil down to a fundamental unit of measure — the bit, which can only take on two possible values: yes or no, true or false, on or off, or most fundamentally: 0 and 1. By combining bits into larger and larger groups we can become substantially more expressive, and some patterns in those combinations of bits can enable us to treat data as not just “yes or no”, but as letters, music, images, videos, websites, and so much more. You will learn about bits and their larger brethren — bytes, kilobytes, megabytes, gigabytes, terabytes, and things that are still larger, such as petabytes and exabytes and yottabytes. A comparison of storage media from days past also takes place, demonstrating how computers have become more and more space- and data-efficient over time.

Opener

  1. Take a look at the floppy disk, zip disk, CD, DVD, HDD. What are these and how are they similar? How are they different?

Videos

  1. David’s Lecture (YouTube) : 1:03:02 to 1:13:01
  2. David’s Lecture (MP4 download) : 1:03:02 to 1:13:01

Resources

  1. Bits and Bytes – Slides
  2. Conceptualize Data
  3. Old Tech: A 1/4″ floppy.
  4. Hit Clips – video, wiki
  5. Scale of the Universe 2 – site, video
  6. Visualize Data – interactive infographic
  7. Visualize a YottaByte – infographic
  8. Bits & Bytes Reference Sheet

Example: If a single bit were about the size of a single marble filled with water:

  • 1 bit — a marble full of water
  • 1 byte — 1/8 cup water
  • 1 kilobyte — 9 gallons of water
  • 1 megabyte — an above ground swimming pool full of water
  • 1 gigabyte — a football field sized-pool of water, three feet deep
  • 1 terabyte — a football field sized-pool of water, half a mile deep

Finish Around the House write-up and post it to Piazza before midnight on Friday, 9/15.

Learning Objectives

  • LO 2.1.1: Describe the variety of abstractions used to represent data.
  • LO 2.1.2: Explain how binary sequences are used to represent digital data.

Enduring Understandings

  • EU 2.1: A variety of abstractions built on binary sequences can be used to represent all digital data.

001 How Computers Work

Previously in CS:

  • What is a computer?
  • What is computing?

Overview

Let’s peel back the curtain a little bit on what happens when we press the power button on our computers. What does that BIOS screen mean? What’s a driver, and why does my computer need one? How do our computers know what to do when we type on our keyboard or click our mouse? What are all of those ports on the back of my computer? And what the heck is a logic gate? This module is about giving you just a tiny bit of technical information about what’s going on underneath the hood, so you are able to speak competently about it in conversations with others, or at least understand what’s being talked about when technical acronyms (SATA, IDE, VGA, HDMI, CMOS…) start popping up in your research.

Opener

  1. With the person on your left or right, make predictions of what happens when a button is pressed or the mouse is clicked on a computer.

Videos

  1. Tommy’s Lecture (YouTube) : 0:22 to 36:15
  2. Tommy’s Lecture (MP4 download) : 0:22 to 36:15

Notes from Video Lecture

How Computers Work – slides

Demonstration

Old computer! We will take an obsolete, non-functioning computer and harvest that computer for demo parts. We will carefully extract the motherboard and use it to learn about the various components.

Thought Questions

  1. What if we didn’t have a BIOS? Or a CMOS? What would happen to our computers?
  2. Why do you think the kernel is separate and distinct from the operating system in general? What would be some of the ramifications of removing that abstraction and letting the user tap into the kernel directly?

Learning Objectives

  • LO 2.2.3 : Identify multiple levels of abstractions that are used when writing programs.

Enduring Understandings

  • EU 2.2 : Multiple levels of abstraction are used to write programs or create other computational artifacts.

000 Computers and Computing

videos for my absence Friday, 9/8:

  1. Here is the full video that you’ll need to download and then open to watch ** FIXED **. You’ll need to click the Blue download button.
  2. The link above is the two videos below stitched together… use a YouTube video downloader if these are blocked
  3. https://youtu.be/yDzgWXousxo
  4. https://youtu.be/sAOcw-MxMPw

Overview

Computers are everywhere, but it’s not just desktops and laptops anymore. Now we have tablets, cell phones, watches, and so much more that perform the same functions. Today we will be challenged to consider what makes a computer a computer, thinking about the common bonds that unify all those things which we call “computers,” and also to think outside the box to some things that are computers, but not in the traditional sense.

Opener

  1. On the fence: everyone will stand on the line. You must determine whether each picture I show you is a picture of a computer or not by moving to one side of the line or the other. If you really are unsure you may remain “on the fence.”

Lesson

Computer or not a computer?

What is a Computer? slides.

  1. Wii U
  2. Apple Watch
  3. The Astounding Curta Mechanical Calculator
  4. Marble adding machine
  5. Sundials

What is computing? slides.

–A2 stopped here on Thursday, 9/7–

The Phone Book Demonstration (will be done during Algorithms lecture)

Thought Questions

  1. What characteristics define a computer?
  2. What is programming? Are there ways of “programming” a machine that does not involve writing code?
  3. What devices in your life are computers? Think outside the box. What about things like microwaves, dishwashers, remote controls, and cars?
  4. What types of things do you compute every day?
  5. When you play board games, are you computing? What are you computing?
  6. Think specifically about passive computing. What types of things might you do that don’t involve you actively using a computer, but still might be considered computing.
  7. Is it still considered computing if you get the wrong answer? What are the essential components of computing and computation?

Writing Problem

  1. Read Around the House and create a Google Doc with your Schoogle Account (lunchID@hcps.us) to write out your answer.
  2. Once finished, copy and paste your write-up into Piazza.
  3. Respond to at least one student’s post.
  4. Compile a list of things that fall into three categories:
    1. definitely a computer
    2. definitely not a computer
    3. maybe a computer?
  5. Assessment

Summary Notes

  1. Computers and Computing

Learning Objectives

  • LO 2.1.1 : Describe the variety of abstractions used to represent data.
  • LO 3.1.1 : Use computers to process information, find patterns, and test hypotheses about digitally processed information to gain insight and knowledge.
  • LO 4.1.2 : Express an algorithm in a language.
  • LO 4.2.4 : Evaluate algorithms analytically and empirically for efficiency, correctness, and clarity.

Enduring Understandings

  • EU 2.1 : A variety of abstractions built on binary sequences can be used to represent all digital data.
  • EU 3.1 : People use computer programs to process information to gain insight and knowledge.
  • EU 4.1 : Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages.
  • EU 4.2 : Algorithms can solve many, but not all, computational problems.

000 CS0 Meet & Greet

Computer Info Systems

Day 1 – Overview

Homework

  • Read, sign, and return syllabus.
  • Read, sign, and return Student Release Form.
  • Complete the Parent & Student Info Form
  • $12 Technology Fee must be paid via MySchoolBucks or to Bonnie Diehr in the front office.
  • Sign up for Remind Text Messaging.