SMALL BASIC TO PYTHON CPD TRAINING CAS CPD
SMALL BASIC TO PYTHON CPD TRAINING CAS CPD
SCHEDULE 15: 15 Refreshments 15: 30 - 15: 45 Introduction 15: 45 - 16: 45 Small Basic 16: 45 - 18: 00 Python Workshop 18: 00 - 18: 15 Scheme of Work 18: 15 - 18: 30 Networking
INTRODUCTION TO SMALL BASIC Why Small Basic for student • One big reason is that it’s free from Microsoft • It is specifically designed for programmers who would be described as beginners, but with the benefits of a real coding environment. • It provide the gap between Scratch and Python • It builds confidence from which you can move onto other, more complex language, big brother Visual Basic • There are many built-in elements that make your work simpler and the language itself is very simple
INTRODUCTION TO SMALL BASIC Intelligent Support Another advantage of Small Basic is the fact that it gives you support as you are entering in your code. So as you type, a suggestion is made as to which command or variable you are wanting to use and will fill in for you. It will also give an explanation of what the command does. This means that many of the syntax errors which cause confusion and frustration are avoided.
INTRODUCTION TO SMALL BASIC How to Open Small Basic • Start All Program Microsoft Small Basic Run the program Code Area Execution Mode Area
INTRODUCTION TO SMALL BASIC Your First Program (Printing) • You will open Small Basic and create a program that print “Hello World” • As you start typing in small basic will suggest the command for you Text. Window. Write. Line ("Hello World”)
INPUT IN SMALL BASIC Extending to Input • We will now extend our program to as for user input • The program will print the user input • We use Read command to input • Try the example below Text. Window. Write. Line (“What is your name”) name = Text. Window. Read() Text. Window. Write("Hello " + name )
REVIEWIN ARTIFICIAL INTELLIGENCE FROM USING CHATBOTS To develop a better understanding of some current artificial intelligence technologies, look at some demonstrations below; Hold down Ctrl and click on the link to access the online Chatbot 1. Jabberwacky: http: //www. jabberwacky. com/ 2. Cleverbot: http: //www. cleverbot. com/ 3. Elbot: http: //www. elbot. com/
CREATING A SIMPLE AI Creating a Simple Artificial Intelligent (AI) • From the example below we can create a simple AI. • Extend the example below to create a simple AI • At this stage you should start encouraging students to start commenting on their code by usingle or double quotation mark (“ or ‘) ‘ Text. Window. Write. Line (“What is your name”) name = Text. Window. Read() Text. Window. Write. Line("Hello " + name ) Text. Window. Write. Line (“What is your favourite food? ”) food= Text. Window. Read() Text. Window. Write. Line(“Oh " + food + “ is my favorite too" )
SMALL BASIC (IF FUNCTION) Creating a Simple a simple quiz • From the example below we can create a simple quiz. Text. Window. Write. Line (“What is your name”) name = Text. Window. Read() Text. Window. Write. Line (“What is 2 + 2”) answer= Text. Window. Read() If Answer = "4" Then Text. Window. Write. Line ("Well done " + Name) Else Text. Window. Write. Line("That is the wrong answer" + Name + ", the answer was 4") End. If
WHAT IS A VARIABLE A variable is a space in the computer’s memory where we can store data such as a number or text. The value can be changed if required. The variable’s value 45 my_n variable name umbe r To create a variable and give it the value 45 we write: my_number=45 The box represents the space reserved in the computer’s memory
ACTIVITY You can also perform calculations that use a variable number. One = 3 number. Two = 4 answer = number. One + number. Two Text. Window. Write. Line(answer) You can use a variable in a calculation, and use the same variable to store the answer. � Predict the following code: � score = 112 score = score + 1 Text. Window. Write. Line(score)
SMALL BASIC (ADDING SCORE VARIABLE) Creating a Simple a simple quiz • From the example below add a score to your quiz. score = 0 Text. Window. Write. Line (“What is 2 + 2”) answer= Text. Window. Read() If Answer = "4" Then Text. Window. Write. Line ("Well done " + Name) score = score + 1 Else Text. Window. Write. Line("That is the wrong answer" + Name + ", the answer was 4") End. If Text. Window. Write. Line (“Your score is ” + score)
EXTENDING THE QUIZ One thing that we may wish to do with the quiz would be to allow the user to take the quiz again depending on the feedback. To do this, we need to use a label and a goto statement which directs the program to the label. The syntax for the label is labelname: and is positioned at any point in the programme where you would it to restart from. Text. Window. Write. Line("do you want to run again? ") answer = textwindow. read() If answer = "y" Then Goto startagain End. If
ADDING GOTO • Goto statement allow you to start executing at a particular point in your code • This is the cheating way of doing loop Activity • Add a “Start. Again” at the to top of your quiz • Add the code below Answer 1 = Text. Window. Read() If Answer 1 = "y" Then Goto Start. Again End. If
ADDING RESPONSIVE FEEDBACK • We are now going to add a responsive feedback to the quiz base on the score Activity • Assuming that you have 5 questions in your quiz, • Add a IF function that does the following • IF the score is more than 4 THEN • Display “Excellent work player name” • ELSE IF score is less than 3 THEN • Display “Good Work” • Else: • Display you need more practice and try again
ADDING RESPONSIVE FEEDBACK • Solution If score = 5 Then Text. Window. Write. Line ("Excellent work " + Name + " Your score is: " + score) Else. If score > 3 Then Text. Window. Write. Line ("Good work " + Name + " Your score is: " + score) Else Text. Window. Write. Line ("Try again " + Name + " Your score is: " + score) Text. Window. Write. Line ("Do you want to try again? ") Answer 1 = Text. Window. Read() If Answer 1 = "y" Then Goto Start. Again End. If
INTRO TO PYTHON PROGRAMMING CPD
USING THE INTERACTIVE MODE WITH PYTHON Type in the following, exactly as it shown here and then press the return key. print (“Hello World”) The phrase Hello World should appear immediately below the print as shown below >>> print (“Hello World”) Hello World >>>
UNDERSTANDING WHAT SYNTAX ERRORS ARE AND HOW TO AVOID THEM Syntax is used to describe the rules that determine the way that instructions and commands must be written. Python IDE has syntax highlighting which automatically assigns colours to different elements Example the “Hello World” phrase should be green. This should help spot some simple errors when typing in commands.
UNDERSTANDING WHAT SYNTAX ERRORS ARE AND HOW TO AVOID THEM Print in Purple Text in Green Comment in Red
ACTIVITY • Predict what will happen with some of the following codes; 1. >>> print"Hello World" 2. >>> print("Hello World"); 3. >>> Print("Hello World") 4. >>> print("Hel World") 5. >>> prin(Hello World) • Write your prediction on a sheet of paper • Now try them to see what if the response you get matches up with what you predicted.
WHAT IS A VARIABLE A variable is a space in the computer’s memory where we can store data such as a number or text. The value can be changed if required. The variable’s value 45 my_n variable name umbe r To create a variable and give it the value 45 we write: my_number=45 The box represents the space reserved in the computer’s memory
CREATING A VARIABLE • When we create a variable we call it ‘declaring’ a variable. • When we give the variable its first value we call it ‘initialising’ a variable. • If we want to tell the computer to ‘Create a variable called “age” and give it the number 12’, we say: • age = 12 • print (age)
ACTIVITY You can also perform calculations that use a variable number. One = 3 number. Two = 4 answer = number. One + number. Two print (answer)
INPUT • Input allow you to ask the user to input text (String), whole number (Integer ) and decimal (Floating) Examples 1 of Input print (“What your name? ” ) # this code ask user to enter their name = input () # Allow the user to enter their name print (“Nice to mee you” + name) # Output the name entered by the user. Example 2 of Input print (“What your first name? ” ) # this code ask user to enter first name first_name = input () # Allow the user to enter their first name print (“What your surname? ” ) # this code ask user to enter surname = input () # Allow the user to enter their surname print (first_name + surname ) # Output first name and surname entered
BUILDING FIRST PART OF ARTIFICIAL INTELLIGENCE PROGRAM IN PYTHON In this activity, you will create the first part of Artificial Intelligent and save its as AI. py. print(“What is your name? ") name = input () print("Nice to meet you " + name) � This three line phrase can be developed into a very simple Artificial Intelligence. � Consider the kinds of questions and information that people ask about each other when they first meet
EXTENDING ARTIFICIAL INTELLIGENCE print("Please type your name in") name = input () print("Nice to meet you " + name) print("So, " + name + ", what is your favourite food? ") favourite_food = input () print("Ah, your favourite food is " + favourite_food) Notice in the 4 th line above it is necessary to have two + signs, one either side of the variable name. Common errors to watch for are • Not having a complete pair of double quotation marks • Not adding + signs between variables and strings. Task: Expand on the above code to create your own artificial Intelligence Add a summary at the end e. g. “So, John, I know a lot about you now I know that your favourite food is chicken….
DATA TYPE AND CASTING • Casting is the technical term for changing the type of data you are working with. • Example casting by saying • int() = Integer • float() = floating point or decimal • str() = String or text to • Casting is used to change the data type.
INTEGER • We can force Python to make something a whole number by saying int(number). • Predict what the following code will do: • number = 3. 7 • new. Number = int(number) • print(new. Number) • Now copy the code in python and compare the answer with your prediction • Note that this won’t round the number up, it just takes the whole number part.
FLOAT • The second main type is a floating point, or just “float” for short (a decimal). • We can force Python to make something a float by saying float(number). • In group of two, predict what the following code will do: • number = 3 • print(number) • new. Number = float(number) • print(new. Number) • Now copy the code in python and compare the answer with your prediction
INTEGER CASTING ACTIVITY • Python will automatically change the data type for you a lot of the time: • In group of two, predict what the following code will do: • • x = int(22) y = int(7) z = x/y print(z) • Now copy the code in python and compare the answer with your prediction • Here, the two integers have provided a floating point answer and Python has changed the data type of z for you.
STRING • A string is a block of text. • In Python we use the term “str” to mean a string. • In group of two, predict what the following code will do: • number = str(2) • print("2 + 2 = ", number + number) • Now copy the code in python and compare the answer with your prediction • This makes the value “ 2” into a string - so it is a word rather than a number
IF FUNCTION (SELECTION) Selection means selecting (or choosing) what to do next. Should I cycle to school, or ask for a lift? • If it’s a sunny day I might cycle. • If it’s raining, I’ll ask for a lift. Answer print (“What is the weather like today? ”) answer = input () answer = str(answer) if answer == “sunny”: print(“I might Cycle to school”) else: print(“I’ll ask for a lift. ”)
IF. . . . ELSE Sometimes there are more than two options. I could walk OR cycle OR get the bus OR get a lift. As well as IF and ELSE, we can stick an ‘ELSE IF’ (or ELIF) in the middle: Write a pseudocode for the following code then try it. print (“What is the weather like today? ”) answer = input () answer = str(answer) if answer == “sunny”: print(“I might Cycle to school”) elif answer == “raining”: print(“I get the bus”) else: print(“I’ll ask for a lift. ”)
QUIZ Create a new file and type in the following code: print("What is 2 + 2? ") answer = input () answer = int(answer) if answer == 4: print("Well done") else: print("Sorry the answer was 4")
ACTIVITY You can use a variable in a calculation, and use the same variable to store the answer. � Predict the following code: � score = 112 score = score + 1 print(score)
ACTIVITY Modify the your game by adding the scores and comments score = 0 #this defines variable score, and sets it as zero print("What is 2 + 2? ") answer = input () answer = int(answer) if answer == 4: print("Well done") score = score + 1 #this increases score by one else: print("Sorry the answer was 4") � In group, discuss what the score does and the concept of “score now equals itself plus one”
LIFE CALCULATOR • Read the Life Calculator analysis • Identify all input, output and process • Make a flowchart using the symbols below Arrow
LIFE CALCULATOR • The system should enable the user to create a system which will calculate their expected life based on the answer they give. • The system needs to ask the user for their age, gender and name. • If they are male, their life expectancy will be 78; if they are female they will be 82. • If they are a smoker, then they lose 7 years from their lifespan. If they exercise, they gain 6 years, but lose 12 if they don’t. • Supporting Manchester United can also have an impact. If they do, the stress can take 5 years off their lives. • It would be nice if there was a validation check to see if age was too high or low when entered. • You need to identify the input and output of this system as you design it and think about the question that you will ask.
LIFE CALCULATOR Start INPUT name End INPUT age INPUT Life EXP INPUT gender N Life EXPT-5 Y Man U? Life EXPT + 6 Y Life EXPT-6 N Exercise ? Male or Female? M Life EXPT= 78 F Life EXPT= 82 Smoke? Y Life EXPT - 7
LIFE CALCULATOR AGE VALIDATION Start INPUT age Age > 100? N Age < 5? N End Y Y Too Old Too Young
LIFE CALCULATOR PYTHON SOLUTION
LIFE CALCULATOR PYTHON SOLUTION
LIFE CALCULATOR SMALL BASIC
LIFE CALCULATOR SMALL BASIC
SABOTAGE • Open your program • Swap seat with a partner • Look through your partner program • Think of two thing you can do to the program to make it stop working • Change or edit your partner code so that the whole program does not work
RESOURCES • Go on https: //www. dropbox. com • Login with the following detail • Username: ahmad. jalloh@computingatschool. org. uk • Password: computing Survey • https: //www. surveymonkey. com/s/NOEFirst. Feedback
CONCLUSION • Start simple • Always design it on paper first • Can just do top level design – no details first • Iterate • Do it in small basic or Scratch first • Recreate it in Python • If you get stuck ask: CAS has a Forum – No question too simple, small or stupid • Allow students explore different solution and share with their peers and yourself • Enjoy!
- Slides: 49