DEV Community

loading...

Learn to Program 03: The How

pieterjoubert
Game Development Lecturer interested in AI, Programming Languages, Graphics and most importantly teaching Programming.
・2 min read

Finally we get to the how. How exactly will this series be structured to help you (the reader) learn programming? How will you be able to measure your progress? How exactly will this work?

The first answer concerns structure. The series will be structured as short posts (typically less than 5min to read) that cover a single topic, concept etc. Attached to these posts will be small programs, where appropriate, where you can see and test the concept in question.

My advice would be to use a site like Repl.it in which to run and practise the programs provided. The examples will not be written in one language only. Different languages have different strengths and will be used in this way to showcase various aspects of programming. This is not a series in which you will learn python, or rust or any specific language.

(As an aside a proper Computer Science professor like Donald Knuth writes a whole new language just to teach programming. I am not anywhere close to that level so my readers will need to be content with existing language!).

The idea is for bite sized pieces of content that you can read while standing in line at your local coffee joint. In the same way programmers will often tell you to keep your methods to a size that fits on one computer screen, so too will I try and fit each post unto one screen (one screen while writing it, your reading experience might differ).

Finally, the entire process will follow (loosely), the Socratic method. In other words each post will tend to end with a question or task, and the following post will start with a possible answer to that question or task.

This nicely leads to Task 1: Update the rust example below to display your own name instead of mine:

fn main() {
  println!("Hello Pieter!");
 }

Link to Main Content Post. If you are confused about this post start here.

Discussion (0)