A Teacher's Advice on Learning CS with Less Stress

A GIF of an apple dancing

Difficult Examples to Portray Difficult Concepts

A person confusedly trying to figure out math
I am Confusion

Within the past few years there has been an explosion in tech. People have become more interested, and so groups have sought to monetize educating those people. As someone who has been learning web development for the past four years, I have come across tons of resources both paid and free. There is a trend in these resources that helps me separate them into quality and sub-par very quickly: their real-world comparisons.

So many times I have felt confident that I am understanding a new concept only to be confused by an analogy that the course or resource offered me. It can be confusing at best and make someone want to quit learning at the worst. I will leave all courses and examples unnamed, but will definitely share some examples.

My BIG disclaimer: teaching is a beast of a responsibility. Be careful what you say about or to teachers. They are trying their best and I am aware of that. In NO way is this derogatory to teachers. We stick together and I will go to bat for my fellow educators. 

Now, to examples!

A reference to the dino DNA segment in Jurassic Park
Dinosaurs Should be Fun!
I was enrolled in a particular MOOC(What is a MOOC?) that was going to introduce SQL. I had never not even once used SQL and the course was supposed to be for total beginners. I read over the supplied documentation, completed the quizzes and exercises provided and felt like I understood. My head was swimming with INSERT statements and foreign keys. That's when the instructor released me to go work on an assignment with my newfound knowledge. The problem? The project and most of the instruction for SQL were explained with DINOSAUR TAXONOMIES.

I tried. Man, I tried to understand SQL. I failed. I was trying to work through complex dino names while seeing if I could even construct a table. I got frustrated and didn't finish the course. I lost $200 bucks and swore of the company that made it. I wish this was the last time that this happened to me, but it wasn't.

However, I don't make the same mistakes anymore.

What to Do When Your "Teacher Doesn't Teach"

I am a teacher. I teach four different Computer Science classes, two English Pre-AP classes, and Robotics. I also study web development ~10 hours a week in my personal time.

I get learning. I facilitate it.

But learning is a process. One you have to...learn. Learning can't be done TO you, it has to be done BY you.

Every week, a kid who doesn't understand something accuses myself or a colleague of not "teaching them." My response is always the same: "What are you going to do about it?"

Now, don't think I leave the conversation at that and leave the kid to their own devices. I'm a teacher! I always coach them to understand that there are other ways to go about it. I teach my students to do a few things and these can be applied directly to the CS world:

Kelly from the office says, "Yeah, I have a lot of Questions"

Consider asking for another example

I am physically with my students and I teach them to ask me to say it in a different way. A MOOC or blog doesn't always do that. You can take to the web to find another way or even email your instructor. Forums are great for this! Just ask for people to explain the concept in a new way to you.

Don't Feel Responsible for the Whole Concept Right Away

A Simpson's character trying to force together two puzzle piecesIf a student is struggling with a concept, I always "chunk" it for them. That is, I break the problem into components and make them work each one at a time and then put them together. This is actually a great way to become a master of top-down design!

Feel Free to Change Your Own Homework

This one is my favorite. I was terrible at completing math homework in high school. I was bored by the repetitive nature of it, so I just passed my tests and took my C (I am much less teen-angsty now and much more thorough!). I wish that I would have tried this idea out.

A person chases their dog with homework

Let me give you an example. Today I was working on a JavaScript concept that was already a little difficult for me. The exercise offered to me to learn it was to process data in a phi coefficient (ϕ) problem. Yeah...I didn't know what that was and right now is not the time for me to figure it out. I am already learning JS! So here's what I did: I took the idea that the resource was trying to convey (looping through an objects keys) and made my own problem. I am going to make an object of myself and the keys will be the possessions I have on my person (keys are included, pun intended). The concept will still be learned and thoroughly. I'm just doing it in a way that makes sense to me.

Study with a Partner or Group

Meetups work. That's why there are so many in every city across the world! One of the biggest things that works in my class is letting students teach other students. The student teacher gets to solidify their knowledge while the learner gets to hear the concept in student speak. You can turn blue in the face trying to convey a concept only to see a light bulb go off when another student goes, "it's like this..."

Second, those partners and groups are going to get hired and they just might make sure you do too! *wink, wink* 

A person asking if anyone knows how to study