How to Become a Computer Science Professional
Richard Croft has been a professor of computer science at Eastern Oregon University since 2000. Richard earned a PhD in instructional systems development at Virginia Polytechnic Institute. Prior to entering academia, he worked in computer programming and systems analysis. Richard also worked in software design and programming for veterinary medical equipment.
What is computer science?
Interesting question. I would say it's mainly the study of how to find problem solutions that can be automated (software development). "Problem solution" is a very broad phrase.
What do you find most interesting about computer science?
Finding various ways to get things to work and comparing them. The thrill of finding the solution to a tricky problem.
What do you find least interesting about computer science?
I spent many years in a corporate setting writing business programs. I have had enough of that.
Are there subfields of computer science that students might not be aware of?
There are probably subfields that I am not aware of. Computer vision, data mining, security applications, and modern OS development are all new fields of inquiry.
What careers do students commonly pursue with a degree in computer science?
At our institution, they are almost exclusively application software development and software maintenance.
Is a graduate degree preferable for a career in computer science, or can someone enter the field with a bachelor's degree?
There are entry points for all levels of education. A BS opens the door to many great opportunities, and an advanced degree will give access to a smaller number of extremely interesting jobs. There is demand for all levels of education.
What personality traits do you think a student should have in order to be successful in a computer science program?
Patience, ability to tolerate flaws in others and recognize flaws in oneself, “stick-to-itiveness,” and patience.
What electives would you recommend that a student in a computer science program take?
Physics, math, and definitely courses in other sciences and humanities (otherwise they seem like robots!).
What study tips would you give to a student to help him or her succeed in a computer science program?
Learn to take good, detailed notes. Review your notes at least three or four times a week (all the notes for the term). Don't skip class. Ever. Begin work on assignments as soon as they are given, aim to finish them early, and do not rely on all-nighters to save you from procrastination.
Do you think computer science is a subject that can be studied online, or is a traditional class environment ideal?
Especially for foundational programming classes, personal live attention is vital. I have never met a person who "learned" to program online who either cared for the experience or could program worth a... hoot.
What subjects should a prospective student of computer science study before entering a computer science program?
Students should have done well in college-level algebra, at the very least. Anything that presents the opportunity to tackle unusual problems would be good, even solving tough crosswords and other puzzles.
What pieces of advice, or caution, would you offer to a prospective student of computer science?
Don't try to memorize programming -- understand how it works. If you understand the basic ideas and can express a problem clearly, you can find a solution to any problem that's solvable. Don't assume that because you have done well in an intro course that you're a master;some humility is very useful. Study some other topics besides CS, and pay heed to the study tips I gave for question 9.