introduction to programming · reusable software components that model items in the real world...

Post on 21-Sep-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Python Programming, 1/e 1

Introduction to Programming

Computers and Programs

2

The Universal Machine

� What is a computer program?

� A detailed, step-by-step set of instructions telling a computer what to do.

� If we change the program, the computer performs a different set of actions or a different task.

� The machine stays the same, but the program changes!

� Programs are executed, or carried out.

� All computers have the same power, with suitable programming, i.e. each computer can do the things any other computer can do.

3

Program Power

� Software (programs) rule the hardware (the physical machine).

� The process of creating this software is called programming.

� Why learn to program?

� Fundamental part of computer science

� Having an understanding of programming helps you have an understanding of the strengths and limitations of computers.

4

Types of Programs

� Information Systems- UI portal, payroll

� Embedded Systems – Dedicated systems- programs built for specific devices-

� A program embedded in an elevator to open and close the door

� Heart monitors- tracks patient heartbeat and reports status

� Critical Systems-

� Safety Critical-Aircraft control towers

� Economic critical- program controlling All ATM should crash.

� Health critical – Program controlling insulin pump- gives overdose and patient dies

5

Programming Languages

� Natural language has ambiguity and imprecision problems when used to describe complex algorithms. � Programs expressed in an unambiguous ,

precise way using programming languages.

� Every structure in programming language has a precise form, called its syntax

� Every structure in programming language has a precise meaning, called its semantics.

6

Programming Languages

� Programming language like a code for writing the instructions the computer will follow.

� Programmers will often refer to their program as computer code.

� Process of writing an algorithm in a programming language often called coding.

7

Machine Languages, Assembly Languages, and High-level Languages

� Three types of programming languages

� Machine languages

� Strings of numbers giving machine specific instructions

� Example:

+10001110 (these would really be in binary)

+10011111

+11101101

� Assembly languages

� English-like abbreviations representing elementary computer operations (translated via assemblers)

� Example:

LOAD BASEPAY

ADD OVERPAY

STORE GROSSPAY 7

8

Machine Languages, Assembly Languages, and High-level Languages

� High-level languages

� Instructions closer to everyday English

English is a natural language. Although high level programming languages are closer to natural languages, it is difficult to get too close due to the ambiguities in natural languages (a statement in English can mean different things to different people – obviously that is unacceptable for computer programming). However, this is a big research area of computer science.

� Use mathematical notations (translated via compilers)

� Example:

grossPay = basePay + overTimePay

� Interpreter – Executes high level language programs without compilation.

8

9

Programming Languages

� High-level language c = a + b

� This needs to be translated into machine language that the computer can execute.

� Compilers convert programs written in a high-level language into the machine language of some computer.

10

Programming Languages

� Interpreters simulate a computer that understands a high-level language.

� The source program is not translated into machine language all at once.

� An interpreter analyzes and executes the source code instruction by instruction.

11

Programming Languages

� Compiling vs. Interpreting � Once program is compiled, it can be

executed over and over without the source code or compiler. If it is interpreted, the source code and interpreter are needed each time the program runs

� Compiled programs generally run faster since the translation of the source code happens only once.

12

Programming Languages

� Interpreted languages are part of a more flexible programming environment since they can be developed and run interactively

� Interpreted programs are more portable, meaning the executable code produced from a compiler for a Pentium won’t run on a Mac, without recompiling. If a suitable interpreter already exists, the interpreted code can be run with no modifications.

13

The Key Software Trend: Procedural High-level Languages

� A procedural programming paradigm is a programming technique that works in a step by step method. In order for this method to work you have to create a sequence of instructions of steps, thus telling the computer what to do first and then second. Typical procedural programming languages are C, FORTRAN, pascal, and BASIC

14

Procedural Languages

15

Questions

As useful as internet is to us, the following enumerates the disadvantages except

A) Lack of data security B)It can become addictive C)Research information for school projects and business D)Moral abuse through pornographic pictures

ISP stands for -------- A) Internetwork Standard Procedure

B) Intranet Secure Protocol C) Intranet Service Provider

D) Internet Service Provider

16

The Key Software Trend: Object-Oriented programming

� object oriented programming is a programming language model organized around objects rather than actions and around data rather than logic. Object is best described as its own class in programming and it has two key areas, state and behaviour. Oriented programming is also a type of programming, not only does it describe the database of a data structure but it also describes the types of operations. Most languages are actually developed using the OOP concept. C++ and Java are examples of OOP

17

Oriented programming

� Objects

� Reusable software components that model items in the real world

� Meaningful software units e.g ui portal � Student objects, course objects, objects, invoice objects, audio

objects, video objects, file objectsetc.

� Any noun can be represented as an object

� Very reusable

