intel ultimate engineering experience build an app

25
INTEL ULTIMATE ENGINEERING EXPERIENCE BUILD AN APP

Upload: rhett

Post on 26-Feb-2016

37 views

Category:

Documents


1 download

DESCRIPTION

Intel Ultimate Engineering Experience Build an App. Team. Ashish Amresh Asst. Professor, College of Technology and Innovation, ASU Game Design Software Design Ryan Scott Senior Computer Science, ASU Game Development, App Development Glenn Craver Senior Computer Science, ASU - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Intel Ultimate Engineering Experience Build an App

INTEL ULTIMATE ENGINEERING EXPERIENCEBUILD AN APP

Page 2: Intel Ultimate Engineering Experience Build 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

Page 3: Intel Ultimate Engineering Experience Build an App

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

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

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

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

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

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

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

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

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

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

LEARNING C#: VARIABLESDeclaration and Assignment

Page 14: Intel Ultimate Engineering Experience Build an App

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

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

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

LEARNING C#: USING VARIABLES/OPERATIONS

Page 18: Intel Ultimate Engineering Experience Build an App

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

LEARNING C#: LOOPSdo/while loop

Page 20: Intel Ultimate Engineering Experience Build an App

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

LEARNING C#: CONDITIONALSThe "if" Statement  

Page 22: Intel Ultimate Engineering Experience Build an App

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

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

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

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");        }