Presentation is loading. Please wait.

Presentation is loading. Please wait.

PROGRAMMING.

Similar presentations


Presentation on theme: "PROGRAMMING."— Presentation transcript:

1 PROGRAMMING

2 Start Your Engines

3

4 SAFETY

5

6

7

8

9 HISTORY

10 JACQUARD LOOM

11 1889

12 DIFFERENCE ENGINE

13 Ada Lovelace

14 1890

15 COLOSSUS

16 Alan Turing

17 ENIAC

18 1945

19 1804

20 1928

21 1982

22 “The number of transistors in a dense integrated circuit doubles about every two years.”

23 IBM 350 3.75 MB $3200 / Month

24 Ten Programming Languages

25 Machine Language/ Assembly Language
Machine specific. Machine language is a sequence of instructions (opcodes) and data recognized by the CPU. Assembly language uses instruction names (like ADD or MOVE) and other features to make it easier for a programmer to generate machine language.

26 Interpreter/Compiler
Language specific. Source code is what a programmer types into the computer. When run, an interpreter executes the source code step-by-step as a “script”. A compiler converts the source code to machine language so it can be executed later.

27 Fortran Developed at IBM in 1957.
Name is a contraction of “Formula Translation”. Well suited to numerical scientific and engineering computation.

28 COBOL Developed in 1959 with support of Department of Defense.
Name stands for COmmon Business Oriented Language. As the name suggests, used for business applications, mostly back office. Y2K Bug

29 C Developed at Bell Labs between 1969 and 1973.
Successor to the B programming language. Simple/powerful language. Originally used to write the Unix operating system.

30 SQL Developed at IBM in 1974. Name is acronym for “Structured Query Language”. Used to store and retrieve data in a database.

31 PostScript Developed in 1982 at Adobe Systems.
Interpreted language used in printers and related devices. Made desktop publishing possible (1985).

32 C++ Developed in 1985 by Bjarne Stroustrup. Name means C = C + 1
Adds object-oriented features to C.

33 Python Developed in 1990. Named for Monty Python’s Flying Circus.

34 Java Developed at Sun Microsystems in 1995. Now owned by Oracle.
Named for the hot beverage. “WORA” Used on Blu-ray players and Android phones.

35 JavaScript Developed at Netscape in 1996.
Named to sound like Java, but really no relation. Originally used to make web browser interactive. Now used in other places, too.

36 Intellectual Property

37 IP Patents and Copyrights Licensing vs. Owning software
Types of Software: Freeware Shareware Open source software Commercial software Patent Troll

38 CAREER OPPORTUNITIES

39 Programming

40 Variables Integer – 1, 2, 3231 Float – 98.6, 3.14159 Fixed – 42.99
Character – “C”, “H”, “3” String – “Bobcat” “First Class” Array – [1, 2, 3, 32, 11]

41 Variables Loops For/Do While Until Logical If-Then-Else

42 PROJECTS

43 HTML/Javascript

44 Introduction to JavaScript
learn/introduction-to-javascript If you want, you can make up an address for the sign-up. We will do this for 20 minutes.

45 Python python.org

46 Search for: ONLINE PYTHON

47 Find the sum: = ???

48 How many ways can you shuffle a deck of cards?

49 Find the product: 52! = 52 * 51 * 50 * 49 * … * 4 * 3 * 2 * 1 = ??? Is this more or less than a googol?

50

51 The Legend of the Chessboard

52

53 What is a pirate's favorite open-sourced, single-board
microcontroller?

54 DEV **Old Version** #define ARDUMOTO_14 DEV **New Version** #define ARDUMOTO_20

55 New QTR Sensor Wiring

56

57 Advanced Challenge 2018 We will give you six tile shapes that can be combined to form a path. You will use your remote to send your robot a list of tiles to traverse. You will need to come up with detailed routes for each of the six possible tiles. Once you enter these routes and the codes for your remote, the Gobbit software control the overall logic. Each round will be an increasingly complex course. Fastest time will be the winner.

58 Six Possible Tiles

59 Sample Courses 1 1 6 2 6 4 6 5 5 1 4

60 GobbitLineCommand Library Functions
// Follow the line in called Mode: // Mode 0, along the line and never exit so it will // not do anything else outside of the function. // Mode 1, do 1 thing... run through the followLine // function one time and make only one motor // adjustment then exit. // Mode 2, do 2 things... run through the followLine // adjustment while checking if an intersection // is present then exit. // Mode 3, follow along the line until an intersection // is found, update intersection turn flags, // then exit. void followLine(byte followMode) Examples: MyBot.followLine(3);

61 GobbitLineCommand Library Functions (cont.)
// These variables are byte "flags" to indicate if the robot has // seen a line to the left, forward (straight ahead), or right. // Also "flags" to indicate if an end or if a marker was found. // 1 (true) if found // 0 (false) if not found // Calling the drive (not when drive('S')), move, turn, and backup // will reset the flags. byte isItFound1 = MyBot.foundLeft; byte isItFound2 = MyBot.foundRight; byte isItFound3 = MyBot.foundForward; byte isItFound4 = MyBot.foundEnd; byte isItFound5 = MyBot.foundMark; Examples: if(MyBot.foundForward){…} if(MyBot.foundLeft){…}

62 GobbitLineCommand Library Functions (cont.)
// Turns the robot using the line sensor on a lined course. // Uses the 'turnSpeedHigh' and 'turnSpeedLow' motor values while turning. // Turn direction values of ('L')eft, ('R')ight, or ('U')turn // Left turns left until the next line is found, regardless of 90 or // degree. // Right turns right until the next line is found, regardless of 90 or // U-turn turns left and assumes a 180 degree turn is requested where one // line is to be passed then stop at next. This is actually the same // as running two turn('L') commands, therefore, if there was no line // at 90 degree to the left, the turn will pass the 180 mark and stop // at the next line, wherever it may be. If that was the case, a // single Left or Right turn request would have been better. void turn(char turnDir) Examples: MyBot.turn('L'); MyBot.turn('R'); MyBot.turn(‘U');

63 Arduino If Statement and Logical Operators
if(condition 1){} else if (condition 2){} else if (condition 3){} else{} Logical Operators ! Not && And || Or

64 Tile 1

65 Tile 2

66 Tile 3

67 Tile 4

68 Tile 5

69 Tile 6


Download ppt "PROGRAMMING."

Similar presentations


Ads by Google