Learning to Code: Week 34
This week I was able to get started on Hack Reactor Prep since I want to complete it before I get into the precourse work. I took Udacity's great course on Git and Github and was able to hear back from a Hack Reactor Remote student and have a great conversation with Matt Hamil who will soon be a graduate of the Nashville Software School!
December 29, 2016
Here is the advice from CL (a current HRR student)
Solo week, we’re expected to be working 50% of the normal class time. So it’s not really a week off. But you should definitely have time to rest up! For my cohort, our solo week is right after thesis projects start, so we’re mostly working on those with our groups. I’m not sure what other cohorts who have their solo week before thesis starts do.
As for studying before HR starts — I think it’s enough just to have a clear understanding of the work you are given in precourse (or Fulcrum, if you’re doing that). If you understand that, then for HRR, we’re told early on to trust in the curriculum. It’s gone through many iterations to get to what it is today.
But if you do have a lot of extra time beforehand, here are some resources for you to look at:
Bonus skill to have: Knowing your keyboard shortcuts!
- Terminal (https://github.com/0nn0/terminal-mac-cheatsheet)
And just a website that teaches keyboard shortcuts (it’s like flashcards for shortcuts): https://www.shortcutfoo.com/
You seem to have started on Github already, that’s also a good thing to learn.
Toy problems are also great. Do lots of toy problems. (You’ll be doing even more during the course!).
And if you really feel up for it, play around with some frameworks (Backbone, React, and Angular are just some of them). See if you can build a simple webpage, maybe with buttons that do something. Or try to understand what is going on in the demos/examples that are on the websites of these frameworks, like this one for React: https://facebook.github.io/react/tutorial/tutorial.html.
December 30, 2016
Finished module 1 of Hack Reactor prep. Fairly easy stuff.
- Get your code to tell a story!
- Assemble your solution from small, single-purpose functions that have no side effects.
- Aim for a simple, clear flow of data from small function to small function.
- Think in terms of inputs and outputs at every level of your system. Each small function transforms its input into an output.
- Use precise, self-describing names for your functions and variables.
- Functions, in particular, should be named "verbObject", like renderList or calculateAverage. This emphasizes the transformation of input into output.
- Outlining and stubs
December 31, 2016
- Google's Career Guide - Technical Development Guide
- Building a simple website for #Open2017
- Worked on the git-practice Jennifer gave to me however, I fucked up my branch/merge :(
- Finished FCC basic algorithms.
- Worked more on FCC intermediate algorithm problems.
- I'm boring so I spent my New Years watching the Free Code Camp Open 2017 live stream. (Until 2am)
January 01, 2017
- Guide: Computer Science and Web Development - Comprehensive Path
Kyle Simpson had a great talk on people with a CS Degree vs Not during the New Year stream. "Understand a problem before SOLVING IT."
How to ask good questions: https://jvns.ca/blog/good-questions/
- I just learned about Sets in JS!
- Watched Google Internship Insight video (1 hr)
- Linked List in JS: https://www.youtube.com/watch?v=UESEbKb_uWw
More awesome advice from HQ:
While you're in bootcamp, to be quite honest, you should only be focusing on one thing: the curriculum. Pour 100% of your time, energy, and focus on just getting good at the thing in front of you, and don't let anything else distract you.
People will tell you that Git is important, algorithms are important, this crap and that crap is important. Ignore them. Trust the curriculum and own the shit out of it. The rest can wait. That, and prioritize sleep over everything else.
January 02, 2017
Finished reading Essentialism and decided that I need more ruthless laser focus for me to get things done. There is a reason I like courses like CS50 and having a coach for my Powerlifting, I don’t have to make up my own programs/schedules and be self-guided! I suck at that.
I came across this guide on FCC and will be following that to the letter, only skipping things I’ve completed or feel won’t be useful going into Hack Reactor.
What I like about it is that it hits DS&A, Git/GitHub, Advanced JS, CSS, DOM, Testing AND has projects to complete. I wish I had run across it earlier, but I still have a month to go.Obviously I won’t get through it all, but I will do my fucking best.
Obviously I won’t get through it all, but I will do my fucking best. I have setup my copy of the Trello board and am starting with the Udacity Github course.
Course - Udacity: How to use Git and GitHub
- Got sublime to run from the terminal.
Lesson 1 reflections:
- Concept mapping. Commits and Diffs.
- “A good rule of thumb is to make one commit per logical change. For example, if you fixed a typo, then fixed a bug in a separate part of the file, you should use one commit for each change since they are logically separate. If you do this, each commit will have one purpose that can be easily understood.”
- Git clone.
- Git checkout - restoring a previous version and restoring all the files to a previous commit.
- Setting up your Git Workspace
- Now my iTerm has cool colors and features like seeing the id of the commit I’m on! git diff considers the first argument as the "original", and the second argument as the "new" version, so additions are lines present in the second argument but not the first.
- Fixed all bugs in Pappu game
- Lesson 1 COMPLETE
- Git init
- Git commit
- Udacity commit style guide
- Udacity git cheat sheet
- Git Internals - Git Objects
- Lesson 2 COMPLETE
- Remote repositories
- Git push <remote> <branch>
- Pushed my reflections to Github repo
- Git Fetch
- Git Merge
January 03, 2017
Course - Udacity: How to use Git and GitHub
- Fast-forward merges
- Pull requests and merging conflicts
- People use the name UPSTREAM for a remote pointing to the original repo.
- Lesson 3 COMPLETED
Course - Frontend Masters: Advanced JS
Shawn Drost/Hack Reactor: Technical Challenges from Front End Interviews
- For people who attended top schools, completing Udacity or Coursera courses didn’t appear to matter. However, for people who did not, the effect was huge, so huge, in fact, that it dominated the board.
- Some of the most popular courses we saw were:
- Design of Computer Programs
- Intro to Algorithms
- Computability, Complexity & Algorithms
- Algorithms Specialization
- Functional Programming Principles in Scala
- Machine Learning
- Algorithms on Graphs
January 04, 2017
- Looked up a bunch of Hack Reactor related repos on Github to get a glance at the work to come.
- How I made a SaaS webservice earning $1000 monthly profit
- Paid for Hack Reactor in full. Oh shit.
- Pre-course Accept info was emailed.
- Great conversation with Matt!! We talked about all sorts of topics and I hope we can continue to keep in touch in the future. He's an amazing person.