� More understandable, better organized, and easier to maintain than procedural programming

� Favor modularity

17

18

OOP

� Student portal

� Student is an object – attributes are name, matno, dob

� Examples: Java, C++, and Python

19

The Process Of Creating A

Computer Program

Program Creation

• A person (programmer) writes a

computer program (series of

instructions).

• The program is written and

saved using a text editor.

• The instructions in the

programming language are high

level (look much like a human

language).

Translation

• A special computer program (translator) translates

the program that was just written by the

programmer into the only form that the computer

can understand (machine language/binary)

Execution

• The machine language

instructions can now be

directly executed by the

computer.

20

Recap: Software development method

1. Specification of needs/requirements specification

2. Problem analysis

3. Design and algorithmic representation

4. Implementation

5. Testing and verification

6. Documentation

21 21

The Software Development Process

� Implement the Design

� Translate the design into a computer language.

� In this course we will use Python.

22 22

Debug the Program

� Test/Debug the Program

� Try out your program to see if it worked.

� If there are any errors (bugs), they need to be located and fixed. This process is called debugging.

� Your goal is to find errors, so try everything that might “break” your program! Hacking

Competition

� Types of Programming Errors

23

Types Of Programming Errors

� 1.Syntax/translation errors

� 2.Runtime errors

� 3.Logic errors

24

Syntax/ Translation Errors

� 1.Syntax/ Translation Errors

� •Each language has rules about how statements are to be structured.

� •An English sentence is structured by the grammar of the English language:

� -The cat sleeps the sofa.

� Grammatically incorrect:

a preposition is missing . --the sofa‟.

Begin

if score =‘80’

Then print grade=‘7’

end

25

Runtime Errors

Occur as a program is executing (running).

� •The syntax of the language has not been violated (each statement follows the rules/syntax).

� •During execution a serious error is encountered that causes the execution (running) of the program to cease.

� •With a language like Python where translation occurs just before execution (interpreted) the timing of when runtime errors appear won‟t seem different from a syntax error.

� •But for languages where translation occurs well before execution (compiled) the difference will be quite noticeable.

� •A common example of a runtime error is a division by zero error.

26

Logic Errors

� •The program has no syntax errors.

� •The program runs from beginning to end with no runtime errors.

� •But the logic of the program is incorrect (it doesn‟t do what it‟s supposed to and may produce an incorrect result).

� •Program name: error_logic.py

� print ("This program will calculate the area of a rectangle“)

� length = int(input("Enter the length: "))

� width = int(input("Enter the width: "))

� area = length + width

� print ("Area: ", area)

27

Components of Programs: Functions Vs Procedures

Usually we want to execute several statements together

that solve a common problem. One way to do this is to

use a functions or procedures.

Put the statements in a function and call the function in

a main program to use it

Functions must return a value, procedures are called to

execute a series of instructions, they may not return a

value.

Each programing language has a syntax to implement

functions and procedures

28

Variables

� Set aside a location in memory.

� Used to store information (temporary).

� This location can store one ‘piece’ of

information.

� At most the information will be accessible as

long as the program runs.

� Some of the types of information which can be

stored in variables: studentname=‘Bola’

� DOB = 10/10/2010

29

Variable Naming Conventions

� Style requirement: The name should be meaningful.

� Style and Python requirement: Names must start with a

letter (Python requirement) and should not begin with

an underscore i.e ( _ ) (style requirement).

� Python requirement: Can't be a keyword (see next

slide).

� Style requirement: Names are case sensitive but avoid

distinguishing variable names only by case.

� Style requirement: Variable names should generally be

all lower case.

� Style requirement: For variable names composed of

multiple words separate each word by capitalizing the

30

Questions

What are the two major categories of software A)Operating and disk operating software B)System and operating software C)Utility and application software D)System and application software

What are the three phases of computer operations? A) Hardware, software, middleware B) Input, processing, output (C) Data , communication, processing D) Analog, Digital, Hybrid

31

Python: The Basics

32

History � Python was created by Guido van Rossum in the late 1980’s at

the National Research Institute for Mathematics and Computer Science in the Netherlands.

� Python is derived from many other languages, including Modula-3, C, C++, Algol-68, SmallTalk, and Unix shell and other scripting languages.

� Python is a general purpose interpreted, interactive, object-oriented, high-level programming language.

� Current release version is version 2.6.? available for UNIX, PC and Mac. Version 3 is under development.

32

33

What is Python

� Python is a high-level, interpreted, interactive and object oriented-scripting language, designed to be highly readable, commonly uses English keywords.

� Python is Interpreted: This means that it is processed at runtime by the interpreter and you do not need to compile your program before executing it. This is similar to PERL and PHP.

� Python is Interactive: This means that you can actually sit at a Python prompt and interact it directly to write your programs.

