Code Monkey home page Code Monkey logo

learning-python-with-tdd's Introduction

Introduction

This course is an end-to-end step-by-step guide on building an applications in Python. In this course I will talk through a broad range of concepts, particularly around the why and also including the how.

If by the end of this course, you've found this to be useful. Then you might wanna check out my blog which is relatively up to date. Although it's been neglected a little whilst I've been writing this course!

This course is free and always will be.

But if you feel as though you managed to get something from this course, then I'd really appreciate a small contribution via buy me a coffee.


Context

My name is Afaan Ashiq and I have been working as a software engineer for a number of years now. With my last couple of years spent leading teams. During this time I've tried a few things for both myself and the people around me.

Why am I building this course?

This is pretty simple. My goal here is to build the course that I wish was available when I was starting out.

There is a whole world of learning material out there. Like anything in life. Some good, some not so good. Looking back on it, lots of the material I used felt piecemeal. With lots of good approaches scattered around. I had to try and piece these together for myself over time.

This relates in particular to testing. Which in my opinion should be front and centre when it comes to learning a new language.

How I struggle learning new languages

The trickiest thing I have found, particularly earlier in my career was that I could not find learning material which taught me how to build useful applications that meant something real.

I could sit and do HackerRank challenges for days on end, and it wouldn't really sink in. I tried other sources to varying degrees of success including YouTube videos, books, paid for online Udemy-type courses.

A lot of the time, I'd learn syntax or the rough outline of concepts but I was missing a key piece. How does one go about building robust software? Unfortunately, this wasn't easily attained.

What this course is

The intention for this is to stand up as a thorough course. To teach the reader the fundementals of good software engineering. To demonstrate how to write effective tests and why this should be the first big thing you learn. And then how this can underpin your daily work.

This course is inspired by Learn Go with Tests. Which is the way I first picked up Go.

What this course is not

Unfortunately the realm of software engineering is enourmous. And I'd be lying to you if I said I could cover all of it. In fact, I'd bet my house that if anyone made that claim then they would also be lying too! It would also be fair to say you won't learn the entire language by the end of this course. That would also be all but impossible.

So there will be a number of things which this course will not address. For these points, we will signpost the way out.


Prerequisites

This course assumes the following of the reader:

  • Basic knowledge of types such as integers, booleans and strings.
  • Basic knowledge of control flow.

learning-python-with-tdd's People

Contributors

a-ashiq avatar gitbook-bot avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.