SWE1 – 3/4/20 – VB.net – Quiz Program Rubric

Objective:
What are you doing?  We are learning project planning and problem solving techniques and using them to create an educational quiz program with VB.net.  The quiz content will cover one of our current classes.
Why are you doing it?  To demonstrate our knowledge of basic programming concepts.
What tools are you using?  VB.net, class notes, instructor-led tutorials
How will you know you are successful?  We will have a quiz program that is suitable for use in the academic subject that it tests.

Agenda: 
Use VB.net to create a quiz program that addresses the current content of one of your classes.  The quiz needs to have a minimum of 8 multiple choice questions or 15 True/False questions.  The program must have an attractive interface design.

Rubric & Coding Notes:
VB_edQuizRubric

DUE end of class Tues. 3/10 – When Finished:
Copy entire Program solution folder to:
Sharepoint:  \\457-107-dbox\FornstromDropbox\VB_EdQuiz
Folder = pdX
Turn in rubric to Mr. Fornstrom.

Posted in Software Engineering 1 | Leave a comment

Skills USA – TJ Programming Contest – 2020

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: ComputerProgramming2020
Prompt for 2020 TJ competition: TJ_Skills_CompPrgmPrompt_2020
Rock, Paper, Scissors, Lizard, Spock

Competition consists of project coding and output.  Program specifications are in the prompt above.  Project specifications are written for Visual Basic, Java, C#, C++ or RPG. The projects will be saved in student’s Google Drive in a folder called: SkillsUSA_firstNameLastName
Completed program folders should be copied to:
Sharepoint:  \\457-107-dbox\FornstromDropbox
Folder = SkillsUSA2020 
Copy the entire project folder to the dropbox.
DUE: By 3pm on Tuesday 2/25.

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

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

SWE1 – 2/19 to 2/28/20 – VB.net – TicTacToe game

OBJECTIVE:
What are you doing?  Students will be guided through creation of a TicTacToe program using Visual Basic.
Why are you doing it?  To develop the foundations of computer science and basic programming, with an emphasis on helping students develop logical thinking and problem solving skills.
What tools are you using?  Class posts, Visual Basic.
How will you know you are successful?  Students will have created a 2-player TicTacToe program using Visual Basic.  Students will learn and understand the following programming concepts:
– Planning a program
– Interface design
– Variables
– Subroutines
– Change the properties of objects with code

DAILY AGENDA: 
Day 1 – Wednesday 2/19:  Beginning Thursday 2/20, we will use VB.net to begin building a Tic-Tac-Toe game.  Before starting construction, we need to plan how our game will look and work.  Complete the initial planning today.  You will work with a partner on the planning assignment.  Submit to G-Classroom 1 file per group (with both names in file).  The planning assignment is worth 6 points.  No late work will be accepted.
DUE WEDNESDAY 2/19/20 at the end of class: turn in to G-Classroom 1 doc per group.  Each post will include the following items:
Name the post: “SWE1 – TicTacToe Plan”
1.  Document Game Play.  Play a game of Tic-Tac-Toe with your partner.  In the blog post, write down everything that each person thinks and does during the course of the game.
2.  Main features.  Based on #1 above, write down the main features you would include in a 2 person Tic-Tac-Toe game for the computer.
3.  Interface Design.  With Paint, Fireworks, Freehand, or on a separate piece of paper, draw what the Tic-Tac-Toe user interface will look like.  Indicate the controls you will include on the form. Save the picture and import it into your post.

Day 2 – Thursday 2/20:  In VB.net, create a new project named:
pd_lastName_TicTacToe”.  Follow the handout to design the form and add controls to the form.  Click the “Save All” button when finished.
Variables – used to keep track of something.  We will use variables to track Turn, Xwins, Ywins.
SWE1_VBnet_TicTacToe_Interface

Day 3 – Friday 2/21:
Subroutine – code that is defined once and used many times.
Finish creating the interface for TicTacToe.

