Skip to content
A course that helps newbies master the core principles of one of the world's most popular programming languages, python.
Python
Branch: master
Clone or download
purcellconsult Merge pull request #1 from cuong-tech/master
Refactor README for python syntax highlighting
Latest commit 2ec841d Sep 12, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
coding projects Refactor README for python syntax highlighting Sep 12, 2019
01_numbers_in_python.py Rename 1_numbers_in_python.py to 01_numbers_in_python.py Aug 24, 2019
02_control_and_repeat.py Rename 2_control_and_repeat.py to 02_control_and_repeat.py Aug 24, 2019
03_string_processing.py Rename 3_string_processing.py to 03_string_processing.py Aug 24, 2019
04_a_gentle_intro_to_data_structures.py Rename 4_a_gentle_intro_to_data_structures.py to 04_a_gentle_intro_to… Aug 24, 2019
05_functions_and_functional_programming.py Rename 5_functions_and_functional_programming.py to 05_functions_and_… Aug 24, 2019
06_py_test_demo.py Rename 6_py_test_demo.py to 06_py_test_demo.py Aug 24, 2019
06_unit_test_module.py Rename 6_unit_test_module.py to 06_unit_test_module.py Aug 24, 2019
07_oop_dogs.py Rename 7_oop_dogs.py to 07_oop_dogs.py Aug 24, 2019
07_oop_in_python_cars.py Rename 7_oop_in_python_cars.py to 07_oop_in_python_cars.py Aug 24, 2019
08_regex_recap_in_python.py Rename 8_regex_recap_in_python.py to 08_regex_recap_in_python.py Aug 24, 2019
09_simple_bs4_tutorial.py Rename 9_simple_bs4_tutorial.py to 09_simple_bs4_tutorial.py Aug 24, 2019
10_http_requests_option.py Rename 10_http_requests_option to 10_http_requests_option.py Aug 24, 2019
11_scrappy_spider.py Rename scrappy_spider_11.py to 11_scrappy_spider.py Aug 24, 2019
12_generators_and_iterators.py Rename 12_generators_and_iterators to 12_generators_and_iterators.py Aug 24, 2019
README.md Refactor README for python syntax highlighting Sep 12, 2019
site_downloader.py Add files via upload Sep 12, 2019

README.md

Learn How to Code in Python in 12 Weeks By Building Fun Real World Projects

#CrackingPython

The Cracking Python Bootcamp is a free programming course dedicated to those that have a yearning to learn how to code in python but don’t want to fork over $20,000 or so on a coding boot camp. It's free, you'll learn how to build practical things, and most all you'll have tons of fun.

Build fun real world projects such as:

  • A Text Based Calculator

  • A rolling dice simulator

  • An additive secret number guessing game

  • A Las Vegas Sports Calculator

  • A Game of Throne like text based fantasy game

  • A state lottery simulator

  • A virtual ATM Machine

  • A web parser for your state government site

This course was initially created for a friend of a friend, that became a friend. It was part of a 12 week mentorship to level up his python programming skills so that he can find work freelancing. He said great things about the course such as the projects being really fun to work through.

There's not many prerequisites except for basic proficiency in algebra and fundamental computing skills. More explicitly, to avoid getting frustrated early on you should know how to download/install software, be comfortable with text editors, and understand how to circumvent the jungle of the web. Other than that, everything else can be picked up along the way.

How This Course Is Designed

This course was built to be learned over a 12 week period. It provides python files which contains snippets of code along with mini projects so that you can apply your knowledge to something practical. In the last three weeks there will be no default projects. Instead, you’re suggested to work on a capstone project which in essence is a passion project that revolves around your interests.

The files in the root directory corresponds to the weekly lessons while the files in /coding projects contains the project descriptions along with their solutions.

There's currently no accompanying lessons of any kind. That may seem weird, but hear me out. The source code contains a plethora of comments (probably too many) which also serves as short learning aides. The code snippets are short and expressive enough to hopefully be self documenting.

For example, which one do you prefer, a or b?

a)

To create a variable in python you need to declare a variable name, followed by the equal sign which denotes the assignment operator, and then the value.

b)

###############################
# creating variables in python
###############################

a = 5
b = 10
c = a

Example b succinctly encapsulates the meaning of example a, but is less verbose. It’s suggested for the student to download the code, tinker with it, read through the comments, and search online for additional help when needed. Then, attempt the projects to build something in order to exercise your newfound knowledge.

To download the course contents, you can use the the following git command:

