python programming - i. introduction

58
PYTHON PROGRAMMING: I. INTRODUCTION Engr. Ranel O. Padon

Upload: engr-ranel-padon

Post on 19-May-2015

1.654 views

Category:

Technology


0 download

DESCRIPTION

Feel free to download the material for offline viewing later, better images' resolutions, and crispier fonts.

TRANSCRIPT

Page 1: Python Programming - I. Introduction

PYTHON PROGRAMMING: I. INTRODUCTIONEngr. Ranel O. Padon

Page 2: Python Programming - I. Introduction

PYTHON PROGRAMMING TOPICS

I • Introduction to Python Programming

II • Python Basics

III • Controlling the Program Flow

IV • Program Components: Functions, Classes, Modules, and Packages

V • Sequences (List and Tuples), and Dictionaries

VI • Object-Based Programming: Classes and Objects

VII • Customizing Classes and Operator Overloading

VIII • Object-Oriented Programming: Inheritance and Polymorphism

IX • Randomization Algorithms

X • Exception Handling and Assertions

XI • String Manipulation and Regular Expressions

XII • File Handling and Processing

XIII • GUI Programming Using Tkinter

Page 3: Python Programming - I. Introduction

WHAT IS A COMPUTER?

Page 4: Python Programming - I. Introduction

COMPUTER | EVOLUTION

Page 5: Python Programming - I. Introduction

COMPUTER | HARDWARE

Page 6: Python Programming - I. Introduction

COMPUTER | LOGICAL STRUCTURE

Page 7: Python Programming - I. Introduction

COMPUTER | TRANSISTORS

computer uses transistors

a transistor has 2 states: on/off

Page 8: Python Programming - I. Introduction

COMPUTER | NATIVE TONGUE

because of transistors, computer uses the binary system/language

Page 9: Python Programming - I. Introduction

LANGUAGE TRANSLATION

Low-Level Language: Assembly Language

Page 10: Python Programming - I. Introduction

LANGUAGE TRANSLATION

Computer Languages’ Levels/Hierarchy

Page 11: Python Programming - I. Introduction

LANGUAGE TRANSLATION

High-Level Languages: Compilation vs Interpretation

Structure and Speed

Page 12: Python Programming - I. Introduction

LANGUAGE TRANSLATION

Compilation vs Interpretation

Structure and Speed

Page 13: Python Programming - I. Introduction

LANGUAGE TRANSLATION

Page 14: Python Programming - I. Introduction

LANGUAGE TRANSLATION

Page 15: Python Programming - I. Introduction

LANGUAGE TRANSLATION

Modern/Hybrid Languages

Page 16: Python Programming - I. Introduction

LANGUAGE TRANSLATION

Page 17: Python Programming - I. Introduction

COMPUTER PROGRAMMING

The process of designing, writing, testing, debugging, and

maintaining the source code of computer programs.

This source code is written in one or more programming languages