Day 4 – Monday 2/24:
Use counters to track conditions in a program.
Make a mark when space is selected, lock the space.
TicTacToe_codeAfterDay4

Day 5 – Tuesday 2/25:
Document winning combinations for the game.
Write code to: display who has chosen the space, disable the space after it’s chosen.

Day 6 – Wednesday 2/26:
Create a checkWin( ) subroutine.

Day 7/8 – Friday 2/28:
Final Program DUE.
Rubric – 50 pts:
– All winning combinations work: X, O, Cat
– 
New Game button
– Disable space after it’s chosen (space can’t be stolen)
– Disable all spaces after game has been won
– Scoreboard: X, O, Cat
– Design is easy to see and use, is attractive
– Exit button
– Display who’s turn it is
– At least 1 unique feature

Posted in Software Engineering 1 | Leave a comment

SWE1 – 2/10/20 – VB Unit Conversion App

Objectives:
What are you doing?
  Students will be guided through a Units Conversion program using Visual Basic.
Why are you doing it?  To develop the foundations of computer science and basic programming, with an emphasis on helping students develop logical thinking and problem solving skills.
What tools are you using?  Class posts, Visual Basic.
How will you know you are successful?  You will have created a UnitConverter app using Visual Basic.  You will understand the steps to use variables in Visual Basic: declare, assign value, display value; converting text input to numeric values; Case Statements to select from multiple options.

App Objective:  Students will use VB.net to create an app to make unit conversions as chosen by the user.  The app should be able to convert the following:
– km to Miles
– Miles to km
– Meters to Feet (or yards)
– Feet to Meters
– Ounces to Grams
– Grams to Ounces
– At least 4 other unit conversions of your choice.

Concepts Covered:
– Numeric Variables
– Converting Text to Number
– Case Statements

Design Requirements:
With a partner, plan the design for the UNIT CONVERSION APP.  The design should include:
– Window layout for the app, indicate the type of each control (i.e. comboBox, textBox, label)
– Variables needed
– Calculations for conversions
– Data displayed to user

 Program Requirements:
– Attractive form design. The minimum controls required are: ComboBox to choose conversion type; Textbox to enter value to convert; Label that displays ‘convert to’ based on ComboBox selection; Label that displays conversion rate; Label that displays result of conversion; Button or Menu Item to calculate the conversion; Button or Menu Item to Exit the app.
Correct names (use camelCase) for all form controls; i.e. no Label1; Project Name = pd_lastName_convertUnits
At least 12 types of unit conversions, see above.
– Click ‘Convert’ button: Conversion is calculated and displayed.
– When finished: have at least 1 other student test your program, grade program (12 pts possible) à report grade to Fornstrom.

Demo:
– Variables in VB: declare, assign value, display value
Numeric Variables
The most common numeric variables in VB are integer and real (declared as Double) . To declare each:
Dim intNumber as Integer
Dim realNumber as Double
Converting Text to Number: required because text boxes read all input as strings and we need to tell it to view the input as a number. Code below takes number input from text box, converts, and stores in a variable of type Double named converVal:
convertVal = Val(txtConvertVal.Text)
– Case Statements: are used to make a selection from multiple choices. The code below uses a variable named convertFrom to calculate what to put in variables named convertTo and convertRate.

‘ Step 1: declare variables
Dim convertFrom as string
Dim convertTo as String
Dim convertRate as Double

‘ Step 2: populate variables 
convertFrom
= cbConvertFrom.text
Select Case convertFrom
     Case “Miles”
        convertTo = “km”
        convertRate = 1.609344
Case “km”
        convertTo = “Miles”
        convertRate = 0.621371
End Select

‘ Step 3: Display variables on the screen
lblConvertTo.text = convertTo
lblConvertFrom.text = convertFrom
lblConvertRate.text = convertRate

Posted in Software Engineering 1 | Leave a comment

