Introduction to python for beginners and long time programmers.

This course is still a work in progress and has largely been adapted from the original github project.

Why Python?

Why would you ever want to use python?

Python is an incredibly prominent language in the development community, industry and hobbyists. There are many reasons for this, but here are some of the main ones:

  1. Python is popular; This means the community of people answering online questions, creating videos, and packages is huge and ever growing.

  2. It is fast to develop for; Python makes iterative development incredibly fast, it is short and simple to read + write which makes it ideal for prototyping.

    python-pseudocode

  3. Wide range of fields; Python is used in everything from web development, to IoT devices, to the hacking community, to server maintenance/monitoring, to deployment systems etc.

Why not learn java, or rust, or c or (insert language here)?

A: I would never suggest you don't learn many languages (I have learned the ones in this list and a few more), but for beginners python is definitely the most syntactically simple language. This means you can focus on the programming and not the format of the files so much. As opposed to most other languages.

java-bad

Same project in java vs python

Course Structure

Each module has a number in ascending order, the reading, challenges & exercises are intended to be completed in this order.

Within each module there are 3 components

Reading

Information about the topic, the primary resource for reference to complete the exercises and challenge(s).

Exercises

A set of smaller exercises that are intended to gear you up for the challenges. The exercises are intended to be completed after the reading. You can try them out by simply copy-pasting them into a file on your computer called exercises.py.

Challenges

A challenge on the topic of the module, intended to be completed last. You can try them out by simply copy-pasting them into a file on your computer called challenges.py.

Python Versions

It is worth mentioning that this course is developed for python 3, as of writing this python 2 is still heavily used. It's not a differenceee that affects most things, but keep it in mind when googling questions.

Other Courses & Resources

Other Reference Websites

Python Documentation

Python Programming

Python for Beginners

Real Python

Stack Overflow(Not exclusively python)

r/learnpython

r/python

YouTube

Sentdex

Corey Schafer

Coding Tech(Not exclusively python)

Real Python

Socratica(Not exclusively python)

My other courses

I will also have other courses in python so stay tuned for those:

 +--------------+---------------+
 | PYTH 101: Beginners Python   |
 +--------------+---------------+
                |
                |
                v
 +--------------+---------------+
 | PYTH 202: Intermediate Python| (Still a work in progress)
 +--------------+---------------+
                |
                |
                v
 +--------------+---------------+
 | PYTH 303: Advanced Python    | (Still a work in progress)
 +--------------+---------------+