(such as Java, C++, C#, Python, etc.)

Page 18: Python Programming - I. Introduction

COMPUTER PROGRAMMING

The purpose is to create a set of instructions that computers use to

perform specific operations or to exhibit desired behaviors.

Requires expertise in many different subjects, including knowledge

of the application domain, specialized algorithms and formal logic.

Page 19: Python Programming - I. Introduction

COMPUTER PROGRAMMING

Application programmers write programs to handle a specific

job, such as a program to track inventory within an

organization.

They also may revise existing packaged software or

customize generic applications which are frequently

purchased from independent software vendors.

Page 20: Python Programming - I. Introduction

COMPUTER PROGRAMMING

Systems programmers write programs to maintain and control

computer systems software, such as operating systems and

database management systems.

These workers make changes in the instructions that determine

how the network, workstations, and CPU of the system handle the

various jobs they have been given and how they communicate

with peripheral equipment such as printers and disk drives.

Page 21: Python Programming - I. Introduction

Systems programmers write programs to maintain and

control computer systems software, such as operating

systems and database management systems.

These workers make changes in the instructions that

determine how the network, workstations, and CPU of the

system handle the various jobs they have been given and

how they communicate with peripheral equipment such as

printers and disk drives.

PROGRAMMING LANGUAGES

Page 22: Python Programming - I. Introduction

PROGRAMMING LANGUAGES

Systems programmers write programs to maintain and

control computer systems software, such as operating

systems and database management systems.

These workers make changes in the instructions that

determine how the network, workstations, and CPU of the

system handle the various jobs they have been given and

how they communicate with peripheral equipment such as

printers and disk drives.

Page 23: Python Programming - I. Introduction

PROGRAMMING LANGUAGES

Page 24: Python Programming - I. Introduction

Programming languages used in most famous websites

PROGRAMMING LANGUAGES

Page 25: Python Programming - I. Introduction

Systems programmers write programs to maintain and

control computer systems software, such as operating

systems and database management systems.

These workers make changes in the instructions that

determine how the network, workstations, and CPU of the

system handle the various jobs they have been given and

how they communicate with peripheral equipment such as

printers and disk drives.

PROGRAMMING LANGUAGES: INFLUENCE

Page 26: Python Programming - I. Introduction

Basic Programmers

Computer Software Engineers

Web designers and Developers

Computer System Analyst

Freelancing Consultant

. . .

JOB OPPORTUNITIES

Page 27: Python Programming - I. Introduction

PYTHON

Page 28: Python Programming - I. Introduction

PYTHON

Page 29: Python Programming - I. Introduction

Guido Van Rossum

(The Creator)

PYTHON: THE MAN

Page 30: Python Programming - I. Introduction

PYTHON | GENEALOGY

Page 31: Python Programming - I. Introduction

PYTHON | TIMELINE

Page 32: Python Programming - I. Introduction

PYTHON

http://trends.builtwith.com/framework/Python

Page 33: Python Programming - I. Introduction

PYTHON

http://trends.builtwith.com/framework/Python

Page 34: Python Programming - I. Introduction

PYTHON

http://trends.builtwith.com/framework/Python

Page 35: Python Programming - I. Introduction

https://www.ohloh.net/p/python/estimated_cost

PYTHON

Page 36: Python Programming - I. Introduction

PYTHON

Page 37: Python Programming - I. Introduction

PYTHON

Page 38: Python Programming - I. Introduction

PYTHON

Page 39: Python Programming - I. Introduction

PYTHON

Page 40: Python Programming - I. Introduction

PYTHON

Page 41: Python Programming - I. Introduction

PYTHON

Page 42: Python Programming - I. Introduction

PYTHON

Page 43: Python Programming - I. Introduction

PYTHON

Top 10 Popular Languages

Page 44: Python Programming - I. Introduction

PYTHON

Python is simple & accessible.

Good compromise language

Easy to learn

Widely-used

Flexible

Page 45: Python Programming - I. Introduction

PYTHON

easy to learn

Page 46: Python Programming - I. Introduction

PYTHON

widely-used in the Industry (Dropbox uses Python!)

Page 47: Python Programming - I. Introduction

PYTHON

used by the Government

Page 48: Python Programming - I. Introduction

PYTHON

works with C/C++

Page 49: Python Programming - I. Introduction

PYTHON

works with Java and C#

Page 50: Python Programming - I. Introduction

PYTHON

... is Flexible

Scripting

Procedural Programming

Object-Oriented Programming

Functional Programming

Page 51: Python Programming - I. Introduction

PYTHON

Common Python Application Domains

Page 52: Python Programming - I. Introduction

PYTHON

Python: Handy, Powerful & Versatile

Page 53: Python Programming - I. Introduction

PYTHON

Read & Practice.

To be an expert at something, you need 10,000 hours!

Page 54: Python Programming - I. Introduction

PYTHON

But study smarter, not harder. And in order to be productive at

something, you just need the right 20% of the total information.

Page 55: Python Programming - I. Introduction

PYTHON

Find the essentials/most important building blocks

Page 56: Python Programming - I. Introduction

PYTHON

Be an efficient and effective learner.

Page 57: Python Programming - I. Introduction

PYTHON | END NOTES

Python is readable, maintainable, beautiful, and elegant.

There are many reusable Python libraries out there.

Not all things are important:

you don’t have to study all the intricacies of a

programming language to be productive.

EQ is very important in programming in general:

patience/persistence (never say die attitude)

attention to details (spotting anomalies to the lowest level)

belief/positive thinking (having confidence and an upbeat attitude)

resourcefulness/creativity (combining basic language constructs)

determination (especially when debugging)

Page 58: Python Programming - I. Introduction

REFERENCES

Deitel, Deitel, Liperi, & Wiedermann - Python: How to Program (2001).

Disclaimer: Most of the images/information used here have no proper source

citation, and I do not claim ownership of these either. I don’t want to reinvent the

wheel, and I just want to reuse and reintegrate materials that I think are useful or

cool, then present them in another light, form, or perspective. Moreover, the

images/information here are mainly used for illustration/educational purposes

only, in the spirit of openness of data, spreading light, and empowering people

with knowledge.