Most people never get past their first 100 days of learning to code. High schoolers join coding orgs, but only learn WIX, templates, or drag-and-drop code. It's much better and more fun to really learn how computers work, and how they can be a tool for you in whichever way you choose
How This Works
This blog that charts my first steps, links I liked, and how I felt. When you feel stuck, I hope it helps you
move along more quickly
Who I am
In 2020, I joined Hack Club, a nonprofit that helps high schoolers
start after-school computer clubs. My job is Chief Operating Officer, which means I work directly with the founder. When hired, I was the only non-technical person on the
My middle school computer science club had 12 boys and a male teacher. No girls. My high school didn't have a CS club at all
My senior year in high school in 1995 (on right) just as the web was beginning. My class was one of the last to go though high school without phones, devices or social media
25 years later, the majority of US high schools still don't teach any computer science classes. Most that do teach it, don't do it well.
This blog will chronicle my learning as I:
Deeply understand computers and the internet
Learn to code so I can build and do more amazing stuff
Chronicle my learning journey
Share so others can do the same.
A roadmap Follow my stages of learning
Check out each season to see what I'm learning. I start in the Spring of 2020. I enrolled in Codecademy for html/css basics, and friends at Hack Club helped me learn the rest
Understand that technology is just a tool and how real programmers think/talk/use tech
Understand how to use Repl.it/or VS Code
Learn HTML basics
Learn basics of styling w CSS
Learn how to be self-taught (how to use Google/YouTube/GitHub/Hack Club Slack and workshops)
Learn the landscape: history of computers/ operating systems / servers/ folders / browsers/the internet.
Learn basics of GitHub and how to commit and push but also WHY use GitHub?
Learn how to create a domain name for myself, link my code to it, update my code, and then build out new sites
on my domain
Begin to understand what else I could learn, ie other languages
In 2019 I built my first html website after meeting Hack Club founder and feeling curious about coding. I went
through Hack Club's How to Build a Personal Website
workshop on Hack Club's website. Had zero idea what I was doing. Didn't know what html was; how the internet
started. Who built all this internet infrastructure???? I needed context and love reading so fortunately one
afternoon at Barnes and Nobles I purchased "The Innovators",
a nonfiction book that tells the story of the people behind the computer/internet. Suddenly, I saw the internet not
as something from space, but rather as the result of humans building and experimenting over hundreds of years.
Following Hack Club's tutorial, I build a website in repl.it but then I gave up
and did other things for a year. Felt like i couldn’t do it. Or worried it would take to long. Forgot about it.
Decide I want to give coding another try
Asked my 1st question on Hack Club slack
Joined Codeacademy.com and pay like $14/month.
Working my way through the HTML class in Codeacademy. It's at least a month long course, and it's filling in
the gaps for me.
Signed up for GitHub. I have no idea what it is
Bought a domain name at Google. Friends from Hackclub.com help me every day with questions, or I would have
gotten very stuck
Finished the intro on HTML from Code Academy and started my own websites with span, line breaks, italics, bold
and unordered lists
It's May 22nd and I earned a "badge" at Codeacademy but i'm only 4% into my htm lesson. UGH. That took me two
days. I'm taking their tutorials and applying what I learn on my personal repl.it site and that's been great.
I'm practicing styling tags inside html and hrefs to add hyperlinks. I just went to hack club slack to see if
someone could recommend how to build a blog. Some people are recommending Jekllrb and another
site But honestly I don't know how to build those into my code.
It's so great to have Sam in Singapore bc someone is always awake, but that advice is too far advanced for
me. So I guess a cool goal would be to figure out how to get that into my code. Hack Club is great for support
when I get stuck, but it's not a place to fully learn how to code. Both those are really valuable though.
Also, i want to ship this, but I don’t know if I should ship my repl.it link, my github link or connect it to
christina.cool and ship that. I have to get my personal site together…. I wish i had the whole day to code-
its so exciting.
Loving going thru codeacademy while simultaneously building my site. This morn I created tab links at the top of
my site that will allow me to click on them and go somewhere else on the site.
Christina's top 10
Still hitting questions, like my push to github isn’t uploading my active website. I slacked my expert friend w
this question. Without that, not sure how I would have figured it out. Also, my daughter and i posted on our town
listserve that we’d build you a website for $50, and we got a client. Having this pressure will be awesome.
Still struggling w divs but adding them to my site. My main worry atm is how will i remember all this. When
will it become second nature. Also, my code is getting so long-- i’m struggling to not feel overwhelmed by it.
Do you ever want to just code all day? It’s kind of addictive!
Made this website public.
continuing Codecademy course. I'm 53% finished with HTML beginners course
Practicing styling my CSS, including lists, tables and forms
Moved to Visual Studio Code from Repl.it. This was not easy, and I had a lot of support from my friends at
Hack Club. This is a more advanced coding editor, and there were a couple days of frustration as I learned a
new system, but using the same tools as professional developers is pretty great.
Here's some more detailed info on how I synced up VS code with my GitHub account. This will be one
of my first detailed blog accounts.
I begin downloading Visual Studio Code- and that’s easy and free. Now I want to start building a new
website, and I’d like to create that in VS Code. How do link up VS Code and my GitHub account?
First step: Go online to my GitHub account and open a public repo in github (if you want to make it private
you have to pay) Click add a README and name your website.
Use lowercase in listing your website name...
Then click the green button Create repository...
Click the green CODE button, open w Github desktop... Then said YES to Clone. So I've created a
repository in GitHub called example1...
Then hopefully you'll see the button that says: Open in VS Code...
once you click that, it should open up a new thing in VScode like this below, and I've added files
index.html and styles.css so I can start coding
I typed in a little sample code just to keep this going. And now i will see if I can get my website
If you open up GitHub desktop, you should be able to go through a familiar flow now of committing and
and then push:
do you find this confusing and wonder why its so complicated? I do. My co worker Zach Latta helped me
through every step of learning this. I would call him and screenshare so he could walk me through,
step-by-step, and I would write it down and commit it to memory. Here is a screenshot of him helping me.
Look at my chaotic screen and how frustrated I look!
(I look frustrated)
Built christina.cool/parents This was a way to
implement some stuff I'd learned in codecademy, including Divs and Tables. Shared it w friends. This is the first
"real" thing I've built and while it's not useful, it's really important to have the confidence to build and share
projects as a way to push myself to keep going. Sharing publicly matters a lot. On the ship
Built a fundraiser presentation for a donor and got live advice from a talented webdesigner (Lachlan) that
pushed me. I also learned to 2 things: two use Hack Club's font, and to pull the colors and a graphic from another
website and put it in my own.
I also shared the website on a call with colleagues at Hack Club, which was fantastic. Having a community to share
the milestone moments of coding is really important. Presenting that made me feel amazing, and motivated me to
keep going. This was a private fundraising doc, so I can't share it :(
Watched a Hack Club ama presentation with Dylan Field, founder of Figma, and saw a bunch of students using
Figma, which inspired an idea in me that one day i could create my own designs for my sites, and not rely on
others images existing on website. This is unlocking a creativity in me that I'm excited to explore.
Six months after I started in earnest, I'm coming to the end of my self-described "beginners' stage and I'm testing that I can apply my knowledge and
finding some gaps. Overall, my emotional state is excited: I feel encouraged that I'm learning because I know now
how to build and publish websites for the world to see, and I see very clearly what I've learned (html basics plus
a little styling) and I see the next stages of my learning, which is tables and forms and more styling like how to
publish photos. When I look at basic website code, I understand it. once I master this, I'll move onto
Note: I code only 1-2 hours a week! If you have time to do more, you will move way faster than me. You can get past the beginner stage in a month if you 6-8 hours a week.
Let's recap because I haven't posted in a while:
still super confusing, and I am not at all comfortable with it and I've been practicing occasionally for a while
now so I'm going to diversify what I'm learning in the hopes it will give me context
I'm running a small Hack Club so I regularly practice and build on my html and css
Goals for stage 2 of learning to code
Collaborate on GitHub a project with another coder
Work with APIs so I can get computer programs to talk to each other(everyone's always talking about them)
Build a bot and see people using it
Use a Framework like Next JS
Use a library
Be able to check out software offered to me and decide if I want to use it, like Prettify
Once I get to a comfort level with the above, I'll have reached the next stage of my learning. These will be in
service of a couple projects I'm going to work on. Currently, I use html and css constantly to build websites and
I'll figure it out.
Early Spring 2021
Let's recap because I haven't posted in a while:
here's what has helped: For concepts and a road map, Zell Liew's blog was great. For a first project, this beginner site was good. Thanks to my friend Jessica Card for sharing!
Helping me were Hack Club workshops konami, password generator and spin the wheel all at Hack Club workshops They are best in class
Other cool advancements
On GitHub, I'm now creating repos, merging code, and using branches...I'm very close to collaborating on a project with someone. Such a huge shout out to Hack Clubber Abby, who sent me this Intro to GitHub video which I love, and followed along 10x.
The terminal is where I know create repos, and using it is my first peek into the back end world. I know CD, ls, and then commands to help me make commits. I still don't understand what a git is. But using terminal helps me understand my computers filing system, and is also a very easy way to impress people, who won't even know if you're faking it if you nod and say 'mmm, ok'
Other stuff I'm picking up: what other languages there are, and who uses them and why. A little bit about servers... but that's still confusing; I'm slowly learning more about the history of computers/ operating systems / servers/ folders / browsers/the internet.
Last point I wanted to emphasize: I code at most 2 hours a week. With work and family, I just don't have time to do more. If you can code 2 hours a day, you'll move a LOT faster than me. There are 3 guidelines for mastering anything difficult: understand the concept, apply it practically, and make friends who are also into it