Learn How to Code in Python in 12 Weeks By Building Fun Real World Projects
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?
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.
############################### # 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:
Learn about variables, numbers, and builtin types in python.
|Text Based Calculator
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
Learn how to create and manipulate strings, and discover the various options for formatting them.
|A Game of conditions: Text Based Fantasy Game
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
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.
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
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
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.
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
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.|
Learn how to create generators and iterators in python.
|Work on your capstone project.|
Learn how to create generators and iterators in python.
|Complete your capstone project.|
How to Get Involved
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: firstname.lastname@example.org.
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
Email your friends that’s interested in learning how to code in python this repository: https://github.com/purcellconsult/Cracking-Python-Bootcamp
Share the repo on any programming communities you’re a member of. Use the same url as above.
When you complete a project post it to Twitter or any social media channel you frequent with the hashtag: #CrackingPython
If you're a software engineer then start a local meetup teaching students how to code in python using these course materials.
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.