This Side of Sanity
introduction to programming


    These lessons will teach you how to build a game, starting from the most simple steps and building up. For many people, a game is much more fun than typical dry programming examples. If it works, you at least get to play and have fun. You will be able to modify the games any way you want and if a particular game idea interests you, feel free to continue and explore and modify as much as you want.

    These lessons start with HTML, CSS, JavaScript, PHP, and SQL. Later lessons will show principles from many other programming langauges.

    Don’t be afraid. If you are going to work with web pages, you will have to learn HTML, CSS, and JavaScript anyway and HTML is so simple that many people don’t even consider it to be a programming language. On the server side you will have to learn SQL and at least one server side programming language, such as PHP, Go, Ruby, or Python.

    You can learn parts of these languages in small steps without becoming confused. Or at least low levels of confusion that you can easily overcome.

    The important thing is to learn how programming works. Once you know programming, learning a new language is pretty fast. You will keep learning new languages as long as you keep programming.

    The video description includes a link to the corresponding page on the web site. Many of the web pages have tools available that may be useful to you, as well as including all of the sample source code from the lesson.

    All source code is released under the MIT License, which means you can use and modify it for free, including for commercial use, as long as you include credit and the original license. You can release your own modified code under any or no license.

    You will need the following items to get started:

    You will probably need a computer. It is possible to make a phone or tablet work, but that might be beyond the ability of a beginner. Any modern computer should be fine, including Macintosh, Windows, and Linux.

    You will need a plain text editor. This is different than a word processor, although if you are careful you can use a word processor as long as you always save your work in plain text format. There are a huge number of free plain text editors available.

    You will need a web server. You can download all the parts and get them running on your local machine for free. Or you can pay for low cost server hosting and be able to share your game or games with your family and friends.

    You will need a web server (such as Apache), a server side programming langauge (such as PHP), and a database (such as MySQL). If you use web hosting, make sure that they provide PHP and some version of SQL. If you are loading it onto your local computer, there are numerous online step by step guides that will tell you exactly how to get Apache, PHP, and MySQL running as localhost on your machine.

    If you choose web hosting, you will also need an FTP program. There are a bunch of free FTP programs available.

    You may find that all of the parts you need came preinstalled on your computer. There are step by step guides on how to start up and use the preinstalled versions of Apache, PHP, and MySQL. Or you can install new versions.

    Once you have all this done, you can proceed to the first lesson.

    Because everyone starts with different background knowledge, some of you mgiht want to skip over specific lessons.

    And at the end of the video, I quote a short passage from a famous guy explaining why it doesn’t matter which programming language you learn.