/PYTH-101

An introduction to python for new programmers and people who have used other programming languages.

Primary LanguagePythonMIT LicenseMIT

PYTH-101 Beginner Python Course

The purpose of this repository is to go through each set of exercises sequentially to help you learn python. Once you have finished reading this file you can start from 0. Basic syntax and additional course information to get the ball rolling.

A video version is also available below:

IMAGE ALT TEXT

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.

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

Note about markdown files

Markdown files (files that end in .md) are intended to be read in a markdown viewer. The easiest way to read the readme's in each folder is to keep https://github.com/Descent098/PYTH-101 open in github and navigate to each folder. Github has a built in markdown viewer that will let you read the files in their intended format right on your webpage. Alternatively you can checkout the course on my website here.

Structure

├── 0. Installation and course information
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md
├── 1. Variables and Data Types
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md
├── 2. Operators and conditionals
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md
├── 3. Loops
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md
├── 4. Functions
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md
├── 5. Classes
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md
├── 6. Python Modules
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md
├── 7. Extras
|   ├── challenge.py
|   ├── exercises.py
|   └── readme.md

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

Within each folder there are 3 files

readme.md

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

exercises.py

A set of smaller exercises that are intended to gear you up for challenge.py. The exercises are intended to be completed after reading readme.md

challenge.py

A challenge on the topic of the folder, intended to be completed last.

Other Courses & Resources

I do also have other courses in python:

                        +----------+
                        | PYTH 101 |
                        +----+-----+
                             |
                             |
                             v
                        +----+-----+
                        | PYTH 202 | (Still a work in progress)
                        +----+-----+
                             |
                             |
                             v
                        +----+-----+
                        | PYTH 303 | (Still a work in progress)
                        +----------+