Hello Topekan blog reader.
I would like to compile some resources for learning how to program that are available in the Topeka area to anyone who came across our group and is interested in programming. We actually have a lot of unique opportunity educational-resource-wise in Topeka. Since COVID-19 is keeping us all home for the next few months (I hope not longer, but who knows), all of my resources will be free and online. Hopefully the information will be useful for anyone of any age, at whatever stage of learning to program.
Treehouse is provided by the Topeka Public Library. All you need to do to sign up with an account is to have your Library Card number, and sign up through the Treehouse portal on the TSCPL website.
Treehouse is basically a free college education. I firmly believe that if you were to dedicate the year or two it takes to 100% complete the entire Treehouse library, you would be skilled enough to land a junior development job even without having gone to college. The idea that you have to spend tens of thousands of dollars in tuition to learn to program is patently false, and Treehouse provides great programming tutorials for $300 a year (or free if you live in Topeka). I got my first developer's job because I had done the HTML/CSS, JavaScript, Python, and Django curriculum on Treehouse, along with two years of CS work at Washburn. But Treehouse is completely free to Topekans, and if you want to learn to program it is the best free resource.
Here is a sample curriculum of "Tracks" for you to complete on Treehouse:
Treehouse Track |
---|
Digital Literacy |
Start Your Coding Journey |
Learn HTML |
Design and Build a Website |
Beginning JavaScript |
Front End Development |
Full Stack JavaScript |
Learn React |
Beginning SQL |
Beginning Python |
Intermediate Python |
Exploring Flask |
Exploring Django |
Beginning Java |
Intermediate Java |
Java Web Development |
Beginning C# |
Beginning ASP.NET |
Intermediate C# |
Web Design |
Algorithms and Data Structures |
Beginning Security |
This is like two year's worth of learning working 10 hours a day, and a viable replacement for CS classes at a college (though you should still read free CS OER textbooks). If you 100% complete Treehouse, you can be sure of finding a junior dev job somewhere in America. At no cost to you!
Lynda is also provided by the Topeka Public Library. All you need to do to sign up with an account is to have your Library Card number and enter through the Lynda portal on the TSCPL website. Lynda doesn't focus exclusively on computer science the way Treehouse does, but it comes close. If you know a language to learn, you are able to find multiple tutorials on the topic, from beginners to advance. Here is an example curriculum to get you started programming:
PluralSight is free for April because of COVID-19. It is otherwise fairly affordable, at only $200 a year. Although I would use up all the resources offered at Treehouse and Lynda through the Topeka public library first, since they are free, PluralSight is a legitimate way to learn programming skills at very affordable rates. PluralSight is aimed more at experienced programmers, so it might be more meaningful to focus on other free beginner's resources up until the point where you think you're reading to fork over $18 a month to get a few more advanced tutorials.
Coding Train is a graphic arts computer science curriculum for beginning programmers. It uses visualization software as an introduction to JavaScript (p5.js) and Java (processing). It is taught by a very affable instructor who makes learning programming fun. It would be worthwhile for anyone interested in programming to 100% complete the curricula and videos.
EbookFoundation/free-programming-books is a crowd-sourced compilation of OER (open educational resources) on Github. Whenever someone publishes a computer science textbook with an open source license, someone usually posts it to this repo. Accordingly, the README is a long list of free computer science textbooks. While a physical library is better, since TSCPL's stacks are closed due to COVID-19 this is the next best thing. You can search by topic and read until your heart's content. The only thing is that this collection is not broken into "tracks" up through beginner to advanced, so you have to make your own curriculum based on it. If you would like someone to do the hard work of creating a free and open source curriculum based on this resources, you're in luck because I have done just that on my website "Holm School"
FreeCodeCamp is unique in that it is a nonprofit educational resource for learning programming. They focus on their tutorial website and YouTube channel. They are doing god's work, so be sure to visit them and try and 100% their curriculum before moving on to paid resources. Their focus is on Front End and Web Development.
This resource is for people who want to get a college-equvialent education in computer science, focused on functional programming. You're going to learn a lot going through this curriculum, and expect to work hard.
The Topeka Public Library's stacks are a great place to get books for learning how to program. Once you search around for a popular language you want to learn, the TSCPL is assured to have some in stock. Don't be intimidated by the size of the book. The larger books (the ones the size of dictionaries) are actually for beginners, since they cover the whole spectrum of learning programming. Try out an HTML or JavaScript book. Of course, the TSCPL is closed for the next long while due to COVID-19, so you'll have to find online resources until then.
Archive.org has opened up its CDL (controlled digital lending) library to have no waiting lists during the COVID-19 crisis. While this isn't a computer-science exclusive library, so you're bound to get a lot of junk in your results if you don't filter right, if you were to search for specific programming languages ("HTML", "JavaScript", "Python", "SQL", etc.), you are sure to find some books that you can lend for free to learn to program from the safety of your home. Helpful hints are to click "texts" on the menu on the left after searching in order to restrict your search to just scanned books.
Why not take CS50, a great introduction to C, Python, and JavaScript? It's hosted on edX and completely free! All of the recommended book on the syllabus are available right now free on Archive.org's Emergency Library. You can read the books as well as following along with the video courses and homework. The CS50 website is also extensive, as it catalogs their bountiful YouTube channel.
Get yourself a Raspberry Pi and start exploring the world of Debian! I've been using Debian for 22 years and love it. I'm so glad their is an educational version for people to explore linux without a big financial cost. Raspberry Pis can be purchased for around $60. You can find many Raspberry Pi books in the Archive.org Emergency Library. Mix this with the Khan Academy course on Electric Engineering and wire up some breadboards of circuits of LEDs and control them with Python from your Raspberry Pi. Can you translate text from the keyboard on your computer into blinking morse code in an LED? Can you host your own webpage off your Raspberry Pi?
Related to the last post, once you have a Raspberry Pi you can start learning linux. Search the Archive.org Emergency Library for "Linux Bible" and read the most recent version of a distribution you like. Linux isn't easy to learn, but it's worth it if you want to do development work.
University of the People is a $1000 a year online bachelors of science in computer science degree. What's nice is that most job's tuition reimbursement 100% covers that fee. UoPeople uses text-based OER for their curricula. Since it's open source education resources, that means anyone can study the UoPeople curriculum. The textbooks are free, in other words. And each course lists its textbook (with a link to download) in the syllabus. Why not just start at the lowest number CS course and read your way through the entire UoPeople curriculum? These are college level courses, so expect to read college level texts and do college level homework. We're approaching the age where college level work is free online, and UoPeople even grants a degree for your online study.
It me. ¯\_(ツ)_/¯ I've been working on this project for 1.5 years now. I archive good, free, open source computer science books and classes on Github, and I have made my own curriculum to teach programming. I sincerely believe that it's a waste of money to pay to learn computer science. Modern computer science is built on the back of the open source movement, and there is plenty of open source educational resources to fuel four years of study to earn the skills necessary for a junior dev job. College is just outrageously expensive, even though it's not necessarily a bad thing to do, but debt is devastating when you're young and so I think it's very sensible to just study CS using open source educational resources. CS is unique because you can learn everything on a computer, since everything takes place on a computer anyway. Is it okay to spend some money on learning CS? Of course, I do and did myself. But I would not go into debt to learn something as free (as in beer and language) as programming, all of which takes a Raspberry Pi and an internet connection. Anyone who says you need to spend money to learn enough about programming to get a first job is selling snake oil. That might not necessarily have been the case ten years ago , but it certainly is now that open source has matured and taken over the CS education movement.
Another tough curriculum for learning programming.
Here's a curriculum I made specifically for K-12 students. It's a gentle introduction to programming, but can be used for anyone interested in learning programming without diving in college-level courses.
I could probably go on, but I hope this provides more than enough for the stay at home order in Kansas. Afterall, the shorter the better. But this should also keep you busy if you're trying to learn programming at any other time. Topeka is nice in that it provides Lynda and Treehouse, both online schools that don't require you to visit a physical location with crowds. Mix their curriculum with some hefty CS OER textbooks and you'll start your journey to learning programming online. The bonus is that these curricula are totally free for Topekans!