Intel Ultimate Engineering Experience Build an App
description
Transcript of Intel Ultimate Engineering Experience Build an App
INTEL ULTIMATE ENGINEERING EXPERIENCEBUILD AN APP
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
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
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
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
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
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
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
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.
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.
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(); } }}
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; } }}
LEARNING C#: VARIABLESDeclaration and Assignment
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
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(); } }}
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
LEARNING C#: USING VARIABLES/OPERATIONS
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
LEARNING C#: LOOPSdo/while loop
LEARNING C#: CONDITIONALSThe "if" Statement static void Main(string[] args) { int x; x=20; if (x > 0) { x -= 1; Console.WriteLine(x); } }
LEARNING C#: CONDITIONALSThe "if" Statement
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(); }
LEARNING C#: LOOPSFor Loopnamespace Tutorial1{ class Program { static void Main(string[] args) { for (int i = 0; i < 10; i++) { Console.WriteLine(i); } Console.ReadLine(); } }}
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
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"); }