Top Banner
1 Python - Week 1 Mohammad Shokoohi-Yekta
55

Python - Week 1 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

Apr 19, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Python - Week 1 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

1

Python - Week 1

Mohammad Shokoohi-Yekta

Page 2: Python - Week 1 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

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

Page 3: Python - Week 1 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

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

Page 4: Python - Week 1 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

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)

Page 5: Python - Week 1 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

Compiler• A compiler translates a high-level language

into machine language.• The Python compiler points out certain types

of errors during the translation process.

5

Page 6: Python - Week 1 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

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

or millions of lines of instructions

Page 7: Python - Week 1 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

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

Page 8: Python - Week 1 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

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

Page 9: Python - Week 1 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

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

Page 10: Python - Week 1 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

10

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

instructions to solve a problem

Page 11: Python - Week 1 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

11

1.2 Program Development Cycle

• Performing a Task on the Computer

• Program Planning

Page 12: Python - Week 1 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

12

TerminologyA computer program may also be called:

• Project• Application• Solution

Page 13: Python - Week 1 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

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

Page 14: Python - Week 1 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

14

Performing a Task on the Computer

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

given Input into desired Output

Page 15: Python - Week 1 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

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

Page 16: Python - Week 1 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

16

Pictorial representation of the Problem Solving Process

Page 17: Python - Week 1 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

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

Page 18: Python - Week 1 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

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

Page 19: Python - Week 1 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

19

Program Development Cycle1. Analyze: Define the problem.2. Design: Plan the solution to the

problem.3. Choose the interface: Select the

objects (text boxes, buttons, etc.).

Page 20: Python - Week 1 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

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.

Page 21: Python - Week 1 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

21

1.3 Programming Tools• Flowcharts• Pseudocode• Hierarchy Chart• Direction of Numbered NYC Streets

Algorithm• Class Average Algorithm

Page 22: Python - Week 1 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

22

Programming ToolsThree tools are used to convert algorithmsinto 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.

Page 23: Python - Week 1 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

23

AlgorithmA step-by-step series of instructions for solving a problem (a recipe is an example of an algorithm).

Page 24: Python - Week 1 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

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.

Page 25: Python - Week 1 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

25

Algorithm1. 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)

Page 26: Python - Week 1 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

26

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

Page 27: Python - Week 1 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

27

Flowchart Symbols

Page 28: Python - Week 1 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

28

Flowchart Symbols (continued)

Page 29: Python - Week 1 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

29

Flowchart Example

Page 30: Python - Week 1 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

30

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

Page 31: Python - Week 1 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

31

Pseudocode ExampleDetermine the proper number of stamps for

a letterRead 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)

Page 32: Python - Week 1 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

32

Hierarchy Chart• Shows how the different parts of a program

relate to each otherHierarchy charts are also called • structure charts• HIPO (Hierarchy plus Input-Process-Output)

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

Page 33: Python - Week 1 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

33

Hierarchy Charts Example

Page 34: Python - Week 1 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

34

Divide-and-Conquer Method• Used in problem solving – take a large

problem and break it into smaller problems

• Solve the small problems first

Page 35: Python - Week 1 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

35

Statement Structures• Sequence – execute instructions from

one line to the next without skipping over 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

Page 36: Python - Week 1 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

36

Sequence Flow Chart

Page 37: Python - Week 1 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

37

Decision Flow Chart

Page 38: Python - Week 1 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

38

Looping Flow Chart

Page 39: Python - Week 1 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

39

Direction of Numbered NYC Streets Algorithm

• Problem: Given a street number of a one-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

Page 40: Python - Week 1 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

40

Flowchart

Page 41: Python - Week 1 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

41

PseudocodeProgram: Determine the direction of a

numbered NYC streetGet streetIf street is even Then

Display EastboundElse

Display WestboundEnd If

Page 42: Python - Week 1 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

42

Hierarchy Chart

Page 43: Python - Week 1 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

43

Class Average AlgorithmProblem: Calculate and report the average

grade for a classDiscussion: The average grade equals the

sum of all grades divided by the number of students

Input: Student gradesProcessing: Find sum of the grades; count

number of students; calculate averageOutput: Average grade

Page 44: Python - Week 1 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

44

Flowchart

Page 45: Python - Week 1 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

45

PseudocodeProgram: Determine average grade of a classInitialize Counter and Sum to 0Do While there are more data

Get the next GradeAdd the Grade to the SumIncrement the Counter

LoopCompute Average = Sum / CounterDisplay Average

Page 46: Python - Week 1 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

46

Hierarchy Chart

Page 47: Python - Week 1 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

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.

Page 48: Python - Week 1 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

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

Page 49: Python - Week 1 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

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

49

Page 50: Python - Week 1 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

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

Page 51: Python - Week 1 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

https://docs.python.org/

51

Page 52: Python - Week 1 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

Install Python (3.5.1)• https://www.python.org/downloads/

52

Page 53: Python - Week 1 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

For Windows Users

53

Page 54: Python - Week 1 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

Install PyCharm (Community Version)

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

54

Page 55: Python - Week 1 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

55

C U next week J