Tips for Aspiring Computer Science Students
Popular lore has it that computer science pioneer Edsger Dijkstra once said, “Computer science is no more about computers than astronomy is about telescopes.” Embracing the holistic nature of this science means ensuring you nurture all your skills and develop a range of competencies to be the best you can be. Below, I offer some practical tips on how to make the most of your computer science journey.
Explore as much as possible
Whether you are just starting out with your first programming language or have already written thousands of lines of code for personal projects – there’s always more to explore! Computer science is a vast field, with hundreds of interconnected subjects, so always be on the lookout for new topics and make the effort to read about all of them, learn some in detail and implement wherever possible.
Invest the time to understand new developments in hardware, security, storage and the like so that you aren’t caught unawares in class or on the job. In any discipline, becoming familiar with the lingua franca of your field will help you become better, faster and more confident.
Learn how to learn
Computer science demands navigating hard subjects with little assistance from others. Learning how to learn is critical, especially in the early phase of studies.
- Embrace Google – You’re stuck with an unknown bug in your code that you have no clue how to resolve? Chances are someone else has faced and solved the same bug, but to uncover useful workarounds takes mastery of Google. Most people assume they already know how to optimally use search engines, but you’d be surprised to see how many give up after just a couple of general searches. Using Google properly is less about knowing obscure tricks, but more about cultivating a specific attitude – that of proactively chasing clues when stuck on a problem. Being persistent, methodical and detailed is the key to getting Google (or any search engine) to be a valuable assistant in the discovery process.
- Leverage online resources – Blog posts, open courses, tutorials and walkthroughs on platforms as varied as YouTube, Coursera and Khan Academy offer a gold mine of amazing resources at little to no cost.
- Teach yourself a new topic – To test your learning skills, challenge yourself to learn a new topic completely on your own, with just the Internet. Make note of which parts of the process were easier for you and which ones you struggled with and then focus on getting better.
Computer science, at its core, is problem-solving – the problem may be as simple as calculating the sum of numbers in a list or architecting a version control system. All big problems can be broken down into smaller ones; you just have to learn how to deconstruct them into more tractable pieces and then put them together again. Algorithmic puzzles and challenging math problems will help in developing this particular skill.
Learn how to communicate technical ideas
Yeah, we get it, you want to spend all your time reading about the latest tech trends and writing interesting code. None of this, however, will matter if you can’t communicate your ideas to others – be it your peers, colleagues, managers or professors. STEM students often end up ignoring other subjects, such as English, philosophy and history, thereby missing out on being well-rounded. Your ideas are only as good as your ability to communicate them and convince others of their viability. Don’t close off basic educational grooming; instead, invest in becoming a strong, effective communicator by studying a broad set of subjects that emphasise written and oral communication.
Ayush Sharma is a guest blogger for The Red Pen and final year computer science student at Massachusetts Institute of Technology (MIT)