Skills USA – TJ Programming Contest – 2018

Computer Programming – Contest Description: 
http://www.skillsusa.org/competitions/skillsusa-championships/contest-descriptions/ > scroll down and expand Computer Programming.
National Standards for Skills USA Programming: skillsUSA_computerProgrammingStandards
Prompt for 2018 TJ competition: Skills_CompProgramming_TJ_2018prompt

Competition consists of project coding and output.  Program specifications are in the prompt above.  Project specifications are written for Visual Basic, Java, C#, C++ and RPG. The projects will be saved in student’s Google Drive in a folder called: SkillsUSA_firstNameLastName
Completed program folders should be copied to:
\\457-107-S01\FornstromDropBox\SkillsUSA2018 
Copy the entire project folder to the dropbox.
DUE: end of period 8 on Friday 2/9.

Rubric: 
Completeness (25 pts)
Correct Output (20 pts)
Validate Input (10 pts)
Internal Documentation (comments) (10 pts)
Code Efficiency (10 pts)
Work Quality (25 pts)

Advertisements
Posted in Pathways, Software Engineering 1, Software Engineering 2 | Leave a comment

SWE1 – 10/3/17 to 10/24/17 – GameMaker – Final Project

Objectives:
What are you doing?
 Students will create a story outlining the design of a game to create in Game Maker Studio, create assets, program, test and refine the game.
Why are you doing it?  To demonstrate a basic understanding of game design, programming, and game development.
What tools are you using?  Game Maker Studio, graphic design software, other tools as needed.
How will you know you are successful?  Students will have designed and created a complete game in Game Maker.

IN-CLASS:
You will have 14 class days to design and create a new game with Game Maker.  The final game project is DUE at the end of class Friday 10/20 (revised to end of class Tuesday 10/24).
In Google Classroom, complete the Planning Template for your game and turn in to Classroom.  Include:
– Project Story
– Project Timeline
– Project Resources
DUE:  end of class Wednesday 10/4/17 (10 points)

