intel ultimate engineering experience build an app

25
INTEL ULTIMATE ENGINEERING EXPERIENCE BUILD AN APP

Upload: maryann-charles

Post on 29-Dec-2015

227 views

Category:

Documents


0 download

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 Design

Ryan Scott Senior Computer Science, ASU Game Development, App Development

Glenn 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

INTRODUCTION

Objectives Learn programming with C# Learn to use XNA platform Learn how to develop simple Apps

What should you know How to use a computer Ability and open mind to learn new tools and technologies

What 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. Managed

Why C# Managed code Easy to learn Object-oriented

Technical Requirements 32 or 64 bit Single or multi-core

Page 7: INTEL ULTIMATE ENGINEERING EXPERIENCE BUILD AN APP

HOW DOES A COMPUTER WORK

Hard Drive Data Storage / shelf Read and write

Memory (RAM) Shopping cart Temporary storage for all our actions

CPU Checkout machine Faster the processor the more it can crunch out

Motherboard Floor / store layout Good motherboard is necessary to maintain good flow between all components

Output/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 WORLD

Learning 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 WORLD

Program 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 WORLD

Our 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#: VARIABLES

Types 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#: VARIABLES

Declaration 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#: OPERATIONS

Operators

+

-

*

/

% (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#: OPERATIONS

Operator shorthand

X += Y is equal to X = X+Y

X -= Y is equal to X = X - Y

X *= Y is equal to X = X * Y

X /= Y is equal to X = X / Y

X++    is equal to X = X +1

X- -     is equal to X = X -1

Debugging

Use 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#: CONDITIONALS

Operators < 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#: LOOPS

do/while loop

Page 20: INTEL ULTIMATE ENGINEERING EXPERIENCE BUILD AN APP

LEARNING C#: CONDITIONALS

The "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#: CONDITIONALS

The "if" Statement 

 

Page 22: INTEL ULTIMATE ENGINEERING EXPERIENCE BUILD AN APP

LEARNING C#: CONDITIONALSSwitch Statement

static 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 Loop

namespace 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 CALCULATOR

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