SWE1 – 2/5/20 – MadLibs VB program

Objectives:
What are you doing?
  Students will be guided through a MadLibs program using Visual Basic.
Why are you doing it?  To develop the foundations of computer science and basic programming, with an emphasis on helping students develop logical thinking and problem solving skills.
What tools are you using?  Class posts, Visual Basic.
How will you know you are successful?  You will have created a MadLibs program using Visual Basic.  You will understand the steps to use variables in Visual Basic: declare, assign value, display value.

Assignment:
Students will use Visual Basic to create a MadLibs story program. The story will use at least 8 variables that store input collected from the user.
Example of MadLib: http://www.madtakes.com/
Requirements:
– Attractive form design
– Correct names (use camelCase) for all form controls; i.e. no Label1; Project Name = pd_lastName_madLib
– At least 8 user inputs; use text box or combo box for inputs
– Store user inputs in variables.
– Click ‘Submit’: A story is created and displayed in a label; story uses inputs stored in variables. Story needs to be interesting and make sense.
– Extra: display different stories OR pictures based upon what user inputs.
– When finished: have at least 1 other student test your program, grade program (8 pts possible) and report grade to Fornstrom.

Variables in Visual Basic:
1. Declare: below Public Class Form 1 and before event handlers
Dim animalString as string
Dim storyString as string
2.  Assign a value: in a Submit button for MadLibs story.
animalString = txtAnimal.text
storyString = “This is a story about my pet ” + animalString + “.”
3.  Display value: in a label in MadLibs story.
lblStory.text = storyString 

Insert a line return in a string:  vbCrLf. This puts text on the next line.
#2 (again) – Construct a string for the story, store in a variable named storyString (this is also considered to be assigning a value to a variable):
storyString = “This is a story about my pet ” + animalString + “.”
storyString = storyString + vbCrLf + “This is line 2 of my ” + animalString + ” story.”

#3) – Display the string variable in a label:
lblStory.text = storyString

Decision Statements:
‘show a picture based on animal choice
If animalString = “cat” Then
picCat.Visible = True
ElseIf  animalString = “dog” Then
picDog.Visible = True
Else
picHorse.Visible = True
End If

Posted in Software Engineering 1 | Leave a comment

SWE1 – 2/3/20 – VB.net – State Capital Quiz

OBJECTIVE:
Use VB.net to create a state capital quiz.  Change the properties of form control objects with code.

ASSIGNMENT: 
Create a VB.NET Windows Form Application that displays the capital of the state in a label when a button with the state’s name is clicked.  Display a picture in the picture box.  Use the following states:  Alabama, Alaska, Arizona, Arkansas.  Add an Exit button to the form.  Save the project as “pd_lastName_StateCapitalsQuiz”.  Detailed instructions:
– Find a picture on the internet that represents each of the following states: Alabama, Arkansas, Alaska, Arizona.  Save the the pictures to your Google-drive.
– Create a new project  that is a Windows Form Application named: “pd_lastName_StateCapitalsQuiz”
– Create an attractive design scheme and layout for the form.
– Follow the handout to add controls to the form.

CODE HINTS:
What is the general syntax to change the property value of an object via code?
objectName.property = value
Write the code for the Click event for btnAlabama
lblCapital.text = “Montgomery”
picAlabama.visible = true
picAlaska.visible = false
picArkansas.visible = false
picArizona.visible = false

OR  –> copy pictures into bin\debug folder
lblCapital.text = “Montgomery”
picCapital.Image = Image.FromFile(Application.StartupPath & “\alabama-capital.jpg”)

What code needs to be added to the Exit button to end the program?
Close()

Posted in Software Engineering 1 | Leave a comment

SWE1 – CodeHS.com: Intro to CS using JavaScript

Objectives:
What are you doing?
  Students will be guided through Intro to JavaScript lessons in codehs.com.
