Created
May 21, 2021 05:13
-
-
Save derekmc/b175689fbaebe5e40d702bd64f69b792 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html> | |
<html> | |
<body> | |
<h1> Learn To Code </h1> | |
<p> | |
This is a course on learning to code. It is contained entirely within | |
this single html document, so that you download it, save it, take it | |
with you, or convert it into any form. There are no signups or fees, | |
Just this document. | |
</p> | |
<p> | |
Focus on projects, but with good tools you can handle. | |
</p> | |
<h1> Why Learn to Code </h1> | |
<p> | |
The modern world runs on information. It used to be the case, that | |
most of this information was within simple documents or spreadsheets. | |
Increasingly, we are relying on internet based applications, because | |
they allow for greater coordination and structured management and | |
regretfully control. | |
</p> | |
<p> | |
In order to take back control of this information, to understand how | |
to interact with it on your terms, and publish and create things you | |
can actually own, it is important to understand the technologies on | |
which all of this is built. | |
</p> | |
<p> | |
The web or internet consists of a few basic moving parts. | |
You have the physical network itself, all the connections | |
between all the computers. But this part of the internet is | |
mostly handled outside of our direct control. | |
</p> | |
<p> | |
Next, you have servers, databases, and browsers. | |
(show image of database -> server -> =Network= -> computer -> broswer) | |
</p> | |
<p> | |
In this course, we will focus on each of the layers independently: | |
<ul><li> databases</li> <li> servers </li> <li> (Network) </li> <li> computer </li> <li> browser </li> </ul> | |
</p> | |
<p> | |
For databases, we will learn csv and spreadsheets, sql and nosql. | |
For servers, we will learn nodejs, python, and php. | |
For the network we will only cover some basics in theory. | |
On local machines, we will learn scripting, os basics such as unix, package and dependency management, security, python tk, and c. | |
In the browser, we will learn javascript. | |
</p> | |
<p> | |
It may sound difficult to learn so many different technologies in one short course, but I think | |
it is a good approach for many reasons. First of all, you will learn that not every project | |
or tool needs a ton of work, and that you can do a lot with just a few basics only. | |
Finally, connected ideas from each of these | |
</p> | |
<p> | |
A note about learning programming. When I first learned to code in a formal course, | |
I learned java. I really liked this as a learning language, because it is compiled, | |
and strongly typed. Both of these things help you understand basic principles of | |
programming languages much better. But I have begun to see some of these styles | |
as if not simply extra work, but also unnecessary and leading to over-complication | |
and poor design. Many if not most would disagree with me here, but I prefer a | |
natural language style approach. | |
</p> | |
<p> | |
However, even when you take a natural or language based approach, it is still | |
critical to understand the mechanics of the system. | |
</p> | |
<p> | |
Don't worry if that does not make 100% sense to you right now, it's just a | |
subtle note. We will start with basic examples, and work our way up with real | |
projects. If you want to get the most out of this course, I recommend combining | |
it with your own projects and learning approaches, and to not treat each section | |
as a one and done deal, but rather something you can go back over layers as you learn more. | |
</p> | |
<h1> Chapter 1: Databases and Spreadsheets </h1> | |
<p> | |
A database and a spreadsheet, in many respects are basically the same | |
thing. The principle difference between the two seems to be that a spreadsheet | |
is mostly intended for a user to interact with directly in some kind of graphical | |
program, while a database is designed for computers to access and manipulate directly. | |
</p> | |
<p> Both a sp | |
* | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment