Friday, July 12, 2019

Am I in the right major?

Doubting girl
Last fall, a student from my CS 222: Advanced Programming course sent me an email expressing concern about them choosing computer science as their major. The email said:
I just had a question concerning life outside of college. This first project that we just completed: is that what real work will be like in the real world? With 20+ hours of research for a small part of code? I’m just starting to question if I’m in the right major considering I couldn’t get this first project to work.

The student appeared to feel like they were “drowning,” and not accomplishing what they needed to be doing for the course. This was causing them to doubt their choice of major, wondering if they were really going to enjoy it in the future.

I’ve written some about the CS 222 course before. (What we learned—Fall 2017, and Spring 2018, and Popular achievements—Spring 2018 and Spring 2019.) The course, by design, tends to “throw the students in the pool, and encourage them to (learn how to) swim, while I stand by the side with a reach pole in case someone starts to drown.” This does not mean that I don’t provide instruction and scaffolding, but one of the objectives of the course is for the students to learning how to learn, something computer scientists are going to have to do their entire profession. As such, the course is structured such that the students have to find much of the details and skills themselves as the semester progresses.

So, how did I respond to the student? Here’s my response.

Fair question. Mostly, the answer is a resounding no.

As you become more experienced, there is less you will need to research. If you don’t recall how to do something you’ve done before, you’re likely to understand the overall idea, and just need to be reminded of the details. If you’re needing to do something new, it’s not likely to take you as long to find a solution because your past experience will lead you to an answer quicker, or often provide some of the background knowledge you need to understand the new task.
Boy tying shoe
When you first learned how to tie your shoes, you likely struggled greatly, and had to keep going back to Mom or Dad for reminders. At some point you were able to reliably do it on your own—if you really concentrated. Days/weeks/months(?) later you got so experienced with tying your shoes you could do it without even thinking about what you were doing.

But then there was likely something else you needed to learn, and the process started again. Life is about continuing to learn. Stop learning, and you stagnate.

Am I suggesting you’ll never struggle getting code to work, and end up spending 10-20-30 hours trying to figure out why? No. Inevitably that will happen on occasion. I believe it will happen less and less as you become more experienced, however.

Hang in there. If you enjoy challenges, problem solving, and coding, I believe you’ll do well. If you want to talk more some time, let me know. I’m always glad to do so.

Did I provide the right response to this student? Would you have responded differently? Leave me a comment below and let me know what you think.

By the way, the student finished the course with an A, continued with the computer science major, and landed a very successful internship this summer. When I contacted the student for permission to include their quote, they also replied with the following:

With my internship experience now I have had to research things to be able to complete a program, but I have found that it doesn't take up as much of my time as I thought it would. I thoroughly enjoy the position I am at now and found that your response was very true in relation to this internship. I am very glad that I reached out to you and received your response in the fall, without it I may have changed majors.
Sometimes you have more of an impact on others than you realize at the time.

Student quotes are included with permission.
Image credits:
Doubting girl: https://publicdomainvectors.org
Boy tying shoe: http://www.clker.com

No comments:

Post a Comment