Monday, August 24, 2009

How to be a successful student in CS

Today is the first day of the fall semester here at Harding. It's always exciting to see all the students back from the summer, and there's so much hope for the semester that you can almost feel it in the air.

I was recently sent a questionnaire from The Wall Street Journal asking me what it took for a student to be successful in computer science. I thought today would be an excellent day to share my responses.

Generally speaking, what actions can students take to prepare themselves to succeed in your class or similar classes?

Give plenty of time outside of class to do homework and review that day's information. Use your time wisely in class by taking good notes and asking questions when something doesn't make sense. Start on assignments as early as possible to give yourself plenty of time in case you run into difficulties later; this will allow you to seek help before it is too late and will enable you to get your assignments turned in on time.

Based on your knowledge of your college/university overall, what should incoming students do to generally be successful in school? (Success includes academic success, social success, career success, or however you wish to characterize it.)

Be prepared to spend lots of time wresting with the difficult material. Do not overload yourself with a full-time job while you are a full-time student unless absolutely necessary. Get to know the people who sit next to you in class... they can be of great help when you miss class or need some extra help. Do your best to maintain a good relationship with the professor... visit him/her outside of class and show interest in the subject matter; professors enjoy students that show interest in the class and are more likely to write you a great letter of recommendation when you are seeking employment.

If you could tell parents one thing to help their children succeed in college, what would it be?

Let them fight their own battles, but be there for them if they get in over their heads. Your child is becoming a man/woman and needs to know how to be independent. Hopefully you've already started your child down that road, and college is another step along the road.

What qualities or activities differentiate your best students from others?

The best students sit up front and pay attention. They start on their assignments early and refuse to give anything than their best. They take responsibility for their own learning and don't rely purely on the professor to spoon-feed them all the information they need to be successful in class.

If a student knew nothing about your discipline, how would you describe it to him/her?

It is the study of how to make computers do extraordinary things. It encompasses graphics, artificial intelligence, web development, video games, mobile computing, algorithmic thinking, and many other aspects that touch the lives of every living being. It is the future.

How would you "sell" your discipline to a student trying to decide what to major in? (For instance, what do students like best about this discipline? What might be most surprising?)

If the student seemed right for a computer science major (showed mathematical prowess and the ability to think logically), I would tell them that CS pervades every other science and field and is in desperate need of talented young people. It is hard to imagine a field more significant to the future of the world than CS; medicine, economics, education, physics, chemistry, biology, entertainment, and farming all are significantly impacted by advances in CS. The job market for software developers (many CS graduates take this route) has rarely been better, and software engineers have higher overall job satisfaction than most any other profession.