� Python is Object-Oriented: This means that Python supports Object-Oriented style or technique of programming that encapsulates code within objects.

� Python is Beginner's Language: Python is a great language for the beginner programmers and supports the development of a wide range of applications.

33

34

Python Features

� Feature highlights include:

� Easy-to-learn: Python has relatively few keywords, simple structure, and a clearly defined syntax. This allows the student to pick up the language in a relatively short period of time.

� Easy-to-read: Python code is clearly defined and if well written visually simple to read and understand.

� Easy-to-maintain: Python's success is that its source code is fairly easy-to-maintain.

� A broad standard library: One of Python's greatest strengths is the bulk of the library is very portable and cross-platform compatible on UNIX, Windows, and Macintosh.

� Interactive Mode: Support for an interactive mode in which you can enter results from a terminal right to the language, allowing interactive testing and debugging of snippets of code.

34

35

Python Features � Portable: Python can run on a wide variety of hardware

platforms and has the same interface on all platforms.

� Extendable: You can add low-level modules to the Python interpreter. These modules enable programmers to add to or customize their tools to be more efficient.

� Database Aware: Python provides interfaces to all major commercial databases.

� GUI Programming: Python supports GUI applications that can be created and ported to many system calls, libraries, and windows systems, such as Windows MFC, Macintosh, and the X Window system of Unix.

� Scalable: Python provides a better structure and support for large programs than shell scripting.

35

36

Important Features

� Apart from the above mentioned features, Python has a big list of important structural features that make it an efficient programming tool, few are listed below:

� Built-in high level data types: strings, lists, dictionaries, etc.

� The usual control structures if, if-else, if-elif-else, while plus a powerful (for) iterator.

� It can be used as a scripting language or can be compiled to byte-code for building large applications.

� Supports automatic garbage collection – memory management-it claims memory no longer in use and utilizes it for other processes.

� It can be easily integrated with Fortran, C, C++, CORBA, and Java, etc……

36

37

Getting Python & Help

� Getting Python:

� The most up-to-date and current source code, binaries, documentation, news, etc. is available at the official website of Python:Python Official Website : http://www.python.org/

� Documentation

� You can download the Python documentation from the following site. The documentation is available in HTML, PDF, and PostScript formats: http://docs.python.org/index.html

� Tutorial

� You should definitely check out the tutorial on the Internet at: http://docs.python.org/tutorial/.

37

38

39

Python Identifiers

� A Python identifier is a name used to identify a variable, function, class, module, or other object. An identifier starts with a letter A to Z or a to z or an underscore (_) followed by zero or more letters, underscores, and digits (0 to 9).Python does not allow punctuation characters such as @, $, and % within identifiers.

� Python is a case sensitive programming language. Thus Variable and variable are two different identifiers in Python.

39

40

Variables

� Set aside a location in memory.

� Used to store information (temporary).

� This location can store one ‘piece’ of

information.

� At most the information will be accessible as

long as the program runs.

� Some of the types of information which can be

stored in variables: studentname=‘Bola’

� DOB = 10/10/2010

41

Variable Naming Conventions

� Style requirement: The name should be meaningful.

� Style and Python requirement: Names must start with a

letter (Python requirement) and should not begin with

an underscore i.e ( _ ) (style requirement).

� Python requirement: Can't be a keyword (see next

slide).

� Style requirement: Names are case sensitive but avoid

distinguishing variable names only by case.

� Style requirement: Variable names should generally be

all lower case.

� Style requirement: For variable names composed of

multiple words separate each word by capitalizing the

42

Python Reserved Words or keyword

� The following list shows the reserved words in Python. These reserved words may not be used as constant or variable or any other identifier names. Reserved words contain lowercase letters only.

and, exec, not, assert, finally, or, break, for, pass, class, from, print, continue, global, raise, def, if, return, del, import, try, elif, in, while, else, is, with, except, lambda, yield.

42

43

summary

� General programming concepts

� Programming Paradyms

� Introduction to python

44

Running Python

� NEXT CLASS WE SHALL RUN OUR FIRST PYTHON PROGRAM!

44

45

Python Interfaces

� IDLE – Integrated DeveLopment Environment or Integrated Development and Learning Environment- a cross-platform Python development environment

� PythonWin – a Windows only interface to Python

� Python Shell – running 'python' from the Command Line opens this interactive shell

� For this course, we'll use IDLE, but you can try them all and pick a favorite

46

IDLE – Development Environment

� IDLE helps you program in Python by:

� color-coding your program code

� debugging

� auto-indent

� interactive shell

47

Example Python

� Hello World print “hello world”

� Prints hello world to standard out

� Open IDLE and try it out yourself

� Follow along using IDLE

top related