python programming - i. introduction
DESCRIPTION
Feel free to download the material for offline viewing later, better images' resolutions, and crispier fonts.TRANSCRIPT
PYTHON PROGRAMMING: I. INTRODUCTIONEngr. Ranel O. Padon
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
WHAT IS A COMPUTER?
COMPUTER | EVOLUTION
COMPUTER | HARDWARE
COMPUTER | LOGICAL STRUCTURE
COMPUTER | TRANSISTORS
computer uses transistors
a transistor has 2 states: on/off
COMPUTER | NATIVE TONGUE
because of transistors, computer uses the binary system/language
LANGUAGE TRANSLATION
Low-Level Language: Assembly Language
LANGUAGE TRANSLATION
Computer Languages’ Levels/Hierarchy
LANGUAGE TRANSLATION
High-Level Languages: Compilation vs Interpretation
Structure and Speed
LANGUAGE TRANSLATION
Compilation vs Interpretation
Structure and Speed
LANGUAGE TRANSLATION
LANGUAGE TRANSLATION
LANGUAGE TRANSLATION
Modern/Hybrid Languages
LANGUAGE TRANSLATION
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.)
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.
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.
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.
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
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.
PROGRAMMING LANGUAGES
Programming languages used in most famous websites
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.
PROGRAMMING LANGUAGES: INFLUENCE
Basic Programmers
Computer Software Engineers
Web designers and Developers
Computer System Analyst
Freelancing Consultant
. . .
JOB OPPORTUNITIES
PYTHON
PYTHON
Guido Van Rossum
(The Creator)
PYTHON: THE MAN
PYTHON | GENEALOGY
PYTHON | TIMELINE
PYTHON
http://trends.builtwith.com/framework/Python
PYTHON
http://trends.builtwith.com/framework/Python
PYTHON
http://trends.builtwith.com/framework/Python
https://www.ohloh.net/p/python/estimated_cost
PYTHON
PYTHON
PYTHON
PYTHON
PYTHON
PYTHON
PYTHON
PYTHON
PYTHON
Top 10 Popular Languages
PYTHON
Python is simple & accessible.
Good compromise language
Easy to learn
Widely-used
Flexible
PYTHON
easy to learn
PYTHON
widely-used in the Industry (Dropbox uses Python!)
PYTHON
used by the Government
PYTHON
works with C/C++
PYTHON
works with Java and C#
PYTHON
... is Flexible
Scripting
Procedural Programming
Object-Oriented Programming
Functional Programming
PYTHON
Common Python Application Domains
PYTHON
Python: Handy, Powerful & Versatile
PYTHON
Read & Practice.
To be an expert at something, you need 10,000 hours!
PYTHON
But study smarter, not harder. And in order to be productive at
something, you just need the right 20% of the total information.
PYTHON
Find the essentials/most important building blocks
PYTHON
Be an efficient and effective learner.
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)
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.