How to Become a Computer Scientist
Become a lifelong learner., Understand your future role., Start with pseudocode., Tweak the pseudocode., Try writing algorithms for all sorts of things., After you've learned how to write algorithms, programming should come naturally to you...
Step-by-Step Guide
-
Step 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. -
Step 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. , 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 ... , 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. , 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! , Buy a book, and read it entirely to learn the language.
Avoid online tutorials as they're often written by hobbyists, not professionals.
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. , The more time before programming you spend planning in pseudocode, the less time you'll spend typing and scratching your head. , One of the best places to start is by reading Steven Skiena's book The algorithm design manual. , Read up on Big O notation. , It is important to learn what ways can efficiently counteract them. -
Step 3: Start with pseudocode.
-
Step 4: Tweak the pseudocode.
-
Step 5: Try writing algorithms for all sorts of things.
-
Step 6: After you've learned how to write algorithms
-
Step 7: programming should come naturally to you.
-
Step 8: Programming is only the translation of pseudocode into a programming language.
-
Step 9: Read up on RAM (the random access machine).
-
Step 10: Learn about the limiting behavior of functions.
-
Step 11: Read about how worst case inputs can break your algorithm or cost you heavily in CPU processing time.
Detailed Guide
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.
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. , 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 ... , 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. , 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! , Buy a book, and read it entirely to learn the language.
Avoid online tutorials as they're often written by hobbyists, not professionals.
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. , The more time before programming you spend planning in pseudocode, the less time you'll spend typing and scratching your head. , One of the best places to start is by reading Steven Skiena's book The algorithm design manual. , Read up on Big O notation. , It is important to learn what ways can efficiently counteract them.
About the Author
Barbara Hill
Enthusiastic about teaching organization techniques through clear, step-by-step guides.
Rate This Guide
How helpful was this guide? Click to rate: