28-OCT-09 BREAKOUT SESSION Team 3125 Programming/Electrical Subteams Cody Harris Technical Director.

Slides:



Advertisements
Similar presentations
ALGORITHMS AND FLOWCHARTS
Advertisements

PROBLEM SOLVING TECHNIQUES
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Introduction to Programming
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
Computers Are Your Future
Programming and Electronics Training
US First Kickoff 2014 Software Programming (And Control System) Daniel Kohn University of Memphis.
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
ALFRED THOMPSON MICROSOFT ACADEMIC TEAM Kinect for FRC 2012.
Objects and Classes First Programming Concepts. 14/10/2004Lecture 1a: Introduction 2 Fundamental Concepts object class method parameter data type.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
PRE-PROGRAMMING PHASE
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Your Interactive Guide to the Digital World Discovering Computers 2012.
US First Kickoff 2013 Software Programming (And Control System) Daniel Kohn University of Memphis.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
System Implementation System Implementation - Mr. Ahmad Al-Ghoul System Analysis and Design.
CSE 1340 Introduction to Computing Concepts Class 2.
Planning for the Solution
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Welcome to: CSC225 Introduction to Computer Organization.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
The Logical Structure of Algorithms. Algorithms Steps necessary to complete a task or solve a problem. Example: Recipe for baking a cake –Will contain.
CHAPTER 1: INTRODUCTION TO COMPUTER SCIENCE Introduction to Computer Science Using Ruby (c) 2012 Ophir Frieder et al.
Introduction to Programming ICS2O Findlay. Learning Goals  We will learn  The definitions of a computer, program and programming language.  The different.
CSC-115 Introduction to Computer Programming
Computer Concepts 2014 Chapter 12 Computer Programming.
2010 Control System Writing and Reading the cRio Presented By: Frank Larkin Lansdale Catholic Robotics, Team 272 First 2010 Kickoff, Jan
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
ALGORITHMS AND FLOWCHARTS CSCI 105 – Computer Fluency.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 10 Slide 1 Chapter 13 Finalizing Design Specifications.
Programming and Languages
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
BSc Honours Project Introduction CSY4010 Amir Minai Module Leader.
Introduction to Programming in VB Chapter 1. 2 Software Development Life Cycle Gather Requirements Design Program Code & Test Program Implement u Software.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Installing Java on a Home machine For Windows Users: Download/Install: Go to downloads html.
Computer Science Reaching Wider Summer School 2012.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
THINKING PROCEDURALLY OR CONCURRENT (SIMULTANEOUSLY OR SIDE BY SIDE OR IN LOGICAL ORDER A- IDENTIFY THE COMPONENTS OF A PROBLEM B-IDENTIFY THE COMPONENTS.
Functions Part I (Syntax). What is a function? A function is a set of statements which is split off into a separate entity that can be used like a “new.
ALGORITHMS AND FLOWCHARTS. Why Algorithm is needed? 2 Computer Program ? Set of instructions to perform some specific task Is Program itself a Software.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Java Programming, 3e Concepts and Techniques Chapter 1 Section 56 – An Introduction to Java.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Programming Language Basics. What is a Programming Language? “A computer, human-created language used to write instructions for a computer.” “An artificial.
1 Problem Solving  The purpose of writing a program is to solve a problem  The general steps in problem solving are: Understand the problem Dissect the.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
INTRODUCTION TO ROBOTICS Part 5: Programming
Unit 3: ALGORITHMS AND FLOWCHARTS
CSC 221: Computer Programming I Fall 2005
Introduction To Flowcharting
Team Organization.
An Introduction to Visual Basic .NET and Program Design
Pseudo-code Komate AMPHAWAN.
Lesson 1: Fundamentals of Programming
CET360 Microprocessor Engineering: Course Intro
Computational Thinking for KS3
Programming Language Basics
Welcome to: CSC225 Introduction to Computer Organization
ICT Gaming Lesson 2.
Software System Integration
STATE MACHINE AND CONCURRENT
Interrupts.
Presentation transcript:

28-OCT-09 BREAKOUT SESSION Team 3125 Programming/Electrical Subteams Cody Harris Technical Director

Introduction Programming  “Programs the robot control interface and autonomous mode” (Team 3125 Handbook)  Pre-Season: Algorithm Development, Learn Syntax  Build Season: Design and Implement Robot Software  Drive Season: Work Pit Crew, Troubleshoot  Post-Season: Make code accessible for next year’s team Electrical  “Works with the mechanical team to design and implement the electronics of the robot” (Team 3125 Handbook)  Pre-Season: Learn Control System layout, Soldering Techniques, etc.  Build Season: Construct Control System, Implement Software, Wire Robot  Drive Season: Work Pit Crew, Troubleshoot  Post-Season: Ensure Control System is ready for next year’s team

Programming Pre-Season Algorithm Development (October – Mid-November)  Think Like a Computer  Understand Object-Oriented Programming  Determine necessary classes and patterns of inheritance  Write Pseudocode to solve a problem Selection of Language (Mid-November)  Sun Microsystems Java Development Kit (BETA Release)  National Instruments LabView (Graphical Programming)  C/C++ with FRC API (Less specific documentation) Learn Syntax of Selected Language (Mid-November – December)

Algorithm Development Algorithm: A method of solving a problem involving a finite series of steps Binary Decision-Making Flow-chart layout Symbology

Think Like a Computer Mass Casualty Incident START Triage

Putting it all Together – PB&J Lab How do you make a peanut butter and jelly sandwich?

Level of Detail Breadth vs. Depth

Subroutines, Interrupts, Parameters, Returns What about breathing?  Repetitive tasks are defined in subroutines  Subroutines can be called from another method by name, or called when the program is interrupted, such as by a timer or a button press  A subroutine can require a parameter, or piece of data, be provided every time it is called that it will use in the routine; interrupts can pass the interrupter as a parameter  Once the routine is done, the program goes back to where it left off; it can pass a piece of data in return based on its execution, or it can pass void to indicate it is complete

Pseudocode Pseudocode is an abstraction of source code  Pseudocode is language-specific, but there are strong similarities between C/C++ and Java pseudocode  Pseudocode is not strictly defined, as it is for human interpretation  A method pseudocode would look like this: (, )  { Do something Do something else If something is true Do something Otherwise Do something Different Return something }

Example of Pseudocode

Electrical Pre-Season Learn Control System (October – Mid-December)  National Instruments “Compact RIO” Microcontroller  FRC Driver Station  Pulse Width Modulation  Proportional-Integral-Derivative Controller hardware Tools of the Trade (October – Kickoff)  Soldering techniques  Electrical safety  Working with Programmers  Electronics Testing and Evaluation  Oscilliscopes

Control System

Driver Station

Compact RIO

Digital Side Car

Tools of the Trade

Oscilloscope – Purpose and Operation PWM Demo

Summary Non-Mechanical Technical Fields  Programming (“Brains” of the bot)  Electrical (“Nerves and bloodstream” of the bot”) Next Workshop  Programming: “Skeleton Programming” for Aim High! Game  Electrical: How to format and work with the cRIO Assistant Position  Effective Span of Control (1 Supervisor : 3-7 Subordinates)  Interested Juniors: Details at next meeting, or contact me

Future Meetings Online Chats via Skype Online IMs via AIM, FacebookIM, etc. Conference Call Service In-house meetings will be held on Mondays and Wednesdays  Mondays will be a short business meeting of the entire team to ensure subteams are coordinated  Wednesday meetings, by subteam, will consist of workshops; teams may meet online as an alternative when practical

Questions?