North Atlanta High School
Programming,
Games, Apps, and Society
Course Description
Are you ready to design and develop? The course is designed for high school students
to strategize, design, and develop games and mobile and desktop applications that can be produced in the real world. Students
will learn about life-cycles of project development and use models to develop applications. Attention will be placed on how
user interfaces affect the usability and effectiveness of a game or an application. Programming constructs will be employed
which will allow students’ applications to interact with “real world,” stimuli. The course exposes students
to privacy, legality, and security considerations with regards to the software industry.
Various forms of technologies will be used to expose students to resources, software, and applications of programming.
Professional communication skills and practices, problem-solving, ethical and legal issues, and the impact of effective presentation
skills are enhanced in this course to prepare students to be college and career ready. Employability skills are integrated
into activities, tasks, and projects throughout the course standards to demonstrate the skills required by business and industry.
Competencies in the co-curricular student organization, Future Business Leaders of
America (FBLA), are integral components of the employability skills standard
for this course.
Programming, Games,
Apps and Society is the third course in the Programming pathway in the Information Technology cluster. After mastery of the
standards in this course, students should be prepared to take the end of pathway assessment in this career area.
Course Curriculum Content
Course
Standards
GADOE: https://goo.gl/528zkt
Course Syllabus https://goo.gl/6R1z4Z
Course Standards |
|
IT-PGAS-1
Demonstrate employability skills required by
business and industry.
IT-PGAS-2
Describe the software application life cycle
and use a prototype development model to develop applications.
IT-PGAS-3
Design and develop applications using objects.
IT-PGA-4
Design, develop, and implement accessible and
usable interfaces, and analyze applications for engaging the user.
IT-PGA-5
Use and implement different digital representations
of media.
|
IT-PGA-6
Evaluate an application design in terms of meeting privacy needs, legal and intellectual property requirements, and
security considerations.
IT-PGA-7
Develop
applications that read real-world data from sensors, interpret the data, and respond to the real-world stimuli.
IT-PGA-8
Describe
the unique needs for information and communication technologies for diverse audiences.
IT-PGA-9
Explore
how related student organizations are integral parts of career and technology education courses through leadership development,
school and community service projects, entrepreneurship development, and competitive events. |
Instructional
Materials and Supplies
Published/Online
Materials |
Instructional
Supplies |
App Inventor
Android Studios
Code Combat
Visual Studios
HTML5, CSS3 & JavaScript–
Web 2.0 Tools http://www.programmr.com/
Codecademy
Various forms of technologies will be
used to expose students to resources, software, and applications of programming |
| |
3-ring binder,
paper, pen or pencil, headphones (if you prefer to use your own that is fine – otherwise, some will be provided)
Various forms
of technologies will be used to expose students to resources, software, and applications of programming
|
Evaluation and Grading
Assignments |
Grade Weights |
Grading Scale |
Classwork & Homework
Projects
Unit Tests
Quizzes
Final Exam EOPA& Capstone |
Formative Assessment 45%Daily
Work, Quizzes
Summative Assessment 45%Projects, Unit Tests
Final Exam 10% (EOPA & capstone )
|
A:
90 and above
B:
80 – 89
C:
71 – 79
D:
70 F: 69 or below |
Other
Information
Expectations for Academic
Success |
Additional Requirements/Resources |
1) Complete
daily classwork assignments
2) Participate
in class discussions and ask questions
3)
Participate constructively as a team member
4) Problem
solve and accept challenges
5) Challenge yourself
to continuously improve |
Various forms of technologies
will be used to expose students to resources, software, and applications of programming
Students are require to follow
APS Acceptable Computer Use Policy
·
|
LATE ASSIGNMENTS
Late work will be accepted
at the penalty of 11 points per day(including weekends), not to exceed 14 days. Penalty time will start at the end of class
when assignment is due.
Makeup
Work Policy
Students are able to
make work for any excused absence, this includes ISS or OSS.
The student has to make
up missing assignments within the time frame that they were absent or they will receive a zero for the assignment. For example,
if a student has two consecutive excused absences, they will have two days upon return to school to make up their work. It
is the students’ responsibility to ask for makeup work and arrange time with teacher to complete their assignments.
Instructional Materials/Links
,
Next
Game Development:
-
August
3, 2018 8/3-8/7 |
GPS- Standard |
8.1 Understand the need for designing software that is intuitive and user-friendly.
8.2 Conduct usability tests that help identify needs of the user based on their backgrounds, needs,
and experiences.
8.3 Identify and analyze software and applications designed for users with disabilities.
8.4 Analyze appropriate software that will engage students from diverse backgrounds and with diverse
needs.
8.5 Develop criteria and requirements for the development of applications to reach a certain segment
of society.
8.6 Analyze what issues play a part in the development of software outside the United
States for users in developed nations and for users in underdeveloped nations.
2.1 Understand the software development cycle and the iterative nature of the software development
cycle
2.2 Understand and use steps to a designing a good software product.
2.3 Use a good prototype development model to write a cellphone application or a video game.
2.4 Write easy to read programs by using user-friendly comments and naming conventions.
2.5 Test the programs for completeness and accuracy. |
EQ
SWBAT |
Intro to App LAB
EQ: What is UX and UI design and why is it important?
Students will be able to:
•Build and share their own apps in App Lab using features like buttons, text, images, sound, and screens.
•Continue building projects in full App Lab using the resources provided on the code.org/applab page.
|
Warm –up |
Directions:
How
to join my online class. To create your own accounts and join my online classroom section at: http://studio.code.org/join/JDGFFX
What is UX and UI design? |
Classwork
|
Classwork
What is UX and
UI design?
Directions:
Step1:
Optional: Partner with a code buddy. Complete Level 1-13:
Step 2:
Before you complete Level 14-15: Read: How to Create a Successful Mobile Application.
https://www.newgenapps.com/blog/bid/219838/10-steps-to-create-a-successful-mobile-application
Step 3: Before you complete Level 14-15: Submit a presentation
using Google Slide/ PowerPoint that outlines how you use the Design Process/ Problem Solving Steps to create your own App
in Level 15. https://goo.gl/7EM8TQ
http://teachers.egfi-k12.org/design-process/
The Design Process/ Problem Solving Steps
1. State the problem: What problem do you want your App to solve?
2. Generate Ideas: Brainstorm
3. Select a Solution: Defining Goals: What your App will do
4. Build the Item: Build/Create Your App
5. Evaluate: Test your App/get Feedback
6. Present Result: Present and share your App
Intro to App LAB
Listed below are the activities in App LAB
1. Setting Properties - Levels 1-4
2. Make It Interactive - Levels 5-7
3. Images and Sounds - Levels 8-9
4. Design Mode - Levels 10-13
5.
Share Your App - Levels 14-15
https://ezgif.com/webp-to-jpg
|
Next
App Project Schedule |
|
Due
Date |
Vocabulary
Quiz-
Written Quiz
Vocabulary/Key Terms
1-GIF
2-JavaScript
3-programming language
4-ID
5-The Design Process/problem solving process
6-Image property
7-setProprety()
8-onEvent()
9-double quotes
10-Design Mode ( as it relates to App Lab)
11-Multimedia
12-App Lab |
Monday August 13 |
Turn
in Rough Draft of Presentation –
Feedback: I will meet with each individual and/ or group to review presentation
and provide feedback |
Wednesday August 15 |
Presentations:
1-Students will share their App with everyone in the class.
2-Students will present their APP. |
Friday August 17 |
Presentations:
1-Students will share their App with everyone in the class.
2-Students will present their APP. |
Tuesday August 21, |
NEXT
Unit 3 - Interactive Games and Animations Chapter 1-14
September 7-13, 2018 |
Course Standard
IT-PGAS-2
Describe the software application life cycle and use a prototype
development model to develop applications. |
SWBAT
1.
Explain the software development cycle
and the iterative nature of the software development cycle.
2.
Demonstrate how to use the steps to
design a good software product.
3.
Use a good prototype development model
to write a cellphone application or a video game.
4.
Write easy to read programs by using
user-friendly comments and naming conventions.
5. Test the programs for completeness and accuracy.
|
Unit 3 - Interactive Games and Animations
Chapter 1-14 |
Essential Questions
Chapter 2: Essential Questions
1.
How do software developers manage
complexity and scale?
2.
How can programs be organized so that
common problems only need to be solved once?
3. How can I build on previous solutions to create even more complex behavior? |
Warm –up
Directions:
Define
Unit 3 vocabulary words. Test Tuesday
Chapter 1-14 Vocabulary
1.
ellipse block
2.
rect block
3.
Fill
4.
Boolean Expression -
5.
If-Statement –
6.
Expression -
7.
Variable -
8.
Boolean -
9.
Conditionals -
10. Expression -
11. Parameter –
12. Variable –
13. Property -
14. Sprite –
15. Animation –
16. Frame -
17. Frame
Rate – |
|
Chapter 1-14 Introduced Code |
|
|
|
Explain how the code function/Define code |
Introduced Code |
· fill(color) |
|
· ellipse(x, y, w, h) |
|
· rect (x, y, w, h) |
|
Introduced Code |
· background() |
|
· ellipse() |
|
· rect() |
|
· randomNumber() |
|
Lesson 5 |
· drawSprites() |
|
· sprite.scale |
|
· var sprite = createSprite() |
|
Lesson 7 |
· World.frameRate |
|
· function draw() {} |
|
Lesson 11 |
· If statement |
|
· Less than operator |
|
· Inequality operator |
|
· Less than or equal operator |
|
· Greater than operator |
|
· Equality operator |
|
· Greater than or equal operator |
|
Lesson 12 |
· keyDown() |
|
Lesson 13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CH15-21
Chapter
2: Building Games
Games
Chapter
2: Building Games |
STUDENT FEEDBACK FROM THE LESSON. https://goo.gl/zffa4y
1.Student
will write about 3 things they learned from the lesson. Indicate in your feedback if you learned a new skill, code, concept,
etc…
2. Demonstrate Concepts Learned: Student will be able to demonstrate
all concepts learned in each lesson in the Game Lab. To demonstrate concepts learned students can provide the following as
evidence, the actual code with a link to Game Lab example or a Screenshot with code.
https://goo.gl/zffa4y
|
Big Questions
· How do software developers manage complexity and scale?
· How can programs be organized so that common problems only need to be solved once?
· How can I build on previous solutions to create even more complex behavior? |
Lesson 15: Velocity |
After a brief review of how the counter pattern
is used to move sprites, the class is introduced to the properties that set velocity and rotation speed directly. As they
use these new properties in different ways, they build up the skills they need to create a basic side scroller game. |
Lesson 16: Collision Detection |
The class learns about collision detection on
the computer. Pairs explore how a computer could use sprite location and size properties and math to detect whether two sprites
are touching. The class then uses the isTouching() block to create different effects when sprites collide, including playing
sounds. Last, they use their new skills to improve the sidescroller game that they started in the last lesson.
|
Lesson 17: Complex Sprite Movement |
The class learns to combine the velocity properties
of sprites with the counter pattern to create more complex sprite movement, such as simulating gravity, making a sprite jump,
and allowing a sprite to float left or right. In the final levels the class combine these movements to animate and control
a single sprite and build a simple game in which a character flies around and collects coins.
|
Lesson 18: Collisions |
The class programs their sprites to interact
in new ways. After a brief review of how they used the isTouching block, the class brainstorms other ways that two sprites
could interact. They then use isTouching to make one sprite push another across the screen before practicing with the four
collision blocks (collide, displace, bounce, and bounceOff).
|
Lesson 19: Functions |
This lesson covers functions as a way to organize
their code, make it more readable, and remove repeated blocks of code. The class learns that higher level or more abstract
steps make it easier to understand and reason about steps, then begins to create functions in Game Lab. At the end of the
lesson the class uses these skills to organize and add functionality to the final version of their side scroller game.
|
November 12-16 |
Lesson 20: The Game Design Process |
This lesson introduces the process the class
will use to design games for the remainder of the unit. The class walks through through this process in a series of levels.
As part of this lesson the class also briefly learn to use multi-frame animations in Game Lab. At the end of the lesson they
have an opportunity to make improvements to the game to make it their own.
|
Lesson 21: Using the Game Design Process |
In this multi-day lesson, the class uses the
problem solving process from Unit 1 to create a platform jumper game. After looking at a sample game, the class defines what
their games will look like and uses a structured process to build them. Finally, the class reflects on how the games could
be improved, and implements those changes. |
Lesson 22: Project - Design a Game |
The class plans and builds original games using
the project guide from the previous two lessons. Working individually or in pairs, the class plans, develops, and gives feedback
on the games. After incorporating the peer feedback, the class shares out the completed games. |
October 30, 2018 – November 1, 2018
|
October 30, 2018 – November 1, 2018
Tuesday & Thursday
Test
Directions:
Now that you have all the skills and coding knowledge you need, it's time to explain how (
the Mario Game) was created.
1. Step1: With
a partner, choose a Mario Game/ or other games see below -you want to explain to the class how it was created using your knowledge
and skills learn in code.org lessons.
2. Step2: Choose a game and play It.! With your partner brainstorm on some of the different ideas/coding you think went into
creating the game.
3. Student will describe the game's behavior and
scope out the variables, sprites,
and functions used to create the game.
4. Student will provide sample codes used to create
the game. (A minimum of 4-5 sample.)
5. Student will provide various screenshots and/or
screen recordings of the game that supports
their findings. All screenshots & screen recordings must be labeled.
6. Student will also provide direction on how to play the game.
7. Student will teach
the class how to play their game during the interactive session of their presentation.
8. Student will
provide - Pros & Cons
9. Student will provide -
ways the game can be improve the game-
GAME SITES
· Mario-Kart-Super-circuit http://www.arcadespot.com/game/mario-kart-super-circuit/
·
Mario https://unblockedgames76.weebly.com/gba/mario-kart-super-circuit
·
Super Mario https://unblockedgames76.weebly.com/
OTHER GAMES
·
Donkey Kong - http://arcadegamesclassic.net/donkey-kong/#.W9NKOtf26N4
·
Space Invaders - http://arcadegamesclassic.net/space-invaders/#.W9NJ2tf26N4
·
Galaga
http://arcadegamesclassic.net/galaga/#.W9NKUNf26N4
· Pac Man - http://arcadegamesclassic.net/pacman/#.W9NKh9f26N4
|
.
Game
Games
November 14, 2018
|
GPS Covered:
|
IT-PGAS-3
Design and develop applications using objects.
IT-PGA-4
Design, develop, and implement accessible and usable interfaces, and analyze applications for engaging
the user.
IT-PGA-5
Use and implement different digital representations of media.
|
|
Essential Question(s): |
What makes a game addictive?
What are the top 5 game addictive? |
SWBAT: Learning Objectives: |
Create Dynamic webpages using
CSS |
Warm Up:
Time before lunch |
1. Full Screen Slide Show : Create a Full Screen Slide show https://codepen.io/bradtraversy/pen/boydaE .
2. Create a short Bio with your image
and some info about you. Your Bio must be 375 wordshttps://codepen.io/FrankieDoodie/details/PdpLKW/
|
Tasks: |
Student will upload FEEDBACK links from
lessons 15-19
Discuss how to complete the coding Lesson.
Game Presentation start after lunch. |
Classwork
|
1. Student will upload
Game Presentation link before lunch.
2. Game
Presentation start after lunch. |
Homework |
Weekly Reader:
MTA: Gaming Development Fundamentals Exam 98-374--Book - https://goo.gl/MFZRL1
Practice Questions - http://www.testdumps.com/tag/98-375-practice-exam-free
Android Studio: Build Your First- Android App https://goo.gl/ntMXLY
How to publish your apps https://developer.chrome.com/webstore/overview
https://developer.android.com/guide/topics/manifest/manifest-intro |
Daily Lesson Plan
Hour of Code
Programming & Appp Hour of Code
Date: December 3-7, 2018
|
GPS Covered:
|
CSTA K-12 Computer Science Standards (2017)
·
AP - Algorithms & Programming
·
Cross-curricular Opportunities
·
This list represents opportunities in this lesson to support standards in other content areas.
·
Next Generation Science StandardsETS - Engineering in the Sciences |
Essential Question(s): |
What is
App Inventor? |
SWBAT: Learning Objectives: |
At the end of today's activities, you should be able to:
Students will be able to
1.
Create a Text to Speech App with
App Inventor
2.
Create a Speech Recognition
3.
Create an App that allow you to Draw-
4.
Create an App that will allow you Take a Picture
5.
Create an App that will allow you Make a Video |
Warm Up: |
Start Here: Create an account:
http://code.appinventor.mit.edu/?locale=en&repo=http://appinventor.mit.edu/yrtoolkit/yr/aiaFiles/talk_to_me/TalkToMe.asc
IOS USER-
https://thunkable.com/#/ cross-platform
On Thunkable, every app project you create works on both Android and iOS devices. It's pretty magical.
Assignment Link: https://goo.gl/fktEZM
|
Tasks: |
Hour of Code
Create an account:
http://code.appinventor.mit.edu/login/?locale=en&repo=http://appinventor.mit.edu/yrtoolkit/yr/aiaFiles/talk_to_me/TalkToMe.asc
Coding tutorials for building mini-apps with App Inventor.
·
This assignment is a Summative Grade: No partners,
however you talk to collaborate,
· Duration: 2 Class period
· Due: before the Lunch of Class Wednesday
1. How to use the Quick Start cards
2. Connect to the Phone/Tablet
3. Text to Speech -15points
4. Shake it -5
5. Speech Recognition -15points
6. Drawing -10points
7. Fling a Ball - 5
8. Tilt to Move -5
9. Take a Picture -15points
10. Make a Video -15points
11. Install your App on the Phone/Tablet -10 ( I have an android device)
12. Use the Backpack to copy code -5
13: How to Merge Apps https://goo.gl/c9639x |
Classwork
|
Hour of Code
App Inventor Maker Cards: Quick Start Guides
Assignment Link: https://goo.gl/fktEZM
OVERVIEW: App Inventor Maker Cards: Quick Start Guides Grade Level:
6-8 -9-12
This set of cards can be used in a HOUR OF CODE o event. They give quick tidbits of code for building mini-apps with
App Inventor. Use them in exhibits, parent nights, STEM fairs, after-school clubs, or anywhere that you need to get people
jump-started using App Inventor.
IOS USER-
https://thunkable.com/#/ cross-platform
On Thunkable, every app project you create works on both Android and iOS devices. It's pretty magical.
Beta for IOS http://doesappinventorrunonios.com/ If you would like to check on MIT's development progress, please visit doesappinventorrunonios.com
at any time. This site presents progress on implementing the specific blocks and components of App Inventor iOS.
MIT App Inventor
MIT App Inventor is an intuitive, visual programming environment that allows everyone – even children –
to build fully functional apps for smartphones and tablets. Those new to MIT App Inventor can have a simple first app up and
running in less than 30 minutes. And what's more, our blocks-based tool facilitates the creation of complex, high-impact apps
in significantly less time than traditional programming environments. The MIT App Inventor project seeks to democratize software
development by empowering all people, especially young people, to move from technology consumption to technology creation.
Blocks-based coding programs inspire intellectual and creative empowerment. MIT App Inventor goes beyond this to provide real
empowerment for kids to make a difference -- a way to achieve social impact of immeasurable value to their communities.
Start Here: Create an account:
http://code.appinventor.mit.edu/?locale=en&repo=http://appinventor.mit.edu/yrtoolkit/yr/aiaFiles/talk_to_me/TalkToMe.asc
Assignment Link: https://goo.gl/fktEZM
Additional Resources:
http://appinventor.mit.edu/explore/
|
Homework |
|
Daily Lesson Plan
Hour of Code
Date: The Final December 10 –December 20
Programming Gamming & Apps |
GPS Covered: |
IT-PGAS-3Design and develop applications using objects.
IT-PGA-4Design, develop, and implement accessible and usable interfaces, and analyze
applications for engaging the user.
IT-PGA-5 Use and implement different digital representations of media. |
Essential Question(s): |
How can you make sure your APP is fully functions and free of bugs |
SWBAT: Learning Objectives: |
1. Create an Android App using android studios.
2. Packaged the App as an APK so
it can be downloaded to an Android phone/device.
3 Create a fully functional Android App that is free of bugs. |
Warm Up: |
Create a Folder on Google Drive for your App APK. |
Tasks: |
Students will create and customize
1. The goal is to create
an Android App using android studios.
2. The Android App must be packaged as an APK so it can be downloaded to an Android phone/device.
3. The Android App must
be fully functions and free of bugs. |
Classwork
|
20- Build your first app in Android Studios (tutorial)
https://developer.android.com/training/basics/firstapp/
30 points Build a simple user interface - (tutorial) https://developer.android.com/training/basics/firstapp/building-ui
10 points - Require- Use your First & Last Name -
10points -Change the Default Color to Red, Green, Black, Orange, or Pink.
30 points - The
Android App must be packaged as an APK so it can be downloaded to an Android phone/device.
The Android App must be fully functions and free of bugs.
Create a Folder on Google Drive for your App APK.
|
Homework |
|
Daily Lesson Plan
The Final
|