Coder dojo Limerick - introduction to programming languages

2,899 views

Published on

This is a presentation I delivered at Coder Dojo Limerick - http://coderdojo.com/

We teach Kids to Code !

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
2,899
On SlideShare
0
From Embeds
0
Number of Embeds
886
Actions
Shares
0
Downloads
14
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide
  • Objective to : Get a level for the class and to start interaction
  • You can start at any age.I started by typing in code, then changing it to see what happened.
  • BASIC was anything but basic
  • Coder dojo Limerick - introduction to programming languages

    1. 1. Programming Languages Coder Dojo - Limerick Mark Cahill – MBA, BEng
    2. 2. Problem: I need to cross a river
    3. 3. Bridge
    4. 4. Bridge
    5. 5. Possible solutions?
    6. 6. Possible solutions• Rocks• Swim• Boat• Bridge
    7. 7. Rocks
    8. 8. Rocks• The River is too deep
    9. 9. Bridge
    10. 10. Swim• There are Piranhas in the river• The current is too strong
    11. 11. Bridge
    12. 12. Bridge
    13. 13. Bridge
    14. 14. Bridge
    15. 15. Boat• I don’t know how to build a boat• I need to get a car across• The current is too strong & there is a dangerous waterfall.
    16. 16. Bridge
    17. 17. Helicopter• I don’t know how to build a helicopter• Where do I get the materials?• How long will it take to build?• How much will it cost?
    18. 18. Bridge
    19. 19. Bridge
    20. 20. Bridge
    21. 21. What kind of Bridge do I need?• What material?• How big?• How strong?• How wide?• How many times will be used?• How much will it cost to build?• Will I toll the bridge?
    22. 22. What kind of Bridge do I need?• How long will it take to build?• Does it need to be lift to let boats by?• What happens is the water rises?• Does it need maintenance?• Has someone built one that fits my needs?• What volume of traffic will pass over it?• How many people will be using it?
    23. 23. Q: Where is software used?
    24. 24. Q: Where is software used? A: Everywhere
    25. 25. Where I started• Commodore 64 at the age of 9
    26. 26. Language was called BASICNEW1 REM NUMBER GUESSING GAME2 PRINT "(CLR/HOME)"5 INPUT "ENTER UPPER LIMIT FOR GUESS "; LI10 NM = INT(LIRND(1))+115 CN = 020 PRINT "IVE GOT THE NUMBER.": PRINT30 INPUT "WHATS YOUR GUESS "; GU35 CN = CN + 140 IF GU > NM THEN PRINT "MY NUMBER IS LOWER." : PRINT : GOTO 3050 IF GU < NM THEN PRINT "MY NUMBER IS HIGHER.": PRINT : GOTO 3060 IF GU = NM THEN PRINT "GREAT! YOU GOT MY NUMBER"65 PRINT "IN ONLY"; CN ;"GUESSES." : PRINT70 PRINT "DO YOU WANT TO TRY ANOTHER (Y/N)?"80 GET AN$ : IF AN$ = "" THEN 8090 IF AN$ = "Y" THEN 2100 IF AN$ <> "N" THEN 70110 END
    27. 27. • Why do we need programming languages?
    28. 28. Think like a computer
    29. 29. Think like a computer• Computers are from Venus, Humans are from Mars• Computers “think” in a very different way to Humans.• Computers are stupid, Humans are intelligent.
    30. 30. Think like a computer• Computers will do exactly as you tell them to do.• Computers are very good at executing instructions over and over again, and will not get bored.
    31. 31. Think like a computer• Computers think in Binary.• People think about ‘things’ and how they relate to each other
    32. 32. Think like a computer• Computers view of Website address – 173.194.37.104• Human view of Website address – Google.ie
    33. 33. Computer view of a photo
    34. 34. Human view of a photo
    35. 35. Think like a computer• Computers view of Location• Human view of Location – Next door to Starbucks, by the Luas, you can’t miss it.
    36. 36. High and Low Level Languages• High Level languages – easy for a human to read. Examples are C++, Python, Java.• Low level Languages – are designed to be easy for a computer to execute; also called machine language or assembly language
    37. 37. High Level Languages
    38. 38. Low Level Languages
    39. 39. Hello World – C++
    40. 40. Hello World – C#
    41. 41. Hello World – 8051 assembler
    42. 42. Hello World - Java
    43. 43. Hello World -JavaScript
    44. 44. Hello World - PHP
    45. 45. Hello World – POV-Ray
    46. 46. Hello World -Python
    47. 47. Web• PHP• Python• Java• Perl• HTML• Ruby on Rails• Javascript• Flash
    48. 48. Desktop• C• C++• Python• Perl• Java
    49. 49. Games• C• C++• Python• Perl• Java
    50. 50. Artificial intelligence• Lisp• Prolog
    51. 51. Smart Phones• iPhone, iPad, iPod -> Objective C• Android -> C, C++• Nokia -> Java ME, C++, Ruby• Window 7 -> C#
    52. 52. Low level hardware• C• Assembly
    53. 53. Programming languagesDifferent languages solve different problems in different ways
    54. 54. List of programming languages• http://en.wikipedia.org/wiki/List_of_program ming_languages
    55. 55. What kind of Software Solution do I need?• What material?• How big?• How strong?• How wide?• How many times will be used?• How much will it cost to build?• Will I toll the bridge?
    56. 56. What kind of Software solution do I need?• How long will it take to build?• Does it need to be lift to let boats by?• What happens is the water rises?• Does it need maintenance?• Has someone built one that fits my needs?• What volume of traffic will pass over it?• How many people will be using it?
    57. 57. How do I cross a river?• There are many ways to solve a problem.• Every problem is different.• Ask the right questions.• Break the problem into smaller pieces• You choose the best Tool for the Job !

    ×