The purpose of this course is to provide freely a thorough introductory course on programming in the Python language to anyone interested. The course is for non-profit purposes. All material are collected from online resources and customized to a free online Python course.
The course's next goal is to prepare the student for further studies in the "field" of data science.
The chapters are laid out in Jupyter notebooks which are a de-facto standard for exchanging code and analyses among data science professionals and researchers.
- Chapter 0: Introduction
- Part A: Expressing Logic
- Chapter 1: Elements of a Program
- Chapter 2: Functions & Modularization
- Chapter 3: Conditionals & Exceptions
- Chapter 4: Recursion & Looping
This course is suitable for total beginners, and there are no formal prerequisites. The student only needs to have:
- a solid understanding of the English language,
- knowledge of basic mathematics from high school,
- the ability to think conceptually and reason logically, and
- the willingness to invest time and effort on this course.
Python is a general-purpose programming language that allows for fast development, is easy to read, open-source, long-established, unifies the knowledge of hundreds of thousands of experts around the world, runs on basically every machine, and can handle the complexities of applications involving big data.
- Massachusetts Institute of Technology
- teaches Python in its introductory course to computer science independent of the student's major
- replaced the infamous course on the Scheme language (cf., source )
- Google
- used the strategy "Python where we can, C++ where we must" from its early days on to stay flexible in a rapidly changing environment (cf., source )
- the very first web-crawler was written in Java and so difficult to maintain that it was rewritten in Python right away (cf., source)
- Guido van Rossom was hired by Google from 2005 to 2012 to advance the language there
- NASA open-sources many of its projects, often written in Python and regarding analyses with big data (cf., source)
- Facebook uses Python besides C++ and its legacy PHP (a language for building websites; the "cool kid" from the early 2000s)
- Instagram operates the largest installation of the popular web framework Django (cf., source)
- Spotify bases its data science on Python (cf., source)
- Netflix also runs its predictive models on Python (cf., source)
- Dropbox "stole" Guido van Rossom from Google to help scale the platform (cf., source)
- JPMorgan Chase requires new employees to learn Python as part of the onboarding process starting with the 2018 intake (cf., source)
All the course material will be put into the subfolder "Class_Contents". In the "Class_Contents", there are 3 sub-subfolders:
- Classes : content teaching on class
- ReviewLession : questions to review previous class
- Exercises : homework submitted to tutors
The course materials will continually weekly updated on this Github folder "Class_Contents". GitKraken is a free powerful graphical interface for Git which can be used to update the course materials. Just go to the download section and install the latest version for your operating system.
- Download the course material To download the course material the first time, open GitKraken and choose "Clone the repo".
Then in the Tab "Clone with URL" choose the local folder where you want to keep all course materials. In the next form "URL", paste "https://github.com/avalonhse/intro-to-python" and click "Clone the repo". The GitKraken will create a new folder with all materials downloaded in your chosen location.
- Update the course material The course material will be updated before the class starts. To update the material, open GitKraken, choose the folder intro-to-python, and click on the Pull command.
Then GitKraken will update the new material for you in the intro-to-python folder.
Anaconda is a free and open-source distribution of the Python aims to simplify installations of Python tools and libraries.
To follow this course, a working installation of Python 3.7 or higher is expected.
A popular and beginner friendly way is to install the Anaconda Distribution that not only ships Python but comes pre-packaged with a lot of third-party libraries from the so-called "scientific stack". Just go to the download section and install the latest version for your operating system.
Then, among others, you will find an entry "Anaconda Navigator" in your start menu like below. Click on it.
A window opens showing you several applications that come with the Anaconda Distribution. Now, click on "JupyterLab."
A new tab in your web browser opens with the website being "localhost" and some number (e.g., 8888). This is the JupyterLab application that is used to display and run the notebooks mentioned above.
On the left, you see the files and folders in your local user folder. This file browser works like any other. In the center, you have several options to launch (i.e., "create") new files.
HackerRank is a wonderful online platform which contains numerous online coding tests for student to practice their coding skills. Software companies also use HackerRank technical assessment and remote interview solution for hiring developers. Student will see a coding prolem in HackerRank in a form of problem description, sample input and expected output.
The task is writing the code according to problem description so that the code will take the sample input and print out the expected output.
Our course target is completing some (may not all) HackerRank Python problems. In order to do that, please register your account in HackerRank in the link below: HackerRank SignUp
The purpose of this course is non-profit and by no means commercial. It is conducted as an effort of motivating anyone to learn Python for their careers.
This application uses Open Source components. You can find the source code of their open source projects along with license information below. We acknowledge and are grateful to these authors:
- Project: An Introduction to Python and Programming https://github.com/webartifex/intro-to-python Copyright (c) 2019 Alexander Hess [[email protected]]. All right reserved. License (MIT) https://github.com/webartifex/intro-to-python/blob/master/LICENSE
References:
- Miller, Brad, and David Ranum. "Problem solving with algorithms and data structures." (2013).