Python Programming - I. Introduction

3,111 views

Published on

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

Published in: Technology, Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,111
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
446
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Python Programming - I. Introduction

  1. 1. PYTHON PROGRAMMING: I. INTRODUCTION Engr. Ranel O. Padon
  2. 2. ABOUT ME My Programming Love Story BS Geodetic Engineering (Undergraduate Course): C UP ITDC (Special Training Courses): PHP & MySQL, Java MS Computer Science (Graduate Course): C, Perl, Java DGE Projects: MAPD (Java), GeoValuation (Python) Freelance Project: Lead Web Developer q  LGIS -> http://www.iesmanila.com/lgis (Drupal) Corporate Work: Senior Software Engineer at Kite Systems, Ltd. q  CNN Travel -> http://travel.cnn.com (formerly in Drupal) q  CNN Arabic -> http://arabic.cnn.com (Drupal)
  3. 3. 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
  4. 4. WHAT IS A COMPUTER?
  5. 5. COMPUTER | EVOLUTION
  6. 6. COMPUTER | HARDWARE
  7. 7. COMPUTER | LOGICAL STRUCTURE
  8. 8. COMPUTER | TRANSISTORS q  transistor is the basic computing unit of a computer
  9. 9. COMPUTER | TRANSISTORS q  a transistor has 2 (binary) states: on and off q  1 bit is represented by 1 transistor q  8 bits (1 byte) are represented by 8 transistors
  10. 10. COMPUTER | TRANSISTORS q  thousands/millions of tiny transistors are then embedded in microchips/integrated circuits (along with resistors and capacitors)
  11. 11. COMPUTER | NATIVE TONGUE because of transistors, computer uses the binary system/language
  12. 12. LANGUAGE TRANSLATION Low-Level Language: Assembly Language
  13. 13. LANGUAGE TRANSLATION Computer Languages’ Levels/Hierarchy
  14. 14. LANGUAGE TRANSLATION High-Level Languages: Compilation vs Interpretation Structure and Speed
  15. 15. LANGUAGE TRANSLATION Compilation vs Interpretation Structure and Speed
  16. 16. LANGUAGE TRANSLATION
  17. 17. LANGUAGE TRANSLATION
  18. 18. LANGUAGE TRANSLATION Modern/Hybrid Languages
  19. 19. LANGUAGE TRANSLATION
  20. 20. 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.)
  21. 21. 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.
  22. 22. 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.
  23. 23. 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.
  24. 24. 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
  25. 25. 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.
  26. 26. PROGRAMMING LANGUAGES
  27. 27. Programming languages used in most famous websites PROGRAMMING LANGUAGES
  28. 28. 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
  29. 29. q  Basic Programmers q  Computer Software Engineers q  Web designers and Developers q  Computer System Analyst q  Freelancing Consultant q  . . . JOB OPPORTUNITIES
  30. 30. PYTHON
  31. 31. PYTHON
  32. 32. Guido Van Rossum (The Creator) PYTHON: THE MAN
  33. 33. PYTHON | GENEALOGY
  34. 34. PYTHON | TIMELINE
  35. 35. PYTHON http://trends.builtwith.com/framework/Python
  36. 36. PYTHON http://trends.builtwith.com/framework/Python
  37. 37. PYTHON http://trends.builtwith.com/framework/Python
  38. 38. https://www.ohloh.net/p/python/estimated_cost PYTHON
  39. 39. PYTHON
  40. 40. PYTHON
  41. 41. PYTHON
  42. 42. PYTHON
  43. 43. PYTHON
  44. 44. PYTHON
  45. 45. PYTHON
  46. 46. PYTHON Top 10 Popular Languages
  47. 47. PYTHON Python is simple & accessible. q Good compromise language q Easy to learn q Widely-used q Flexible
  48. 48. PYTHON easy to learn
  49. 49. PYTHON widely-used in the Industry (Dropbox uses Python!)
  50. 50. PYTHON used by the Government
  51. 51. PYTHON works with C/C++
  52. 52. PYTHON works with Java and C#
  53. 53. PYTHON ... is Flexible
 q  Scripting q  Procedural Programming q  Object-Oriented Programming q  Functional Programming
  54. 54. PYTHON Common Python Application Domains
  55. 55. PYTHON Python: Handy, Powerful & Versatile
  56. 56. PYTHON Read & Practice. To be an expert at something, you need 10,000 hours!
  57. 57. PYTHON But study smarter, not harder. And in order to be productive at something, you just need the right 20% of the total information.
  58. 58. PYTHON Find the essentials/most important building blocks
  59. 59. PYTHON Be an efficient and effective learner.
  60. 60. PYTHON | END NOTES q  Python is readable, maintainable, beautiful, and elegant. q  There are many reusable Python libraries out there. q  Not all things are important: q  you don’t have to study all the intricacies of a programming language to be productive.
 q  EQ is very important in programming in general: q  patience/persistence (never say die attitude) q  attention to details (spotting anomalies to the lowest level) q  belief/positive thinking (having confidence and an upbeat attitude) q  resourcefulness/creativity (combining basic language constructs) q  determination (especially when debugging)
  61. 61. REFERENCES q  Deitel, Deitel, Liperi, & Wiedermann - Python: How to Program (2001). q  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. J

×