Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Languages. Objectives Understand how programming has evolved Be able to write simple programs using a text based programming language.

Similar presentations


Presentation on theme: "Programming Languages. Objectives Understand how programming has evolved Be able to write simple programs using a text based programming language."— Presentation transcript:

1 Programming Languages

2 Objectives Understand how programming has evolved Be able to write simple programs using a text based programming language

3 History Timeline

4 Machine languages Assembly languages Higher-level languages To build programs, people use languages that are similar to human language. The results are translated into machine code, which computers understand. Programming languages fall into three broad categories: The Evolution of Programming Languages

5 Machine languages (first-generation languages) are the most basic type of computer languages, consisting of strings of numbers the computer's hardware can use. Different types of hardware use different machine code. For example, IBM computers use different machine language than Apple computers. The Evolution of Programming Languages - Machine Languages

6 Assembly languages (second-generation languages) are only a bit easier to work with than machine languages. They use English-like phrases to represent strings of numbers. The code is then translated into object code, using a translator called an assembler. They are quite difficult for people to understand The Evolution of Programming Languages - Assembly Languages

7 Assembler Assembly code Object code

8 Third-generation languages Fourth-generation languages Fifth-generation languages Higher-level languages are more powerful than assembly language The instructions the programmer uses to write them are more like English so are easier to understand Higher-level programming languages are divided into three "generations," each more powerful than the last: The Evolution of Programming Languages - Higher-Level Languages

9 FORTANC COBOLC++ BASICJava PascalActiveX The following languages are 3GLs: Higher-Level Languages - Third-Generation Languages

10 Visual Basic (VB) VisualAge Authoring environments 4GLs may use a text-based environment (like a 3GL) or may allow the programmer to work in a visual environment, using graphical tools. The following languages are 4GLs: Higher-Level Languages - Fourth-Generation Languages

11 Using Python Learn to Program

12 Let’s start to program Open the Python IDLE. What does it look like?

13 Python IDLE

14 The command prompt

15 Write your first program >>> print("Hello World") What happens?

16 Did you get this?

17 What happens if you type this? >>> print(Hello World)

18 Oh dear - something is wrong

19 Syntax errors Computers follow instructions EXACTLY! Computers are not good at dealing with nearly, almost, not quite. Syntax describes the rules that must be used when commands are written.

20 Different colours are used for different elements to help you. Colours

21 predict what will happen. >>> print "Hello World" >>> print ("Hello World"); >>> Print ("Hello World") >>> print ("Hel World") >>> prin (Hello World)

22 find out what happens >>> print "Hello World" >>> print ("Hello World"); >>> Print ("Hello World") >>> print ("Hel World") >>> prin (Hello World)

23

24 Debugging Now you know how to spot some errors. This is called DEBUGGING This is really important because you need to know how to correct your mistakes.

25 Create, save and test a program In IDLE click on File and New Window This is the Edit mode - there is no command prompt

26 Interactive mode and file editor Think of shopping…… If you are in the interactive mode (IDLE) if you said “buy milk” it would do it straight away, then “buy eggs” etc If you are in the editor it is like making a list of items to buy which will only work when you say “run shopping list”

27 Using the editor Save the program in your python folder as my_name Then press the f5 key to run the program

28 What other programs can you write? Add more questions into your my_name program by copying the first lines of code, pasting them and changing the question text.

29 Using a variable You are now going to use your name variable. Make the program print out the value that the user has saved in name. print (“hello…”) name = input(“What is your name? ”) print (“hello” + name) When you use = it means “make it become …” When you use + in print “…” + “… it means print both these things

30 print (“hello…” ) name = input(“What is your name?”) print (“hello” + name)

31 Errors and Debugging print (*hello…* ) name = input(“What is your name?”) print (“hello” + name) Why does it say “Syntax Error on line 1?” python dumbchatterbox.py Syntax Error on Line 1

32 Errors and Debugging print (“hello…” ) name = input(“What is your name?”) pirnt (“hello” + name) Why does it say “Syntax Error on line 3?” python dumbchatterbox.py Syntax Error on Line 3

33 Try it out! Can you remember how to save a program file? Which character is not allowed to be used in program file names? Don’t forget to include the.py at the end of the filename! Can you remember how to run a program you have created? Run your program!

