Created by Zed A. Shaw Updated about 18 hours

Learn More Python the Hard Way

This course will take you from a low confidence beginner who can "sort of" code to a higher confidence Junior developer who can definitely code. It contains many courses and basic concepts that gives you a lot of practice in Python, but also translate to many other programming languages.

Course Contents

This course contains the following modules and lessons. Every course offers free samples of the first 10 lessons so you can decide if you want to take the course, and excerpts from all lessons after that.

Module Initial Knowledge

I start you off with some basic concepts that will help you later in the course.

Module Quick Hacks

Warm up with a series of simple tools to implement as quick hacks.
  • Part II: Quick Hacks
    You've got the best idea ever.
  • Exercise 4: Dealing with Command Line Arguments
    Before you can work on this first part of the book you need to do some quick hacking that teaches you about command line arguments in Python.
  • Exercise 5: cat
    With Exercise 4 you began the work of finding out what blocks you.
  • Exercise 6: find
    Hopefully you are discovering the various ways you sabotage yourself even before you begin to work.
  • Exercise 7: grep
    The find command should have been possible but a good challenge for 45 minutes.
  • Exercise 8: cut
    Hopefully you're learning more Python but even more about yourself and how you work.
  • Exercise 9: sed
    Using these tiny projects to study yourself is useful, but let's pan out and look at the main topics you've focused on: - Startup process for beginning work, such as your text editor, how well you can type, and other things that happen inside the computer.
  • Exercise 10: sort
    You are slowly building up what I call a Personal Process Practice (3P), which isn't a new idea at all.
  • Exercise 11: uniq
    There isn't much more to say in the beginning of these last two exercises.
  • Exercise 12: Review
    The first stage of my methodic madness is complete for me but not for you.

Module Data Structures

Learn a few basic data structures and how to measure their performance using measurement.

Module Intermediate Projects

Take what you know so far and attempt some more challenging projects.

Module Parsing Text

The most universal programming skill you can learn is parsing.

Module SQL and Object Relational Mapping

You now learn enough SQL to be dangerous and then learn to use it better in Python.

Module Final Projects

The final projects of the course presented as challenges.
  • Part VII: Final Projects
    The final part of the book is where you step up to more advanced projects and try to nail down your personal process.
  • Exercise 46: blog
    You should have your process theme written up as described in the beginning of this section, and you should have your process listed out and ready to go.
  • Exercise 47: bc
    You should be warmed up and ready to work on this new project.
  • Exercise 48: ed
    If your process is working then you should be able to focus on one long project for a few weeks at a time.
  • Exercise 49: sed
    You implemented a "baby version" of sed in exercise 9 when you were learning how to make quick and dirty hacks.
  • Exercise 50: vi
    I am going to prison for this exercise.
  • Exercise 51: lessweb
    We are nearing the end of the book, so I'm going to give you one project in the final two exercises.
  • Exercise 52: moreweb
    Now that you've created a web server using the Python `http.