Why are you doing it?  To develop the foundations of computer science and basic programming, with an emphasis on helping students develop logical thinking and problem solving skills.
What tools are you using?  Codehs.com – Introduction to Computer Science in JavaScript.
How will you know you are successful?  You will have completed Programming with Karel and the Karel Challenges in the codehs.com Introduction to Computer Science in JavaScript course, understand the basics of the JavaScript programming language, and be able to apply programming fundamentals to unstructured problems.

Refer to the timeline in the attached file.  Lesson concepts will be covered in class, but the timeline will allow students to work at a faster pace if desired.

codeHS.com – Introduction to JavaScript – Spring 2020 Timeline:
SWE2_S2020_IntroJS_codeHS
If finished with everything on Timeline:
1.  Choose lessons from one of the codehs.com advanced lessons, either ‘JavaScript and Graphics’ or ‘JavaScript Control Structures’.
2. Use instructions on Fornstrom TJ site to create your own JavaScript program that is run in an HTML page:  http://sfornstrom.tjspartans.org/software-engineering-1/
3. Turn in completed HTML page with JavaScript program to Dropbox at:
\\457-107-dbox\FornstromDropbox\S2020_JavaScript.  Reminder instructions for mapping network drive are on Fornstrom TJ site.

https://codehs.com/login
Log-in with your DPS Google account. Class join codes:
Period 1: D771C
Period 4: D2CE2

Posted in Software Engineering 1 | Leave a comment

SWE2 – AP CSP – Create PT Practice – 12/2/19 to Sem. 2

Objectives:
What are you doing?
 Students will have 15 class days to design, create, and document a computer program on a topic that interests them or one that solves a problem. This is a practice project for the AP Create Performance Task.
Why are you doing it?  To practice design, implementation, testing, and documentation of a complete computer program.
What tools are you using?  Tools and programming languages will be determined based on student analysis.
How will you know you are successful?  Students will have designed, created, and analyzed a complete computer program.

PROJECT REQUIREMENTS:
In code.org, go to the Create-AP Performance Task Prep unit.
Review all of the resources.
– https://secure-media.collegeboard.org/digitalServices/pdf/ap/computer-science-principles-digital-portfolio-student-guide.pdf 
– https://apcentral.collegeboard.org/pdf/ap-csp-student-task-directions.pdf?course=ap-computer-science-principles, focus on:
Pg. 4 – Programming Language requirements
Pg. 5 – Preparing for Performance Task

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.

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.

TURN IN:
When finished, copy the project folder to the server:
\\457-107-dbox\FornstromDropbox\CreatePTPractice
Folder Name = studentName (firstnameLastname)
– All program development files.  DUE 
– Individual written responses about your program and development process (export as PDF).  The questions are in the link above and are questions 2a to 2d.  DUE 
– Program code (export as PDF).  DUE 
– A video of program running (< 30 MB)

Posted in Software Engineering 2 | Leave a comment

SWE1 – 11/15/19 to 12/12/19 – GameMaker – Final Project

Objectives:
What are you doing?  Students will apply the CTE Design Cycle to create a final game program using Game Maker. Students will create a project plan that includes project vision, timeline, and resources; and create assets, program, test and refine the game.
Why are you doing it?  To demonstrate a basic understanding of game design and development, the CTE Design Cycle, and programming fundamentals.
What tools are you using?  Game Maker Studio, CCT Project Plan template, graphic design software, other tools as needed.
How will you know you are successful?  Students will have applied the CTE Design Cycle to design, program, and test a complete game in Game Maker.
DUE Th. 12/12, Drive Mappings:
Questions: \\457-107-dbox\FornstromDropbox\Questions
Turn In: \\457-107-dbox\FornstromDropbox\F19_finalProject

IN-CLASS:
You will have 15 class days to design and create a new game with Game Maker. The final game project is DUE at the end of class Thursday 12/12
Timeline:
11/18: Google Classroom: Turn in Game Story and either the CCT_Planning_Template  OR a Work Breakdown Structure with a Mind Map (15 pts). Include at least 3 tasks per week.
11/18 to 11/22: 5 work days
12/2 to 12/6: 5 work days
12/9 to 12/12: 4 work days
12/12: end of class, PROJECT DUE!

