Python - Week 1 Mohammad Shokoohi-Yekta 1 An Introduction to - - PowerPoint PPT Presentation

python week 1
SMART_READER_LITE
LIVE PREVIEW

Python - Week 1 Mohammad Shokoohi-Yekta 1 An Introduction to - - PowerPoint PPT Presentation

Python - Week 1 Mohammad Shokoohi-Yekta 1 An Introduction to Computers and Problem Solving 1.1 An Introduction to Computers 1.2 Program Development Cycle 1.3 Programming Tools 1.4 Starting Python 2 Communicating with the


slide-1
SLIDE 1

1

Python - Week 1

Mohammad Shokoohi-Yekta

slide-2
SLIDE 2

2

An Introduction to Computers and Problem Solving

  • 1.1 An Introduction to Computers
  • 1.2 Program Development Cycle
  • 1.3 Programming Tools
  • 1.4 Starting Python
slide-3
SLIDE 3

3

Communicating with the Computer

  • Machine language – low level, hard for

humans to understand

  • Python – high level, understood by

humans, consists of instructions such as Click, If, and Do

slide-4
SLIDE 4

4

Popular High-Level Languages

  • COBOL (COmmon Business Oriented Language)
  • FORTRAN (FORmula TRANslation)
  • BASIC (Beginner All-purpose Symbolic Instructional Code)
  • Pascal (named for Blaise Pascal)
  • Ada (named for Ada Lovelace)
  • C (whose developer designed B first)
  • Visual Basic (Basic-like visual language developed by Microsoft)
  • Delphi (Pascal-like visual language developed by Borland)
  • C++ (an object-oriented language, based on C)
  • C# (a Python-like language developed by Microsoft)
  • Python (We use it in the book)
slide-5
SLIDE 5

Compiler

  • A compiler translates a high-level language

into machine language.

  • The Python compiler points out certain types
  • f errors during the translation process.

5

slide-6
SLIDE 6

6

Programming and Complicated Tasks

  • Tasks are broken down into instructions

that can be expressed by a programming language

  • A program is a sequence of instructions
  • Programs can be only a few instructions
  • r millions of lines of instructions
slide-7
SLIDE 7

7

All Programs Have in Common:

  • Take data and manipulate it to produce a

result

  • Input – Process – Output
  • Input – from files, the keyboard, or other

input device

  • Output – usually to the monitor, a printer, or

a file

slide-8
SLIDE 8

8

Hardware and Software

  • Hardware – the physical components of

the computer

  • Central processing unit
  • Disk drive
  • Monitor
  • Software – The instructions that tell the

computer what to do

slide-9
SLIDE 9

9

Programmer and User

  • Programmer – the person who solves the

problem and writes the instructions for the computer

  • User – any person who uses the program written

by the programmer

slide-10
SLIDE 10

10

Problem Solving

  • Developing the solution to a problem
  • Algorithm – a step by step series of

instructions to solve a problem

slide-11
SLIDE 11

11

1.2 Program Development Cycle

  • Performing a Task on

the Computer

  • Program Planning
slide-12
SLIDE 12

12

Terminology

A computer program may also be called:

  • Project
  • Application
  • Solution
slide-13
SLIDE 13

13

Program Development Cycle

  • Software refers to a collection of

instructions for the computer

  • The computer only knows how to do

what the programmer tells it to do

  • Therefore, the programmer has to know

how to solve problems

slide-14
SLIDE 14

14

Performing a Task on the Computer

  • Determine Output
  • Identify Input
  • Determine process necessary to turn

given Input into desired Output

slide-15
SLIDE 15

15

Problem-Solving: Approach Like Algebra Problem

  • How fast is a car traveling if it goes 50

miles in 2 hours?

  • Output: a number giving the speed in

miles per hour

  • Input: the distance and time the car has

traveled

  • Process: speed = distance / time
slide-16
SLIDE 16

16

Pictorial representation of the Problem Solving Process

slide-17
SLIDE 17

17

Program Planning

  • A recipe is a good example of a plan
  • Ingredients and amounts are

determined by what you want to bake

  • Ingredients are input
  • The way you combine them is the

processing

  • What is baked is the output
slide-18
SLIDE 18

18

Program Planning (continued)

  • Always have a plan before trying to

write a program

  • The more complicated the

problem, the more complex the plan must be

  • Planning and testing before coding

saves time

slide-19
SLIDE 19

19

Program Development Cycle

  • 1. Analyze: Define the problem.
  • 2. Design: Plan the solution to the

problem.

  • 3. Choose the interface: Select the
  • bjects (text boxes, buttons, etc.).
slide-20
SLIDE 20

20

Program Development Cycle (continued)

4. Code: Translate the algorithm into a programming language. 5. Test and debug: Locate and remove any errors in the program. 6. Complete the documentation: Organize all the materials that describe the program.

slide-21
SLIDE 21

21

1.3 Programming Tools

  • Flowcharts
  • Pseudocode
  • Hierarchy Chart
  • Direction of Numbered NYC Streets

Algorithm

  • Class Average Algorithm
slide-22
SLIDE 22

22

Programming Tools

Three tools are used to convert algorithms into computer programs:

  • Flowchart - Graphically depicts the logical