34 What’s wrong? answer = input (Hello would you like to hear a joke?”) PRINT (“you said ”+ ANSWER) print (“Here is the joke …”) answer = input (“Why did the chicken cross the road?”) print (“you said + answer”) print (“To get to the other side!” ) python jokebox.py Error on Line 1 Error on Line 2 Error on Line 5

35 NEXT STAGE

36 Build an artificial intelligence program

37 Edit the program, save as questions

38 Can you add a summary? Can you create some script at the end of the program that might look something like this….? “So James, it was lovely to meet you. I know that you live in Newport and that your favourite food is pizza”

39 Research task What is the difference between a variable and a string? Can you identify these in the programs you have written?

40 Variables – items that can change Variable examples: my_name = input () favourite_food = input () my_age = input () my_school = input ()

41 Strings – a sequence of characters String examples: “Hello world” “What is your name” “What is your favourite food” “It is good fun talking to chatbots”

42 Using the Python interpreter as a calculator Go back to the IDLE screen What is 156 add 567? What is 132 subtract 46? What is 256 divided by 8? What is 389 multiplied by 13? Can you work out what mathematical symbols need to be used?

43 What works? Both of these work

44 The answers – use brackets!

45 Integers In computing, whole numbers (without decimals) are referred to as integers, this means that while 4.0 is not considered an integer, 4 is. It is possible to store integers in variables.

46 Integers stored in variables

47 IF, Else OR

48 Who Are You? print (“hello, what is your name”) name = input() if name == (“Mr Richards”): print (“you are ok”) print (“carry on”) else : print (“exterminate!!!“) print (“hello, what is your name”) name = input() if name == (“Mr Richards”): print (“you are ok”) print (“carry on”) else : print (“exterminate!!!“) What will this computer program do? Why do we use one equals sign (name = raw_input…) and two equals signs (if name == “Mr Richards” …)? What will this computer program do? Why do we use one equals sign (name = raw_input…) and two equals signs (if name == “Mr Richards” …)?

49 Why does this program cause an error? What does the : symbol do? Why does this program cause an error? What does the : symbol do? What’s wrong? print ("hello, what is your name”) name = input() if name = (“Mr Richards“): print ("you are ok“) Else : print (" exterminate!!!“) print ("hello, what is your name”) name = input() if name = (“Mr Richards“): print ("you are ok“) Else : print (" exterminate!!!“) python WhoAreYou.py Error Line 3 SyntaxError: invalid syntax Error Line 5 SyntaxError: invalid syntax

50 What’s wrong? print (“hello, what is your name”) name = input() if name == (“Mr Richards”): print (“you are ok”) else : print (“exterminate!!!”) print (“hello, what is your name”) name = input() if name == (“Mr Richards”): print (“you are ok”) else : print (“exterminate!!!”) python WhoAreYou.py Error Line 4 IndentationError: expected an indented block Error Line 6 IndentationError: expected an indented block Why does this program cause an error? What does INDENTATION do? Why does this program cause an error? What does INDENTATION do?

51 What’s wrong? print (“hello, what is your name”) name = input() if answer == (“Mr Richards”) print (“you are ok”) print (“carry on”) else : print (“exterminate!!!”) print (“hello, what is your name”) name = input() if answer == (“Mr Richards”) print (“you are ok”) print (“carry on”) else : print (“exterminate!!!”) python WhoAreYou.py Error Line 3 Syntax error Why does this program cause an error? What is the difference between = and ==? Why does this program cause an error? What is the difference between = and ==?

52 Lots of decisions? meal = input("What did you eat for breakfast?") if meal == (“nothing“): print (“That's not good, breakfast is important.“) elif meal == ("energy drink“): print ("That's not good. They are bad for you.“) elif meal == ("cereal“): print (“Now that's a good breakfast!“) else : print (“Sorry, I don't know what that is.“) print (“Thank you for taking part.“) meal = input("What did you eat for breakfast?") if meal == (“nothing“): print (“That's not good, breakfast is important.“) elif meal == ("energy drink“): print ("That's not good. They are bad for you.“) elif meal == ("cereal“): print (“Now that's a good breakfast!“) else : print (“Sorry, I don't know what that is.“) print (“Thank you for taking part.“) Use “elif” (else if) Like this … Use “elif” (else if) Like this …