PLAN THE PROJECT: 
Plan your project using the CCT_Planning_Template  OR a Work Breakdown Structure with a Mind Map.  Submit planning docs to Google Classroom . Include at least 3 tasks per week.
DUE:  end of class Monday 11/18/19 (15 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.

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.  Provide him with the following information:
– Name
– Software being used.
– Name and location of the file you are working with.  Copy your file to:
\\457-107-dbox\FornstromDropbox\Questions
– Description of the problem.
– What have you tried to this point?
– Any other pertinent information that will help me understand/solve the problem.

TURN IN:
When finished, copy the project folder to the server:
\\457-107-dbox\FornstromDropbox\F19_finalProject

Posted in Software Engineering 1

SWE1 – 10/24/19 – Mimic Internet Game

OBJECTIVE:
What are you doing?
Students will apply the CTE Design Cycle to remake an Internet Game with Game Maker. Students will choose an internet game, analyze how it is made, and remake the game using Game Maker.
Why are you doing it? To develop analysis, planning, design, and programming skills.
What tools are you using? Browser, Google-Classroom, Game Maker, graphic-design tools.
How will you know you are successful? Students will have created a game program that is an accurate portrayal of the game they choose to recreate. After revisions, the program will be suitable for publication on the TJ CCT Magnet website.

DUE DATES:
10/24: Game Story
10/25: Project Plan with Task Analysis
10/28 to 11/1: 5 work days
11/4 to 11/8: 5 work days
11/11 to 11/12: 2 work days
PROGRAM DUE Tuesday 11/12 – end of class!
TURN IN DRIVE: \\457-107-dbox\FornstromDropbox\F19_mimicGame

Instructions: Use Game Maker to remake a game you find on the Internet.
1. Find a game program on the Internet. Consider the following: Can I recreate the game? It should not be too complicated. Is it interesting? You need to want to make the game.
2. Document the URL for the game. Show the game to Mr. Fornstrom, he needs to approve your idea before you begin.
3. Google Classroom Assignment #1: title = “Name SWE Internet Game Story”. Write a Story that describes the game you have chosen and includes the game URL (5 pts). The story must be detailed, describing everything that happens in the game. What is the objective? Who are the characters? What capabilities do the characters have? What controls are used to control the characters? How do you win? How do you lose? Describe graphics, animations, and sounds used in the game.
4. Plan your project using the CCT_Planning_Template  OR a Work Breakdown Structure with a Mind Map (10 pts). Turn in as Google Classroom Assignment #2. Include at least 3 tasks per week.
5. Begin building the game. Save your work to your Google Drive account. Name the file or project folder: period_name_GameName (Ex: 6_Fornstrom_Asteroids)

RUBRIC:
SWE1_MimicInternetGameRubric

Mind Map Alternative for Planning
– Use Mind Mapping software to create a Work Breakdown Structure for project work (10 pts). Bubbles are the activities that need to be completed in order to finish the project.
Possible Apps:  
https://www.mindmup.com/
https://www.mindmeister.com/

Here is an example:
http://fornstrom.tjcomputermagnet.com/Lessons/ProjMgt/Pac-ManGame-BrainstormExample.pdf
DUE end of class Friday 10/25 – print as a “Adobe PDF” document -> upload the pdf to your post.
–  Begin building the program.

Daily Work:
– 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.

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.  Provide him with the following information:
– Name
– Software being used.
– Name and location of the file you are working with.  Copy your file to:
\\457-107-dbox\FornstromDropbox\Questions
– Description of the problem.
– What have you tried to this point?
– Any other pertinent information that will help me understand/solve the problem.

Posted in Software Engineering 1 | Leave a comment