We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byVeronica Kimbrough
Modified over 2 years ago
1 ©2006 INSciTE Lab One Task: Move forward for 5 rotations and return Then try: Move forward for 5 rotations, turn right 90º
2 ©2006 INSciTE Lab 1 An Answer Move forward for 5 rotations and return
3 ©2006 INSciTE Problem Solving
4 ©2006 INSciTE Generic Problem Solving Process Define the problem Brainstorm solutions Evaluate solutions Pick one Try (implement) it Evaluate results Express the solution as an algorithm, then convert it into a computer program.
5 ©2006 INSciTE From: Whats an Algorithm? An algorithm (pronounced AL-go-rith-um) is a procedure for solving a problem. The word derives from Mohammed ibn-Musa Al-Khowarizmi, a mathemetician of the royal court in Baghdad. He lived from about 780 to 850. Al- Khowarizmi's work is the likely source for the word algebra as well. A computer program can be viewed as an elaborate algorithm. In mathematics and computer science, an algorithm usually means a small procedure that solves a recurrent problem.
6 ©2006 INSciTE Mix eggs, milk and flour and pass through a strainer. Dip slices of bread into the mixture and drop into a buttered frying pan. Fry both sides. Before serving, sprinkle with powdered sugar. Recipe for French Toast How can we make this more algorithm-like? Count eggs, mix eggs, for every 2 eggs add 1 cup milk and 1/4 cup flour, and pass through a strainer. For every 2 eggs, dip 8 slices of bread…. An Algorithm is like a Recipe 8 slices of bread 2 eggs 1 cup milk 1/4 cup flour fat or butter powdered sugar
7 ©2006 INSciTE Ways to Express Algorithms In the real programming world there are many ways to do this In the FLL world, probably the two best ways: Draw block diagrams Literally act it out Always talk it out and test it using a team member to walk through it acting like the robot. Keep actions at low level Go Forward 3 steps Stop Motor B forward, C backward
8 ©2006 INSciTE Pseudocode Pseudocode: Not software code, not English, but somewhere in between. Count Eggs Add Ingredients Mix and Strain Dip, Fry, Sprinkle Serve set counter to zero for each egg increment counter crack open into bowl next do counter times add ½ cup milk add ¼ cup flour end do do counter/2 times do 4 times dip 2 slices of bread fry, sprinkle, serve end do
9 ©2006 INSciTE Flowcharts Flowcharts: A graphic representation of logic. Convert from pseudocode. One step closer to software. set counter to zero for each egg increment counter crack into bowl next Set Counter to 0 Increment Counter More Eggs? Crack Egg into Bowl Yes No
10 ©2006 INSciTE Well be adding to this process as the class progresses FLL Ace Programmer in 5 Steps Map the generic problem solving process to programming Create a map of where the robot goes and what it does Write what the program should do (your algorithm). Code it Test, and fix, little pieces at a time
11 ©2006 INSciTE Example Algorithm Set direction and power of motors Stop motors, turn right. Turn right by reversing right-side motor Turn motors for ? rotations. Stop motors Make robot go forward 5 rotations and then turn right 90º
12 ©2006 INSciTE Conversion to a Program Forward: Motors B and C forward Spin: Motor B forward, C backward, Power Level 50% 250 degrees motors brake.
13 ©2006 INSciTE Optimizing Code Which is faster? more reliable? best? Use the one that makes sense to you, the programmer.
14 ©2006 INSciTE Debugging and Analysis Literally walk through it Ask lots of questions What ifs Do little pieces at a time For example, get the robot to where it needs to be first, then work on getting it to do something Reuse pieces that work For example, you know how to turn 90° Feel confident in your algorithm before starting to code it.
15 ©2006 INSciTE Common Situations Not sure which solution is better Try them both, or at least the primary element of each Which is easiest for your team to do? Cant think of all the steps needed for the algorithm Program and test the steps you understand.
16 ©2006 INSciTE Keep It Simple Strategies KISS #1: Subroutines #2: Comments
Announcements The Algorithmic Model Programming Languages Data Assignment Arithmetic.
1 Writing Pseudocode And Making a Flow Chart Instructor: Richard T. Vannoy II A Number Guessing Game.
Chapter 6 Writing a Program Bjarne Stroustrup
Chapter 9 Working With Others Chapter 9 Working With Others Lesson 9.1 Building Relationships Lesson 9.1 Building Relationships.
Sub Procedures and Functions. Procedures in VBA The main idea: encapsulate some code in its own procedure (There are two kinds: Sub Procedures and Functions)
First of all – lets look at the windows you are going to use. At the top you have a toolbar, with all your various tools you can use when customising your.
CS 240 Computer Programming 1 Flowcharts 1. Algorithm 2 a step-by-step method for solving a problem or doing a task. An informal definition of an algorithm.
Right Brain vs. Left Brain. Directions Get a blank sheet of lined paper. Every time you read a description or characteristic that applies to you, write.
1 Section 2.2 introduction an exploration into: Equations with Algebra Tiles Section 2.2 introduction an exploration into: Equations with Algebra Tiles.
Mr Fs Maths Notes Number 11. Standard Form. What is Standard Form and why do we need it?… How heavy do you reckon the sun is?... Ill tell you, its about:
1 TIME MANAGEMENT 2 Study groups, concentration, study breaks, rewards.
Please answer the following multiple choice questions. Click on your answer. Please feel free to use paper or graphing calculators to find the correct.
Lecture 10 Flow of Control: Loops (Part 2) COMP1681 / SE15 Introduction to Programming.
Analysis of Computer Algorithms. What is Algorithm? Algorithm is any well-defined computational procedure that takes some value, or set of values, as.
Introducing: common denominator least common denominator like fractions unlike fractions. HOW TO COMPARE FRACTIONS.
1 Artificial Intelligence: Knowledge Representation Using Search in Problem Solving Intro to Basic Search Techniques Heuristic Search.
CUBING/THINK DOTS Strategies That Support Differentiated Processing.
The. of and a to in is you that it he was.
Warm Up 1.Write the equation of the line that is parallel to y = 3x +7 and goes through the point (-2, 5) Determine if the following equations represent.
Copyright ©, Long Beach Unified School District. All rights reserved. - Grade 3 1 Grade 3 MAP 2 D Trimester 1 Instructional Strategies Aligned to the 1997.
Introduction to Programming MVRT 115. This is an introduction to programming in the C language. We will be working on Vex and NXT robots, and later on.
Presented by: Tutorial Services The Math Center Base 10 to Different Number Bases When converting a number from base 10 to another base follow these.
Getting started with LEGO NXT Mindstorms software This is intended to be a short introduction to the LEGO Mindstorms software and programming the LEGO.
Chapter 7 Problem Solving and Algorithms. 2 Problem Solving How to Solve It: A New Aspect of Mathematical Method by George Polya "How to solve it list"
ROBOTC for VEX On-Site Professional Development. Lab Procedures Logging onto computers –Log in with: teachers / teachers1 VEX Robots/chargers –Make sure.
Microsoft ® Office Word 2007 Training Table of Contents I: Create an automatic TOC Neeginan Institute of Applied Technology GTR&O presents:
Click the arrow to begin learning about orders of operations.
EXPLORING FRACTIONS WITH TEAM FRACTION ACTION Adding Fractions with Like Denominators.
Artificial Intelligence 17. Genetic Programming Course V231 Department of Computing Imperial College © Simon Colton.
ARITHMETIC SEQUENCES These are sequences where the difference between successive terms of a sequence is always the same number. This number is called the.
© 2016 SlidePlayer.com Inc. All rights reserved.