53 CHALLENGE Make a “Smart Chatterbox” chat program that uses … Print (“…”) Variables raw_input (“…”) if …. : elif …. : else: Make a “Smart Chatterbox” chat program that uses … Print (“…”) Variables raw_input (“…”) if …. : elif …. : else: The Turing test is a test of a machine's ability to exhibit intelligent behaviour, equivalent to or indistinguishable from, that of an actual human. Has any computer ever passed the Turing Test? No. The Loebner Prize awards $5,000 annually for the chatbot which is "most indistinguishable from a human." There is still $100,000 reserved from Dr. Loebner for the first chatbot to actually pass the Turing test. Has any computer ever passed the Turing Test? No. The Loebner Prize awards $5,000 annually for the chatbot which is "most indistinguishable from a human." There is still $100,000 reserved from Dr. Loebner for the first chatbot to actually pass the Turing test.

54 Comments Comments can be used to make a program easier to understand when someone reads it. A # tells the computer that what follows is a comment The computer ignores the comments

55 ################ # Now add comments to all of your lines of code

56 Maths Challenge Make a “maths_questions” program that uses … Print (“…”) Variables raw_input (“…”) if …. : else: The program should ask a maths question get and answer and print a suitable message for both the correct and wrong responses Make a “maths_questions” program that uses … Print (“…”) Variables raw_input (“…”) if …. : else: The program should ask a maths question get and answer and print a suitable message for both the correct and wrong responses

57 Here is the code: save as maths_questions

58 Add more questions to your game Can you add 5 more maths questions to your game questions?

59 12 times table Create a test that will check the user’s knowledge of the 12 times multiplication table. The test should have between 4 and 12 questions. Save the file as 12_times_table It must include a header (description, your name and date) You must make use of comments (#)

60 Can you answer this question? Answer = int(answer) Thinking back to the use of integers in the last lesson, what does this do and what does int mean?

61 Answer = int(answer) This converts the text string into a number or integer. If it was not converted to an integer, it could not be compared to another integer, the answer 4.

62 Can you answer this question? if answer ==4: What this mean?

63 if answer ==4: Carry out the instruction if the answer is 4 == means ‘equal’ to, as in “is it equal to?”

64 Can you answer this question? What does else mean

65 else Carry out the instruction if none of the previous if conditions were true

66 Can you answer this question? Why are the indents necessary after the if and else statements?

67 Indents This means follow the these instructions if the statement above is true.

68 Can you answer this question? What happens if the colons are not there after the 4 or else?

69 Colons You get a syntax error

70 Final Challenge Invent your own game

71 Start with a blank file, create your own number game using Python. Add appropriate comments to your game including a header with your name, title and instructions on how to play the game. Add line comments to explain parts of the code. You should include at least 5 questions. Decide what the actual questions are about and the level of difficulty.

72 Examples How many seconds are there in 1 hour? How many days are there in a leap year? If a triangle has 2 angles of 45 degrees, what will the remaining angle be? If a = 2b – 5 and b = 6, what is a? What is the minimum legal age to vote in the UK? What is 10010001 converted to denary?

73 Success criteria Create a game that works and save it Use enough comments to explain how the game works Add a scoring feature to the game Ask the user some questions at the beginning of the game Add a function to report the score at the end of each question Include responsive feedback at the end of the game Include comments to describe what the code does Include a larger set of questions increasing with difficulty Allow the user to try again on a wrong answer, but award a reduced score for a second attempt Give the user feedback midway through the game as encouragement Add some comments explaining how they could add extra features to the game.

74 Random selection Whose game shall we look at? Let’s look at it together. In pairs, swap over and mark each others work using the criteria. Improve your work based on the feedback you have been given

75 http://docs.python.org/2/tutorial/ http://sandbox.mc.edu/~bennet/python/code/index.html http://norvig.com/sudoku.html http://python.net/~goodger/projects/pycon/2007/idiomatic /handout.html http://python.net/~goodger/projects/pycon/2007/idiomatic /handout.html Want to learn more? Some useful sites


Download ppt "Programming Languages. Objectives Understand how programming has evolved Be able to write simple programs using a text based programming language."

Similar presentations


Ads by Google