The game story should be completed in the Project Vision section of the Plan and include details of the following:
– Game Objective and rules
– # of Players
– Setting (backgrounds, scrolling?, # of rooms)
– Characters, including their role and capabilities
– User Controls (mouse, keyboard)
– Health/Lives/Scoring
– Levels/Difficulty options
– Features (sound, animations, dialog)
– Other details required for the reader to construct a mental image of the game.

The Timeline is a breakdown of major work tasks and an estimate of how long each task will take and a due date.  For this project, you should have a minimum of 10 tasks in your timeline.
The Resources section needs to include software and documentation used to complete the project.

PROJECT RUBRIC:
cctm_gamemakerprojectrubric

DAILY CLASS AGENDAS:
Daily Work  Objectives:
·Questions?? – Have questions ready so we can answer them for the whole class.
·Project Work.  Pay attention to the project timeline.  We need to make adjustments if you are significantly behind.
·Project DUE Friday 10/20/17, end of class.    

INDIVIDUAL QUESTIONS??
·Ask someone in the class to look at the issue.  Help each other!
·Document the question with the Question Format on the side wall.  Mr. Fornstrom will have an answer for tomorrow’s class.

GAMEMAKER EXAMPLES:

Map a network drive – in Windows Explorer: choose Tools > Map Network Drive > type:
\\457-107-STU2A\Fornstrom_DropBox
GameMaker example files are located at:  \Fornstrom\ClassResources\GameMaker

TURN IN:
When finished, copy the project folder to the server:
\\457-107-STU2A\Fornstrom\_F17_ProjectDropbox\FinalGameMaker\pd
File name format = pd_lastName_assignName

Posted in Software Engineering 1 | Leave a comment

SWE1 – 9/25/17 – GameMaker Intro #4 – Scrolling Tutorial

Objectives:
What are you doing?
 Students will be guided through an introductory Game Maker Studio tutorial to create a Scrolling Shooter game.
Why are you doing it?  To gain a basic understanding of the Game Maker scrolling system and object generation.
What tools are you using?  Game Maker Studio
How will you know you are successful?  You will have created a Scrolling Shooter game with Game Maker.

GAMEMAKER STUDIO > SCROLLING SHOOTER TUTORIAL
1. Open Game Maker > click on the Tutorials tab > expand Yo Yo Tutorials > expand Beginner > highlight Scrolling_Shooter_Part1 > set the Project Directory to your Google-Drive folder > Project Name should be pd_lastName_scrollingShooter > Ex= 3_Fornstrom_scrollingShooter > click Create button. If it asks to download tutorial, click Yes.
2. Follow the steps in the tutorial, there are 9 pages.  If the tutorial is not visible, click Help > Open Tutorial Panel 
3. Show Mr. Fornstrom for points when the program is complete and works correctly.

RUBRIC: 20 points, DUE end of class Th. 9/28
The purpose of this project is to complete both Part 1 & Part 2 of the basic Scrolling Shooter tutorial in Game Maker.  Show Mr. Fornstrom the working programs when you are finished with each part.

Posted in Software Engineering 1 | Leave a comment

SWE1 – 9/20/17 – GameMaker Intro #3 – Gravity

Objectives:
What are you doing?
 Students will be guided through an introductory Game Maker Studio tutorial that applies gravity to a character.
Why are you doing it?  To gain a basic understanding of programming gravity and using gravity in Game Maker games.
What tools are you using?  Game Maker Studio
How will you know you are successful?  You will have created a Game Maker program in which the main character is able to jump and is affected by gravity.

GAMEMAKER STUDIO INTRODUCTION
1. Open Game Maker and create a new project named pd_lastName_characterGravity > save to your Google-Drive folder.  Ex= 3_Fornstrom_characterGravity 
2. Import the following sprites into the game: character, block.
ball block
Right-click > Save Image As > choose location in Google-Drive.
They are also saved at:
\\457-107-STU2A\Fornstrom_Dropbox\Fornstrom\ClassResources\GameMaker
3. Create a wall object (objWall) that uses the wall sprite, is solid, but has no events.
4. Create a main character (objHero) that uses the character sprite.
5. Events for the main character:
– Step: if collision free below the character (Relative, x=0, y=1)
gravityStep
Set gravity: direction=270, gravity=0.5
else, set gravity: direction=270, gravity=0 (no gravity b/c we’re on a platform)
Limit the speed: Test variable > variable: vspeed > 12  THEN Set Variable: vspeed=12

– Collision with wall:
gravityCollision
Move to contact > direction: direction > maximum: 12 > against: solid objects
Set Vertical Speed = 0 (you are stopping the character if he is on a wall)

– Up key: If there is a collision below the character, jump!
gravityJump
Check Collision: x=0, y=1, Only solid, Relative, NOT
Set the vertical speed = -10  (jumping 10 pixels into air)

– Move keys: If the location character wants to move is open, move!
gravityMove
For left key: If position is collision free >x=-4, y=0, Relative
Jump to position: x=-4, y=0, Relative

6. Add Hero and walls to the room and test the program to see if the character can jump from the walls and falls when there is not a wall under him.
7. Make the room scroll by following Hero:
– Choose Views tab in room settings.
– Click ‘Enable the use of views’.
– Click ‘Visible when room starts’.
– View in room: W=500, H=400
– Object following: objHero
– Hbor: 200, Vbor: 150

8. Design your own scrolling screen.  Update your character look. Determine objective for game.
9. DUE end of class Th. 9/21.  Show Mr. Fornstrom for points when the program works correctly.

Posted in Software Engineering 1 | Leave a comment

SWE2 – 9/12/17 – AP CSP – Programming Languages and Algorithms

Objectives:
What are you doing?
 Students will be guided through introductory programming lessons using the code.org website and App Lab to create basic programs.
Why are you doing it?  To gain a basic understanding of programming, algorithms and the JavaScript programming language.
What tools are you using?  code.org, JavaScript
How will you know you are successful?  You will have completed Unit 3 – “Programming & Algorithms” in the code.org Computer Science Principles course.

Join the class in code.org:
http://studio.code.org/join/ZCYTDR

Day 1: The need for programming languages
1. Create​ ​Your​ ​LEGO​ ​Arrangement – use 20-25 LEGO blocks and connect into a single arrangement. Try to choose something interesting or challenging to test your instruction-giving abilities. (10 minutes)
2. Record​ ​Your​ ​Arrangement – take a photo of the arrangement.
3. Write​ ​Instructions – Write a clear and precise set of instructions your classmates can follow to build this arrangement on their own, without diagrams or pictures. That is, your instructions may only use words, so you cannot use pictures to help you. Print instructions and place in zip-loc with LEGO blocks. (15 minutes)
4. Test instructions – another group tests the instructions and analyzes their effectiveness.

Posted in Software Engineering 2 | Leave a comment

SWE1 – 9/1/17 – GameMaker Intro #2 – Character Movement

Objectives:
What are you doing?
 Students will be guided through an introductory Game Maker Studio tutorial. Students will import character sprites and use the sprites for a character that they program.
Why are you doing it?  To gain a basic understanding of programming character movement in Game Maker.
What tools are you using?  Game Maker Studio
How will you know you are successful?  You will have created a Game Maker program in which the main character moves in 4 directions with the arrow keys, and stops when all keys are released.

GAMEMAKER STUDIO INTRODUCTION
1. Create a desktop shortcut for Game Maker Studio.  Right-click on the Start icon and choose Open Windows Explorer > click Computer > click Local Disk C: > click GameMaker-Studio-Education > right-click on GameMaker-Studio > click Create Shortcut.  Drag the shortcut you created to the desktop.
2. Open Game Maker and create a new project named pd_lastName_characterMoves > save to your Google-Drive folder.  Ex= 3_Fornstrom_characterMoves

RUBRIC: 100 points, DUE: Tues. 9/19, end of class
Copy project folder to drop box at:
\\457-107-STU2A\Fornstrom_Dropbox\_F17_ProjectDropbox\characterMoves\pd*
– At least 5 well-designed sprites for main character
– Character moves in 4-directions with arrow keys
– Character cannot move through walls unless it is part of design (i.e. secret walls)
– Score, lives, or health displayed
– Good objects add to score, lives, or health
– Bad objects subtract score, lives, or health
– Intro Screen: Objective, how to play (controls), creator, date created
– At least 2 levels
– Interesting maze in each level
– Accepted design concepts followed, design created by student
– No errors
– Extra features included, determined by creator (ideas: sound, extra characters, explosions, projectiles, secret passages, particles)

Posted in Software Engineering 1 | Leave a comment

AP CSP – 8/31/17: Join Google Class; Karel Final Program; Karel Unit Test

Log in to Google Classroom and join the class with code: cxrv4q

Karel Final Program 
After finishing all lessons in the Karel unit, work with a partner to create a final JavaScript program with Karel.
Steps to turn in to Google classroom.  Turn in 1 planning document for each 2 person group.  Steps 1-3 below can be included in the same document, DUE Tuesday 9/5 (15 pts).
1. Project Brainstorm:  
In this project, you’ll get to combine the skills you’ve learned to paint a digital image using Ultra Karel.
In this exercise, you’ll brainstorm a few ideas for potential final projects, and think about how you might implement them.  Think about what exactly you want to create. What will be the purpose of your creation?  Come up with at least 3 different project ideas. For each project idea, answer the following questions:
1. What is the project idea? What will you create?
2. What is the purpose of this project idea? Why do you want to make this?
3. What are some specific functions you’ll need to write to create this project?
4. How long do you think this project will take to complete?

2. Planning your Project:
Now that you’ve decided what you’ll be creating, it’s time to use Top Down Design to break up your project into manageable problems!
Work with a classmate to figure out how you can break your project down into smaller problems that you can solve and test out one by one. We call these small problems milestones, or checkpoints. Estimate how long each of these problems will take to solve.
List out each of your milestones, and how long each will take to complete. This will help guide you when you’re writing the code for your project.
For example, in the Two Towers Karel exercise, the milestones might look like this:
1. Write code to make Karel build a single tower, and test this code. (about 20 minutes of work)
2. Write code to make Karel come back down after building a tower, and test this code. (about 15 minutes of work)
3. Write code to have Karel build the first tower and come back down, and test this code (about 5 minutes of work)
4. Write code to have Karel build both towers side by side and end on top of the second tower, and test this code (about 10 minutes of work)
Discuss your milestones with your teacher before you start to code!

3.  Solve problem with Pseudocode
Before diving in and writing the code for your final project, it’s important to figure out exactly what code you’ll need to write. We write pseudocode to plan out programs at a high level, before writing actual code. That way, we can think about the problem and solve it without getting caught up in the specifics of coding. Once we have written pseudocode that solves the problem, it is much easier to translate the pseudocode into real code.

Write out pseudocode that solves each of your milestones.

Write out pseudocode for each of your milestones for your final project! Discuss your pseudocode with a partner before moving on to the coding portion of the final project. Can you explain why your pseudocode is correct? Will your solution work on Karel Worlds of different sizes?

4. Use Karel to create final program (20 pts)
Show Mr. Fornstrom the final image.  DUE Friday 9/8.
Monday 9/11:  Demo final digital image to the class.  Include explanation of at least 1 interesting feature.  What are we looking for:
– Decomposition: use functions!
– Comments: explain what sections of code do
– Control structures: use loops; decisions statements-impact of If If If vs. If … Else If
– Interesting Image!

By Friday 9/8:
– Complete the Karel Unit Test in Lesson 18, .4pts/question. Remember that “Streets” are the vertical axis, increasing from bottom to top; “Avenues” are the horizontal axis, increasing from left to right.  10 pts

Posted in Software Engineering 2 | Leave a comment