Presentation is loading. Please wait.

Presentation is loading. Please wait.

8 January 2016Birkbeck College, U. London1 Introduction to Programming Lecturer: Steve Maybank Department of Computer Science and Information Systems

Similar presentations


Presentation on theme: "8 January 2016Birkbeck College, U. London1 Introduction to Programming Lecturer: Steve Maybank Department of Computer Science and Information Systems"— Presentation transcript:

1 8 January 2016Birkbeck College, U. London1 Introduction to Programming Lecturer: Steve Maybank Department of Computer Science and Information Systems sjmaybank@dcs.bbk.ac.uk Spring 2016 Week 1: First Program

2 Module Information  Time: 18.00-21.00 on Fridays in the spring term.  A-K: lectures 18.00 to 19.20 lab sessions 19.40 to 21.00  L-Z: lab sessions 18.00 to 19.20 lectures 19.40 to 21.00  Week 9: mock in lab test  Weeks 10 and 11: real in lab test and mock exam 8 January 2016Birkbeck College, U. London2

3 Assessment Lab attendance (8 classes): 10% In Lab test: 20% Two hour examination in summer 2016: 70% Pass: an average mark of at least 40% The mock examination and a mock in lab test do not contribute to the assessment 8 January 2016Birkbeck College, U. London3

4 Textbook Essential: Cay Horstmann and Rance Necaise (2014) Python for Everyone, Wiley This module uses the first six chapters of PFE The lab classes are based on exercises in PFE 8 January 2016Birkbeck College, U. London4

5 Syllabus First program Safe operation of computing equipment Pseudo code and algorithm design Arithmetic Strings Relational operators and Boolean variables if statement Loops Functions Lists Programming exercises 8 January 2016Birkbeck College, U. London5

6 This Lecture Based on Ch. 1 of PFE Aim 1: provide background information on computing Aim 2: provide enough information to write a first Python program. 8 January 2016Birkbeck College, U. London6

7 Structure of a Computer Central Processing Unit: executes instructions. Primary storage (= main memory): volatile storage of programs and data ready for the CPU Bus: connects the CPU and the primary storage 8 January 2016Birkbeck College, U. London7 CPU primary storage

8 Peripheral Devices Input devices: mouse, keyboard, microphone Output devices: printer, monitor, speakers Input and Output device: hard drive (non- volatile secondary storage of programs and data) 8 January 2016Birkbeck College, U. London8

9 Problem The CPU of a computer can only carry out simple instructions known as machine code It is time consuming and error prone to write programs using machine code 8 January 2016Birkbeck College, U. London9

10 Solution Write programs in a high level language which is easier to understand than machine code. Use another program to convert high level programs into lists of machine code instructions for the CPU. 8 January 2016Birkbeck College, U. London10

11 Python Developed in the late 80s and early 90s by Guido van Rossum (National Research Institute for Mathematics and Computer Science, The Netherlands) Aim: to produce a language in which small programs can be written quickly The name: from Monty Python’s Flying Circus Python 0.9.0: year 1991 Python 2.0: year 2000 Python 3.0: year 2008 8 January 2016Birkbeck College, U. London11

12 Advantages of Python Simple syntax (= grammar) Portable without change to Windows, UNIX, Linux and Macintosh operating systems Easy to write programs for complex data Very large standard library 8 January 2016Birkbeck College, U. London12

13 Zen of Python – first 7 items Beautiful is better than ugly Explicit is better than implicit Simple is better than complex Complex is better than complicated Flat is better than nested Sparse is better than dense Readability counts 8 January 2016Birkbeck College, U. London13 https://www.python.org/dev/peps/pep-0020/

14 Python Interpreter The interpreter consists of a compiler and a virtual machine The compiler converts Python instructions to simpler instructions known as byte code The virtual machine is a software version of a CPU. It runs the byte code 8 January 2016Birkbeck College, U. London14

15 Portability The virtual machine is not portable Once the virtual machine is installed, it can run the byte code from any Python program 8 January 2016Birkbeck College, U. London15

16 Integrated Development Environment  Our IDE for Python is IDLE  IDLE facilities: Create file for program Edit program file Run program  See practical session 8 January 2016Birkbeck College, U. London16

17 IDLE Editor and Shell 8 January 2016Birkbeck College, U. London17 Left hand: editor, contains program Right hand: shell, receives output when the program is run

18 My First Program # My first program print("Hello World!") 8 January 2016Birkbeck College, U. London18 When the above program is run in IDLE the string "Hello World!" appears in the shell screen

19 Commentary # My first program is a comment. It is ignored by the interpreter print("Hello World!") is a statement print is the name of a function print("Hello World!") is a function call The string "Hello World!" is an argument for the function print() 8 January 2016Birkbeck College, U. London19

20 Colour Coding in IDLE Red for comments: # My first program Purple for functions: print(…) Green for data: "Hello World!" Blue for output: "Hello World!" 8 January 2016Birkbeck College, U. London20

21 More About Functions A function is a collection of programming instructions that carry out a particular task Example: print("Hello World!") We know the name of the function, the data supplied to the function and the data obtained from the function We do not need to know the programming instructions within the function 8 January 2016Birkbeck College, U. London21

22 Calls to print print("The answer is", 6+7, "!") # three arguments # The output is The answer is 13 ! print("Hello") # one argument print() # no arguments. A blank line is printed print("World") # one argument # The output is Hello World 8 January 2016Birkbeck College, U. London22

23 Errors Python is case sensitive: Print("Hello World!") # error if print is intended PRINT("Hello World!") # error if print is intended Syntax errors: print(Hello World!) print("Hello World!) 8 January 2016Birkbeck College, U. London23

24 Indentation # Statements must begin in the same column # The following statements are in error print("Hello") print("World") 8 January 2016Birkbeck College, U. London24

25 Compile Time Error  An error in the syntax (grammar of Python) is detected by the compiler, e.g. print(Hello World!)  An error message is produced, in this case SyntaxError: invalid syntax  The error must be corrected `by hand` 8 January 2016Birkbeck College, U. London25

26 Run Time Errors  Exception: the syntax is correct but the program stops when the error is encountered, e.g. print(1/0)  An exception produces an error message, in this case ZeroDivisionError: int division or modulo by zero  Run time error (but not an exception): the program runs but does not produce the desired result, e.g. print("Helo World!") 8 January 2016Birkbeck College, U. London26

27 Questions  What does this program print? print("39+3") print(39+3)  What does this program print? print("Hello", "World", "!")  What is the compile time error in this program? print("Hello", "World!) 8 January 2016Birkbeck College, U. London27


Download ppt "8 January 2016Birkbeck College, U. London1 Introduction to Programming Lecturer: Steve Maybank Department of Computer Science and Information Systems"

Similar presentations


Ads by Google