Welcome to the World of Python!
This repository hosts introductory course materials for Python, prepared by Sourav Sen Gupta, primarily to cater to AI6120, a bridging course on Python Programming for the NTU SCSE MSAI Program. This course aims to provide appropriate computing exposure to students (primarily from non-CS backgrounds) who will study other courses in Data Science and AI.
Python is a fun language to learn, and really easy to pick up even if you are new to programming. In fact, quite often, Python is easier to pick up if you do not have any programming experience whatsoever. Python is a high level language, targeted at students and professionals from diverse backgrounds. It offers an amazing array of useful libraries too.
We will use Python 3 in this course (specifically, Python 3.8), as follows.
- Step 1 : Writing Python code within an online IDE : https://repl.it/languages/python3
- Step 2 : Writing Python code locally using an IDE : https://code.visualstudio.com/
- Step 3 : Using Jupyter Notebook as the local IDE within Anaconda for Python 3.8
- Step 4 : Using Notebook Platforms on the Cloud through Google Colaboratory
Resources posted in the folder GeneralPythonCodes of this repository
The online IDE repl.it is readily available online. This is the easiest way for you to practice Python programming by writing short pieces of code and running them on the backend server. The next logical step is to download the offline IDE VS Code and set it up for Python programming. Here, you will be able to write more complex (multi-file) programs to run on your own computer. This will also allow us to execute Python programs through the command-line interface, a necessary skill for using remote servers.
Resources posted in the folder JupyterNotebooks of this repository
Next, we will try to explore some lovely libraries in Python for Data Science and Machine Learning, namely, NumPy, SciPy, Pandas, Seaborn, Scikit-Learn, and Matplotlib. The easiest way to leverage all of them is the Anaconda platform. It is highly recommended that you install it on your computer, as we will work a lot with Python Notebooks. Finally, we will take our Notebooks to the cloud, through the wonderful Google Colaboratory. It offers a substantial cloud computing platform with GPU entirely free of cost!
Gratitude : This set of introductory material for Python is heavily inspired from two wonderful lecture series in Python, as follows, with new material targeted at data handling and basic data science inspired from the books mentioned below.
- Python4Maths by Andreas Ernst : https://gitlab.erc.monash.edu.au/andrease/Python4Maths
- Python Lectures by Rajath Kumar : https://github.com/rajathkmp/Python-Lectures
In case you want to learn and practice Python programming on your own, or want to refer to more theoretical content, feel free to read the following books. There are several other books and resources (primarily videos) available online for your reference.
- Think Python 2e : How to Think Like a Computer Scientist (2nd Edition) by Allen B. Downey. Available online at https://greenteapress.com/wp/think-python-2e/
- A Whirlwind Tour of Python (O’Reilly) by Jake VanderPlas. Available online at https://jakevdp.github.io/WhirlwindTourOfPython/
- Python Data Science Handbook (O'Reilly) by Jake VanderPlas. Available online at https://jakevdp.github.io/PythonDataScienceHandbook/
Highly recommended : Every Python user needs to know about the following resources.
- Python 3 Cheat Sheet by Laurent Pointal. This 2-pager is a life-saver -- print and frame it!
- Data Science & Machine Learning by Chris Albon. This is a true treasure trove -- go explore!
License Declaration : Following the lead from the inspirations for this material, and the spirit of Python education and development, all modules of this work are licensed under the Creative Commons Attribution 3.0 Unported License.