The purpose of this repository is to go through the basics and fundamentals of Python with some examples and assignments. Within this repository, there are two different types of lessons:
Within the Python Lessons curriculum, we go through various topics starting with setting up a Python environment all the way through using databases and web application frameworks to create applications.
In the Optional Non-Python Lessons curriculum, I have chosen specific topics to discuss which I have found to be relevant in my experience as a Software Engineer and will continue to add to them, as appropriate.
The majority of these files are set up as .ipynb files which are IPython Notebooks, via the Jupyter library. Jupyter allows us to run Python code through this learning experience. Lesson 1 will teach you about how to set up Python and Jupyter so that you can use Jupyter for a more interactive learning experience.
My goal with this repository is to help introduce programming and more specifically Python to anyone who is interested. These modules have been created with non-programmers in mind. Before each topic, I will try to specify if an optional lesson may be beneficial to know before the topic. For example, it may be useful to know the basics of git, bash, and makefiles before jumping into using Flask.
This living repository will continually be updated as I add topics (Python or not) and I am very open to
feedback on what can be improved or what topics should be added. For the time being, please submit these
requests via Pull Requests and create a directory for the topic you think I should explore in the appropriate section.
If you feel that it does not fit within "Python Lessons" or "Optional Non-Python Lessons", please feel free to create a
new lesson type in the root directory. Please justify why you think a topic would be relevant and why you added it in
the subsection chosen. Please also submit a Pull Request for any typos or other errors that you see.
Raghav "Ron" Nair