You've started with 100 days of Python. Welcome!

The 100 days of code challenge is a fantastic way to get motivated! There are a bunch of official rules on how the challenge operates:

  1. Code minimum an hour every day for the next 100 days.
  2. Tweet your progress every day using the #100DaysOfCode hashtag.

Through my experience teaching and helping thousands of students, I'd modify the rules slightly:

  1. Do something programming-related every day, but don't force yourself to code. Read blog posts or articles, write some code, or look at a new tool.
  2. Stick to a single programming language for the entire duration. I recommend either Python or JavaScript.
  3. Tweet using #100DaysOfCode (and, if using Python, the #100DaysOfPython). Follow the hashtag. This is great to keep you motivated and chat with others doing the same!

At any point, include us in your tweet or send us a message @TecladoCode. You can also use the live chat on this blog to ask a question if you have any!

This series is aimed to guide you through the first 100 days. Each post contains programming and software knowledge, further reading, and something for you to do and show the world.

Start anywhere on the list below! On day 1 if you are just starting to learn about programming, or on a different day if you already have some knowledge.

Introduction to Programming

  1. How to start with Python
  2. What is programming all about?
  3. Key Python Building Blocks

Python essentials

  1. Functions in Python

  2. Booleans and if statements in Python

  3. While and for loops in Python

  4. Collections in Python

  5. Reading and writing files in Python

  6. Python and PyCharm

  7. Challenge: Average grade of students

  8. Functions in Python

  9. Lambda functions in Python

  1. Bonus: Using a linter with Python

We're still thinking about the sections below. Give us a shout on Twitter if you have any suggestions or requests!

Object-oriented programming

Asynchronous programming

Databases with Python

Interacting with the internet

Web development with Python

Algorithms and data structures

Data Science and Machine Learning

Automated testing