Python Course Design Note 51 of 52

Introduction

Course Introduction

Course Goals

This course is a complete, systematic series of Python tutorials, taking you from zero background to mastery of the Python programming language. After finishing it, you will gain not only mastery of the Python language, but also the ability to learn other programming languages quickly, the ability to read any Python source code without difficulty, and a comprehensive understanding of computers and networks. For complete beginners, it is an excellent textbook for entering the field of computing and mastering a programming language. For those who already have some Python background, I believe this series will take your skills to the next level.

Course Features

This tutorial doesn’t just skim over Python’s content; it explains things in a detailed and in-depth way, with 5 stages and 25 chapters in total. So you need to study patiently to really gain something. Although it doesn’t involve using any frameworks, it gives a global explanation of operating systems and network communication, and even rewrites some open-source modules and servers. Our course uses text tutorials + video explanations + homework exercises + interactive tutoring, aiming for precise, high-standard learning of the Python language.

Schedule

  • Stage 1: Getting Started with the Basics
  • Stage 2: Function Objects
  • Stage 3: Object-Oriented Programming
  • Stage 4: Network Programming
  • Stage 5: Concurrent Programming

Course Design

Python’s flexible and versatile nature makes the language suitable for many scenarios. The knowledge needed for different applications is not exactly the same, but since this is general-purpose programming, we can guarantee that the content of the course applies to all scenarios.

Core Content

The core content of this course is the explanation of object-oriented programming, network programming and concurrent programming, which is also the watershed that separates skill levels.

How to Study

  1. First watch the video explanation. The video isn’t very detailed, but it helps you better understand the content of the documents, shortens your study time, and effectively improves your learning efficiency.
  2. Then read the written tutorial. Its level of detail and depth exceeds almost every tutorial online or in books, but just reading it won’t make you learn it; you’ll only understand it. Learning is the process of turning the knowledge the teacher teaches into your own knowledge, so while reading the documents you must write code. Every living creature begins learning by imitation; as long as you understand it, you just need to copy every line of code in the tutorial by hand.
  3. Next comes the homework, which is our check-in requirement. Homework is very important and must never be neglected. Learning the Python programming language through this course can be called a shortcut, but no tutorial can get you to the top in one step. The course design reflects the teacher’s line of thinking, and the homework is designed to stimulate your own thinking and your ability to combine what you’ve learned. Imitating, thinking and applying: that’s real learning.
  4. Finally, interactive tutoring. The content explained in the course is not very hard to understand; if you have questions, communicate often. The exercises vary in difficulty and may be somewhat challenging for some students, but what I want to say is: people who seem better than you have simply worked hard before you, and you just didn’t see it. Most people’s intelligence is about the same. Our course is designed for people with a junior high school education or above, so it’s fair to say that 100% of you can learn it. In addition, we will also give appropriate group explanations depending on the difficulty of the exercises.

The Python Language

Introduction to Python

Python was created by Guido van Rossum. During Christmas of 1989, Guido began writing an interpreter that could interpret the syntax of the Python language. The name Python comes from Guido’s beloved TV show Monty Python’s Flying Circus. He hoped this new language called Python would fulfill his ideal: to create a language between C and the shell that is full-featured, easy to learn and use, and extensible. In the latest TIOBE ranking, Python has overtaken .NET to take 4th place. Python values elegance, clarity and simplicity, and is an excellent and widely used language.

Application Areas of Python

  1. Web development: Python is quick to pick up, and with the Django or Flask framework you can rapidly build the core of a project.
  2. Web crawler development: in the crawler field, Python is practically dominant. Scrapy\Request\BeautifuSoap\urllib and others make writing crawlers a very easy and fun job.
  3. DevOps development: ask any automated operations engineer in China which language operations staff must know. I believe 10 out of 10 will give you the same answer, and its name is Python.
  4. Data analysis: Python has a rich set of libraries that are easy to use; the commonly used Pandas, Numpy, Matplotlib and Sklearn can efficiently handle the core work of data analysis.
  5. Cloud computing development: the hottest and best-known open-source cloud computing framework today is OpenStack. In the field of cloud computing, Python still holds its own.
  6. Artificial intelligence: which language will become the number-one development language of the AI and big data era? This is already a question that needs no debate. If three years ago Matlab, Scala, R, Java and Python each still had a chance and the picture was unclear, three years later the trend is very clear. Especially after Facebook open-sourced PyTorch, Python’s position as the leading language of the AI era has basically been established; the only suspense left is who can hold on to second place.

Python in Companies

  1. Google: Google App Engine, code.google.com, Google Earth, Google’s crawler, Google Ads and other projects make heavy use of Python.
  2. CIA: the website of the US Central Intelligence Agency was developed in Python.
  3. NASA: the US space agency (NASA) uses Python extensively for data analysis and computation.
  4. YouTube: YouTube, the world’s largest video website, was developed in Python.
  5. Dropbox: the largest online cloud storage website in the US is implemented entirely in Python and handles uploads and downloads of 1 billion files every day.
  6. Instagram: the largest photo-sharing social network in the US, with more than 30 million photos shared every day, was developed entirely in Python.
  7. Facebook: a large number of its foundational libraries are implemented in Python.
  8. Redhat: the yum package manager in the world’s most popular Linux distribution was developed in Python.
  9. Douban: almost all of the company’s business is developed in Python.
  10. Zhihu: China’s largest Q&A community is developed in Python (its foreign counterpart is Quora).
  11. Chunyu Doctor: a well-known Chinese online medical website developed in Python.
  12. Besides the above, companies such as Sohu, Kingsoft, Tencent, Shanda, NetEase, Baidu, Alibaba, Taobao, Tudou, Sina and Guokr all use Python for all kinds of tasks.