steps to carry out a task and shows how the steps relate to each other.

  • Pseudocode - Uses English-like phrases

with some Python terms to outline the program.

  • Hierarchy chart - Shows how the different

parts of a program relate to each other.

slide-23
SLIDE 23

23

Algorithm

A step-by-step series of instructions for solving a problem (a recipe is an example

  • f an algorithm).
slide-24
SLIDE 24

24

Problem Solving Example

  • How many stamps should you use when

mailing a letter?

  • One rule of thumb is to use one stamp

for every five sheets of paper or fraction thereof.

slide-25
SLIDE 25

25

Algorithm

  • 1. Request the number of sheets of paper;

call it Sheets. (input)

  • 2. Divide Sheets by 5. (processing)
  • 3. Round the quotient up to the next

highest whole number; call it Stamps. (processing)

  • 4. Reply with the number Stamps. (output)
slide-26
SLIDE 26

26

Flowchart

Graphically depicst the logical steps to carry out a task and show how the steps relate to each other.

slide-27
SLIDE 27

27

Flowchart Symbols

slide-28
SLIDE 28

28

Flowchart Symbols (continued)

slide-29
SLIDE 29

29

Flowchart Example

slide-30
SLIDE 30

30

Pseudocode

Uses English-like phrases with some Python terms to outline the task.

slide-31
SLIDE 31

31

Pseudocode Example

Determine the proper number of stamps for a letter Read Sheets (input) Set the number of stamps to Sheets / 5 (processing) Round the number of stamps up to the next whole number (processing) Display the number of stamps (output)

slide-32
SLIDE 32

32

Hierarchy Chart

  • Shows how the different parts of a program

relate to each other Hierarchy charts are also called

  • structure charts
  • HIPO (Hierarchy plus Input-Process-Output)

charts

  • top-down charts
  • VTOC (Visual Table of Contents) charts
slide-33
SLIDE 33

33

Hierarchy Charts Example

slide-34
SLIDE 34

34

Divide-and-Conquer Method

  • Used in problem solving – take a large

problem and break it into smaller problems

  • Solve the small problems first
slide-35
SLIDE 35

35

Statement Structures

  • Sequence – execute instructions from
  • ne line to the next without skipping
  • ver any lines
  • Decision - if the answer to a question is

“Yes” then one group of instructions is

  • executed. If the answer is “No,” then

another is executed

  • Looping – a series of instructions are

executed repeatedly

slide-36
SLIDE 36

36

Sequence Flow Chart

slide-37
SLIDE 37

37

Decision Flow Chart

slide-38
SLIDE 38

38

Looping Flow Chart

slide-39
SLIDE 39

39

Direction of Numbered NYC Streets Algorithm

  • Problem: Given a street number of a
  • ne-way street in New York City, decide

the direction of the street, either eastbound or westbound

  • Discussion: in New York City even

numbered streets are Eastbound, odd numbered streets are Westbound

slide-40
SLIDE 40

40

Flowchart

slide-41
SLIDE 41

41

Pseudocode

Program: Determine the direction of a numbered NYC street Get street If street is even Then Display Eastbound Else Display Westbound End If

slide-42
SLIDE 42

42

Hierarchy Chart

slide-43
SLIDE 43

43

Class Average Algorithm

Problem: Calculate and report the average grade for a class Discussion: The average grade equals the sum of all grades divided by the number of students Input: Student grades Processing: Find sum of the grades; count number of students; calculate average Output: Average grade

slide-44
SLIDE 44

44

Flowchart

slide-45
SLIDE 45

45

Pseudocode

Program: Determine average grade of a class Initialize Counter and Sum to 0 Do While there are more data Get the next Grade Add the Grade to the Sum Increment the Counter Loop Compute Average = Sum / Counter Display Average

slide-46
SLIDE 46

46

Hierarchy Chart

slide-47
SLIDE 47

47

Comments

  • When tracing a flowchart, begin at the start

symbol and follow the flow lines to the end symbol.

  • Testing an algorithm at the flowchart stage

is known as desk checking.

  • Flowcharts, pseudocode, and hierarchy

charts are program planning tools that are in dependent of the language being used.

slide-48
SLIDE 48

48

Tips and Tricks of Flowcharts

  • Flowcharts are time-consuming to write and

difficult to update

  • For this reason, professional programmers

are more likely to favor pseudocode and hierarchy charts

  • Because flowcharts so clearly illustrate the

logical flow of programs, they are a valuable tool in the education of programmers

slide-49
SLIDE 49

1.4 Starting Python

Python is a general purpose programming language. Python are now used in: Google search engine, NASA, NYSE, …

49

slide-50
SLIDE 50

Python 2 vs. Python 3

Python 3 is a newer version, but it is not backward compatible with Python 2. That means if you write a program using Python 2, it may not work on Python 3.

50

slide-51
SLIDE 51

https://docs.python.org/

51

slide-52
SLIDE 52

Install Python (3.5.1)

  • https://www.python.org/downloads/

52

slide-53
SLIDE 53

For Windows Users

53

slide-54
SLIDE 54

Install PyCharm (Community Version)

  • https://www.jetbrains.com/pycharm/download/

54

slide-55
SLIDE 55

55

C U next week J