Intel Ultimate Engineering Experience Build an App
description
Transcript of Intel Ultimate Engineering Experience Build an App
![Page 1: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/1.jpg)
INTEL ULTIMATE ENGINEERING EXPERIENCEBUILD AN APP
![Page 2: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/2.jpg)
TEAM
Ashish Amresh Asst. Professor, College of Technology and Innovation,
ASU Game Design Software DesignRyan Scott Senior Computer Science, ASU Game Development, App DevelopmentGlenn Craver Senior Computer Science, ASU Game Development, App Development
![Page 3: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/3.jpg)
SNAPSHOTWEEK 2
(June 11-15)
M T W TH F
8:00-9:00am /
1:00-2:00pm
Welcome / Week in review / What's Next
Introduction to OOP Objects Classes Inheritance Encapsulation
Lab: Simple XNA
game Update and
Draw Bouncing Balls
Introduction to
Cellular Automata Rules Grids
Lab:
Using C# and XNA
Add custom rules
Add custom features
Meet Your Mentors Team Activity
Design a real world phenomena
Develop the rules
Break down the roles and responsibilities
Learn App Up SDK
App Design and Development
App Submission and Demo
Project cleanup
Fix bugs/issues
Test the rules
Prepare App for submission
App demo
9:00-10:00am /
2:00-3:00pm
Talk with an Intel Engineer
10:00-11:00am /
3:00-4:00pm
Introduction to Programming
with C# Loops Control
structures Iteration Arrays and
structuresLab:
Visual studio set up
C# intro
Conway’s Game Of Life
Breakdown of the rules
Developing the algorithm
Creating new impressions
Lab: Canals
Framework Using C#
with Canals Creating a
custom automata from scratch
11:00-12:00pm /
4:00-5:00pm
![Page 4: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/4.jpg)
TODAYWEEK 2
(June 11-15)
M T W TH F
8:00-9:00am /
1:00-2:00pm
Welcome / Week in review / What's Next
Introduction to OOP Objects Classes Inheritance Encapsulation
Lab: Simple XNA
game Update and
Draw Bouncing Balls
Introduction to
Cellular Automata Rules Grids
Lab:
Using C# and XNA
Add custom rules
Add custom features
Meet Your Mentors Team Activity
Design a real world phenomena
Develop the rules
Break down the roles and responsibilities
Learn App Up SDK
App Design and Development
App Submission and Demo
Project cleanup
Fix bugs/issues
Test the rules
Prepare App for submission
App demo
9:00-10:00am /
2:00-3:00pm
Talk with an Intel Engineer
10:00-11:00am /
3:00-4:00pm
Introduction to Programming
with C# Loops Control
structures Iteration Arrays and
structuresLab:
Visual studio set up
C# intro
Conway’s Game Of Life
Breakdown of the rules
Developing the algorithm
Creating new impressions
Lab: Canals
Framework Using C#
with Canals Creating a
custom automata from scratch
11:00-12:00pm /
4:00-5:00pm
![Page 5: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/5.jpg)
INTRODUCTIONObjectives Learn programming with C# Learn to use XNA platform Learn how to develop simple AppsWhat should you know How to use a computer Ability and open mind to learn new tools and technologiesWhat do you need (working at home) http://creators.xna.com/Resources/Essentials.aspx
You'll need XNA Game Studio Express(GSE), Visual C# Express Edition, and DirectX Software Development Kit(DirectX SDK).
A simple paint program: http://www.getpaint.net/index.html
![Page 6: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/6.jpg)
LEARNING C#What programming language is the best? Python, C#, Java, C++ Language differences Native vs. ManagedWhy C# Managed code Easy to learn Object-orientedTechnical Requirements 32 or 64 bit Single or multi-core
![Page 7: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/7.jpg)
HOW DOES A COMPUTER WORKHard Drive Data Storage / shelf Read and writeMemory (RAM) Shopping cart Temporary storage for all our actionsCPU Checkout machine Faster the processor the more it can crunch outMotherboard Floor / store layout Good motherboard is necessary to maintain good flow between all componentsOutput/Graphics Card/Input Peripherals or accessories, access data and display it
![Page 8: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/8.jpg)
VISUAL STUDIO: HELLO WORLD First open Visual Studio 2008 and
you will see a start page
Go to File -> New Project -> Visual C# -> "Console application“
Name it Tutorial1
![Page 9: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/9.jpg)
VISUAL STUDIO: HELLO WORLDLearning the basics of a program using System;using System.Collections.Generic;using System.Text; namespace Tutorial1{ class Program { static void Main(string[] args) { } }}The first thing you might notice is the different colors. Dark blue signifies a code/command that C# recognizes. Light blue indicates a class, while the regular text is for user defined names.
![Page 10: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/10.jpg)
VISUAL STUDIO: HELLO WORLDProgram Components Namespace
Synonymous with a windows folder, a collection of classes used for grouping Class
Class is a more specific collection than namespace, it holds methods and variables. In C# everything we deal with resides in some class
Methods and Main Methods are the work horses that do all the crunching of data for your class. The
main is a specialized method that is run as soon as a program starts. Scope
The scope of a namespace, class or method is defined by the { }. It is important to know while programming which scope you are dealing with
Using Statements Using statements are useful to call other namespaces, so you can bring in
additional features that you need into your program.
![Page 11: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/11.jpg)
VISUAL STUDIO: HELLO WORLDOur first program:type this inside of the Main() scope Console.WriteLine("Hello World!");Console.ReadLine();
namespace Tutorial1{ class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.ReadLine(); } }}
![Page 12: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/12.jpg)
LEARNING C#: VARIABLESTypes Numbers
Int Float Double
Char Unicode
String Set of unicodes
Bool True or false
Void
namespace Tutorial1{ class Program { static void Main(string[] args) { int herohitpoints; string myname; bool isalive; } }}
![Page 13: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/13.jpg)
LEARNING C#: VARIABLESDeclaration and Assignment
![Page 14: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/14.jpg)
LEARNING C#: VARIABLES Naming Conventions Use nouns Bools can have verbs Do not capitalize the
first letter Be descriptive Do not abbreviate Do not use prefixes
or suffixes
String yourName
Bool isBlackBool isActive
Int DNA
Int _hitPointsInt max_number
![Page 15: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/15.jpg)
LEARNING C#: OPERATIONSOperators+-*/% (modulus)
5%2 =1 or 30 % 3.5 = 2
namespace Tutorial1{ class Program { static void Main(string[] args) { double x, y; x = 30.0; y = 3.5; Console.WriteLine(x % y); Console.ReadLine(); } }}
![Page 16: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/16.jpg)
LEARNING C#: OPERATIONSOperator shorthandX += Y is equal to X = X+YX -= Y is equal to X = X - YX *= Y is equal to X = X * YX /= Y is equal to X = X / YX++ is equal to X = X +1X- - is equal to X = X -1
DebuggingUse the short hand, and use the Debugger to step in to the code by setting break
points.Runtime vs. buildtime errors
![Page 17: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/17.jpg)
LEARNING C#: USING VARIABLES/OPERATIONS
![Page 18: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/18.jpg)
LEARNING C#: CONDITIONALSOperators < is less than > is greater than <= is less than or equal to >= is greater than or equal to == is equal to != is not equal to && logical “and” ||logical “or”
Example: ((X>3)&&(X<6))hitPoints == 3
![Page 19: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/19.jpg)
LEARNING C#: LOOPSdo/while loop
![Page 20: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/20.jpg)
LEARNING C#: CONDITIONALSThe "if" Statement static void Main(string[] args) { int x; x=20; if (x > 0) { x -= 1; Console.WriteLine(x); } }
![Page 21: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/21.jpg)
LEARNING C#: CONDITIONALSThe "if" Statement
![Page 22: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/22.jpg)
LEARNING C#: CONDITIONALSSwitch Statementstatic void Main(string[] args) { string favoriteColor; Console.WriteLine("What if your favorite color?"); //Incase you were wondering the next statement
is reading whatever //is typed and assigning it to favorite color when
enter is pressed favoritecolor = Console.ReadLine(); //Just so you know I always type my cases and
breaks prior to typing code. //It just seems easier to me. Do whatever you
like though switch (favoriteColor) { case "blue": case "Blue":
Console.WriteLine("Your favorite color is blue"); break; case "Red": case "red": Console.WriteLine("Your favorite color is red"); break; case "purple": case "Purple": Console.WriteLine("Your favorite color is purple"); break; case "1": Console.WriteLine("You were supposed to pick a color"); break; default: Console.WriteLine("Your favorite color isn't on my list."); break; } Console.ReadLine(); }
![Page 23: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/23.jpg)
LEARNING C#: LOOPSFor Loopnamespace Tutorial1{ class Program { static void Main(string[] args) { for (int i = 0; i < 10; i++) { Console.WriteLine(i); } Console.ReadLine(); } }}
![Page 24: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/24.jpg)
LEARNING C#: SIMPLE CALCULATORTask: Using loops and conditional statements create a simple calculator
application that will take command line inputs and operations (+ - * / %) and process the output.
The flow of the calculator will be as follows: Enter the first number Enter the operation Enter the second number Write the answer Ask if you would like to calculate another set of numbers
![Page 25: Intel Ultimate Engineering Experience Build an App](https://reader035.fdocuments.net/reader035/viewer/2022081515/56816936550346895de09638/html5/thumbnails/25.jpg)
LEARNING C#: SIMPLE CALCULATOR static void Main(string[] args) { int number1, number2; string numb1,numb2,operrand; string choice; do { Console.WriteLine("Enter a Number"); numb1= Console.ReadLine(); Console.WriteLine("Enter an operator, ie +,-,*,/"); operrand = Console.ReadLine(); Console.WriteLine("Enter a second number"); numb2 = Console.ReadLine(); Console.WriteLine("The answer is: "); number1 = int.Parse(numb1); number2 = int.Parse(numb2); switch (operrand)
{ case "+": Console.WriteLine(number1 + number2); break; case "-": Console.WriteLine(number1 - number2); break; case "*": Console.WriteLine(number1 * number2); break; case "/": Console.WriteLine(number1 / number2); break; case "%": Console.WriteLine(number1 % number2); break; default: Console.WriteLine("I'm sorry, that wasn't a valid choice"); break; } Console.WriteLine("Do you want to calculate another set of numbers?"); choice = Console.ReadLine(); } while (choice != "n" && choice != "N"); }