Teacher’s Perspective

This one is intended to act as lesson plan for teachers who introduces programming to their students. I am a teacher, and I use this personal blog of mine to write my lesson plans and publish them here in my blog. For students who do self-study, this lesson might be very boring to read on your own. I understand it, because I meant this content for me to present to students. Adding an element of talking in front of students is one important element to make this lecture digestable for students.

You will Learn

In this page, you will learn:

  • The features, creator, and history of Python
  • Python’s design philosophy
  • The use of Python in the Real World

Introduction

Our goal in this lesson is to teach someone with zero technical skills to learn the very basics of Computer Programming. To make the lesson very easy to digest, I have chosen Python as our main programming language.

Python is a very straight-forward programming language that is very perfect for beginners. I made this course for my children, so the target audience is someone around Grade 7 with basic literacy on how to read.

What is Python

Python - Python is an interpreted, high-level and general-purpose programming language, created by Guido Van Rossum and is first released in 1991. Python’s design philosophy emphasizes code readability, with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.

Python’s Use Case

Python is well-known used for:

  • Web Development
    • Web Development Frameworks
      • Django
      • Pyramid
    • Web Development Micro-Frameworks
      • Flask
      • Bottle
    • Advanced CMSs (Content Management Systems)
      • Plone
      • Django CMS
    • Python’s Standard Libraries
      • HTML and XML
      • JSON
      • E-mail processing
      • FTP, IMAP, and other Internet Protocols
      • Easy to use socket interface
    • User-developed libraries
      • Requests
      • Beautiful Soup
      • Feedparser
      • Paramiko
  • Scientific and Numeric Computing
    • Python is widely used in scientific and numeric computing:
      • SciPy is a colection of packages for mathematics, science, and engineering.
      • Pandas is a data analysis and modeling library
      • IPython is a powerful interactive shell that features easy editing and recording of a work session and supports visualizations and parallel computing.
      • The Software Carpentry Course teaches basic skills for scientific computing, running bootcamps and providing open-access teaching materials.
  • Education
    • This is what we are doing right now. I am using python to introduce you to Computer Programming
    • Python is a superb-language for teaching programming, both at the introductory level and more advanced courses.
      • There are books written such as How to Think Like a Computer Scientist, Python Programming: An Introduction to Computer Science, and Practical Programming*
  • Desktop GUIs
    • The Tk GUI library is included with most binary distributions of Python
    • Some toolkits that are usable on several platforms are available separately:
      • wxWidgets
      • Kivy, for writing multitouch applications
      • Qt via pyqt or pyside
    • Platform-specific toolkits are also available:
      • GTK+ – Cross Platform GUI Development
      • Microsoft Foundation Classes through the win32 extensions – GUI Development for Windows
  • Software Development
    • Python is often used as a support language for software developers, for build control and management, testing, and in many other ways.
      • SCons for build control
      • Buildbot and Apache Gump for automated continuous compilation and testing
      • Roundup or Trac for bug tracking and project management
  • Business Applications
    • Python is also used to build ERP and e-commerce systems:
      • Odoo is an all-in-one management software that offers a range of business applications that form a complete suite of enterprise management applications.
      • Tryton is a three-tier high-level general purpose application platform.

Personal opinion: Python is an all-around programming language. Imagination is actually the limit. You can almost do anything with Python.

We will not learn those.

In this course, you will just learn the very ultra basics. I assume that you have zero technical experience, but I aim in this course to learn people with zero technical skills.

The goal of this lesson is to introduce you to the world of programming. I chose python as your introductory programming language, because python is straight forward and is very easy to learn.

Computer Programming

Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a specific task. Programming involves tasks such as: analysis, generating algorithms, profiling algorithms’ accuracy and resource consumption, and the implementation of algorithms in a chosen programming language (commonly referred to as coding).

The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. The purpose of programming is to find a sequence of instructions that will automate the performance of a task (which can be as complex as an operating system) on a computer, often for solving a given problem. Proficient programming thus often requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.

Algorithm

In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/ (About this soundlisten)) is a finite sequence of well-defined, computer-implementable instructions, typically to solve a class of problems or to perform a computation.[1][2] Algorithms are always unambiguous and are used as specifications for performing calculations, data processing, automated reasoning, and other tasks.

References