git clone https://github.com/purcellconsult/Cracking-Python-Bootcamp.git

Alternatively, you can just click the green “Clone or download” button, and then Click Download ZIP.

If you’ve new to python and need help getting up and running, view the python installation tutorial.

In order to edit python files, you can use either a simple text editor like Notepad or an integrated development environment (IDE) which are typically used by professional developers. The IDE that I recommend is PyCharm which is free to use with the community edition

BTW, I do plan on creating accompanying video lessons but there’s currently no estimated turnaround time for that… c'est la vie.

Below is an outline of the python files and their associated projects that you can follow:

Learning Lessons Projects
Week One
01_numbers_in_python.py
Learn about variables, numbers, and builtin types in python.
Text Based Calculator

Solution
Week Two
02_control_and_repeat.py Learn Boolean algebra, control flow, processing user input, and iteration in python.
Complete at least one of the following. Extra brownie points for completing all three:

- The Dice Simulator
- The Secret Number
- Viva Las Vegas: Sports Betting Calculator
- The Dice Simulator Solution
-The Secret Number Solution
-Viva Las Vegas Solution
Week Three
03_string_processing.py
Learn how to create and manipulate strings, and discover the various options for formatting them.
A Game of conditions: Text Based Fantasy Game

Solution
Week Four
04_a_gentle_intro_to_data_structures.py

Data structures are the ways that programs store and retrieve data. Selecting the inappropriate one can lead to poor performing programs which is no bueno. Learn about the four builtin data structures in python which are lists, tuples, dictionaries, and sets.
The California Lottery

Solution
Week Five
05_functions_and_functional_programming.py
Discover what functions are in python along with how to create and execute them. In addition, learn how to inject aspects of functional programming into your python programs.
Stat-tastic!

Solution
Week Six
06_py_test_demo.py and 06_unit_test_module.py
Get an introduction to unit testing by tinkering with the pytest and unittest modules.
Unit Testing Lab

Solution
Week Seven
07_oop_dogs.py and 07_oop_in_python_cars.py
Learn the concepts of object oriented programming such as classes, constructors, methods, instances, inheritance, abstraction, and polymorphism. Master these concepts in python by writing programs that emulate real world objects like dogs and cars.
The Python Virtual ATM Machine

Solution
Week Eight
08_regex_recap_in_python.py
Learn what the common regular expression classes and symbols are so that you can use it for a variety of practical uses such as validating phone numbers, social security numbers, and email addresses.
RegEx Lab

Solution
Week Nine
09_simple_bs4_tutorial.py
Learn how to use the Beautiful Soup 4 library to parse a website for specific elements such as the title, body, meta, li, p, and a tags.
A Web Parser for Your State’s Government Website

Solution
Week Ten
10_http_requests_option.py
Learn how to make http requests in python with the requests, urllib, urllib3, and httplib2 libraries.
Start on your capstone project. This is a freestyle coding project based off your interests. Make sure to assimilate elements that you learned over the past weeks into it.
Week Eleven
11_scrappy_spider.py
Learn how to create generators and iterators in python.
Work on your capstone project.
Week Twelve
12_generators_and_iterators.py
Learn how to create generators and iterators in python.
Complete your capstone project.

How to Get Involved

If you spot any typographical/grammatical errors or bugs then don’t be a bystander! You can bring any issues to my awareness by creating an issue or a pull request.

If you’ll like to create accompanying Slide decks to the lessons, suggest a new project, or have any other recommendations then do let me know. The best way to get in contact with me is to send an email: purcellconsult@gmail.com.

Just make sure that the subject gives an indication that it’s about the Cracking Python Bootcamp course.

Spread The Joy of Free Education In 5 Ways

  1. Email your friends that’s interested in learning how to code in python this repository: https://github.com/purcellconsult/Cracking-Python-Bootcamp

  2. Share the repo on any programming communities you’re a member of. Use the same url as above.

  3. When you complete a project post it to Twitter or any social media channel you frequent with the hashtag: #CrackingPython

  4. If you're a software engineer then start a local meetup teaching students how to code in python using these course materials.

  5. If you have a blog, write a review about this course along with your progress.

How to Support

The best way to provide support is to pickup one or more copies of my first python book, Become a Python Developer available on Amazon in digital and paperback formats. Not only will it help to reinforce the concepts taught in the Cracking Python Bootcamp, it also gives me the flexibility to keep producing quality programming tutorials and guides.

HAPPY CODING. GO FORTH AND BUILD SOMETHING GREAT IN PYTHON.

You can’t perform that action at this time.