Profile PictureYacine Mahdid
$0+

How to Get Started With Programming

Add to cart

How to Get Started With Programming

Hello đź‘‹

Getting started with programming can seem daunting.

I know because I tried for 3 years to learn Ruby way back in the day. Year after year I kept trying and it seemed that I was going nowhere.

It finally clicked after some more structured guidance from a fantastic university teacher. Since then I've been teaching computer science and machine learning to people from various backgrounds with great success.

This free resource and the following guides are my attempts to formalize this roadmap.

Learning programming is easier than you think, however, there are a few specific pitfalls to knowing about it to be efficient.

It can open up a lot of doors too. For me, it was how I successfully built my own tech startup (you can read more on this freecodecamp article: How I Went from Hackathons to CTO of a 20 Person SaaS Company in 3 Years)

Hope this is useful! 🌹

First Steps - Free Guide đź§­

This free orientation guide is packed with resources to help you figure out your ways while learning to program.

This guide acts as a map for your learning journey and will guide you through some of the best resources out there to learn programming effectively!

The Missing Guide - Paid Guide (9.99$) đź§—

In this guide, we will cover the missing pieces for programming effectively using a technique that I taught my students with great success.

This process of programming, directly stolen from manufacturing, is how you get from a problem statement to a working program that can be coded easily. It's composed of 4 main steps:

  1. Assessment (or Quoting)
  2. Prototyping (or R&D)
  3. Production (or… well it’s also called production)
  4. Continuous Improvement (or Kaizen)

This methodology was taught to my software engineering students when I was tutoring at McGill University.

No matter if you have 0 idea how to solve the problem when you start, this methodology is applicable for solving leetcode, building an app, or writing research-grade software.

What is your problem?

Let’s put some color on what might be your current problem.

You have completed a few introductory programming courses in full. You have already learned a programming language like Python, Java, or Javascript to a somewhat okay level to be able to Google terms around.

You might even be enrolled in a boot camp or in your first few years of computer science at a university. With the knowledge you have, You feel like you should be able to code anything.

However, whenever you open up an editor to solve a problem, nothing is happening. 

You completely blank out and you don’t know where to even start.

This is totally normal and you are not alone.

Learning to program as a total beginner isn't easy because there is a big mental gap between knowing nothing and knowing something about programming.

Yet, most beginner courses you will find out there will just jump straight into "here are the basics of coding: for loops, if statement, function, variables, etc."

While nothing beats doing things in order to learn it actually scares off a lot of students before they even have a true taste of how to program.

It's actually even worse in universities where some computer science/software engineering curriculum are so brutal and fast-paced at the start that they leave students with the feeling that programming is too hard for them.

There is clearly something missing, a gap if you will in the teaching of programming to new students.

You might think that the gap is all the details of how the computer works. From bits to assembly to C, to higher language, until you hit that keyboard to give your almost English-like instruction. Surely, knowing how a computer works would make you great at designing instructions for it to follow!

However, that is not it. This part is great knowledge for people with already some understanding of programming, but kind of useless for beginners.

No, the gap is something that most people who know how to code internalize without even realizing.

The code you write isn't the program. The program is something else entirely.

What this guide is about:

This guide will show you what is this gap in your knowledge and why it is there. It’s not your fault. Even in university degrees, teachers spend a lot of time talking about “What Is Programming”, but almost never about “How to Do Programming”.

Just like there are very few classes on how to learn how to learn, the subject we are covering in this guide is meta enough that the literature is scarce.

At the end of this guide, you will have all the required tools to be able to effectively tackle programming problems in a structured way that has shown to produce a great program.

What this guide is not about:

This guide is not about writing code (paradoxically enough). 

If the sentence above leaves you a bit confused, you are the intended audience since you internalized that coding and programming are the same thing.

We will not be covering any Python, Java, MATLAB, etc. There are plenty of these classes out there and some of them can be found in the ressource and template section.

It’s also not a data structure and algorithm guide, although these topics are useful tools to apply when solving a programming problem they come at a later stage in our programming recipe.

Finally, this is not even a guide on how computers work. In fact, there will be no computer science topic discussed in this guide.

This guide is about programming, a way for humans to formalize a series of steps in order to achieve in an automated fashion a desired result through the use of a computer.


Comment or question:

If you have any question or comment you can message me at mail@yacinemahdid.com or ping me in the Discord server. I'm often online.

Instructions

  • To get the free guide, please enter 0$ in the payment box 👉
  • To get the missing guide, please enter 9.99$ in the payment box 👉
$
Add to cart

In this guide, you will learn the missing element that most beginners are lacking when it comes to learning how to program… Actually learning how to program!

No programming knowledge needed.
No material needed, except pen and paper.
Access to Discord to message the author directly.