How to Become a Computer Scientist

Being a Computer Scientist is not about programming; it is about the study of algorithms (a series of steps, understood by someone or something, in order to complete a task in a given number of steps). Many Computer Scientists don't...
Part 1 of 4:

Starting out

  1. How to Become a Computer Scientist Picture 1How to Become a Computer Scientist Picture 1
    Become a lifelong learner. Being a computer scientist is all about learning to be a student, not just during training, but for all time throughout your career. Technology changes, new languages develop, new algorithms are devised: you need to be able to learn new things to stay current.
  2. How to Become a Computer Scientist Picture 2How to Become a Computer Scientist Picture 2
    Understand your future role. As a computer scientist, it is your job to solve problems. It is also about solving problems in a way which can leave everyone happy in the end. This means learning good communication skills as well as coding skills because you are more likely to match the needs of your client with the apt solution if you listen well and relay back your understandings clearly, as well as keep the client informed during the project.
Part 2 of 4:

Writing pseudocode

  1. How to Become a Computer Scientist Picture 3How to Become a Computer Scientist Picture 3
    Start with pseudocode. Pseudocode isn't really a programming language, but it is a way to represent a program in a very English-like way. The most familiar algorithm to you is probably on your shampoo bottle: Lather, rinse, repeat. This is an algorithm. It is understandable by you (the "Computing Agent") and has a finite number of steps. Or does it ...
  2. How to Become a Computer Scientist Picture 4How to Become a Computer Scientist Picture 4
    Tweak the pseudocode. The shampoo example isn't a very good algorithm for two reasons: it doesn't have a condition to end on, and it doesn't really tell you what to repeat. Repeat lathering? Or just the rinsing. A better example would be "Step 1 - Lather. Step 2 - Rinse. Step 3 - Repeat steps 1 and 2(2 or 3 times for better results) and then finish(exit)." This is understandable by you, has an end condition (a finite number of steps), and is very explicit.
Part 3 of 4:

Writing algorithms

  1. How to Become a Computer Scientist Picture 5How to Become a Computer Scientist Picture 5
    Try writing algorithms for all sorts of things. For example, how to get from one building to another on campus, or how to make a casserole. Soon, you'll be seeing algorithms all over the place!
  2. How to Become a Computer Scientist Picture 6How to Become a Computer Scientist Picture 6
    After you've learned how to write algorithms, programming should come naturally to you. Buy a book, and read it entirely to learn the language. Avoid online tutorials as they're often written by hobbyists, not professionals.
    1. However, feel free to look for help on the internet. Object-oriented languages like Java and C++ are "in" right now, but Procedural languages like C are easier to start with because they deal solely in algorithms.
  3. How to Become a Computer Scientist Picture 7How to Become a Computer Scientist Picture 7
    Programming is only the translation of pseudocode into a programming language. The more time before programming you spend planning in pseudocode, the less time you'll spend typing and scratching your head.
Part 4 of 4:

Algorithm analysis

  1. How to Become a Computer Scientist Picture 8How to Become a Computer Scientist Picture 8
    Read up on RAM (the random access machine). One of the best places to start is by reading Steven Skiena's book The algorithm design manual.
  2. How to Become a Computer Scientist Picture 9How to Become a Computer Scientist Picture 9
    Learn about the limiting behavior of functions. Read up on Big O notation.
  3. How to Become a Computer Scientist Picture 10How to Become a Computer Scientist Picture 10
    Read about how worst case inputs can break your algorithm or cost you heavily in CPU processing time. It is important to learn what ways can efficiently counteract them.
4.5 ★ | 2 Vote