3 answers
Asked
298 views
What are the basic things to learn to be a valid computer scientist?
Please I need an answer to this question regarding my career choice
Login to comment
3 answers
Updated
Gil’s Answer
The answer from Alevix is thorough and covers most of the basics.
One additional basic skill is to learn about Application Programming Interfaces (APIs). You can search to find more information.
Here is one site that gives a basic explanation: https://www.mulesoft.com/resources/api/what-is-an-api
APIs come in two high level flavors, synchronous and asynchronous.
Synchronous: Application A sends a request to application B and waits for the response. (Paying a bill online is an example.)
Asynchronous: Application A sends a request to application B and does not wait for the response. (Sending an email is an example)
As you progress, check out swagger.io.
One additional basic skill is to learn about Application Programming Interfaces (APIs). You can search to find more information.
Here is one site that gives a basic explanation: https://www.mulesoft.com/resources/api/what-is-an-api
APIs come in two high level flavors, synchronous and asynchronous.
Synchronous: Application A sends a request to application B and waits for the response. (Paying a bill online is an example.)
Asynchronous: Application A sends a request to application B and does not wait for the response. (Sending an email is an example)
As you progress, check out swagger.io.
Thank you, Gil!
Alex
Updated
Belal’s Answer
Here's a list of important things to learn/ to be a valid computer scientist:
1) Time complexity & space complexity & practicing leetcode problems - this will help a lot in interviews
2) Data structures - this will also help in interviews and help you think modularly
3) High level design - this is so crucial to succeeding as a developer in industry and isn't a skill that's exercised much before joining industry.
4) Working on side projects - one of the best ways to become a better programmer is to just program, real projects will give you insight into what real-world debugging looks like rather than just doing it in an academic context
5) Start learning about LLMs - this is looking like the future of computer science, really worth learning as much as you can about it earlier rather than later
1) Time complexity & space complexity & practicing leetcode problems - this will help a lot in interviews
2) Data structures - this will also help in interviews and help you think modularly
3) High level design - this is so crucial to succeeding as a developer in industry and isn't a skill that's exercised much before joining industry.
4) Working on side projects - one of the best ways to become a better programmer is to just program, real projects will give you insight into what real-world debugging looks like rather than just doing it in an academic context
5) Start learning about LLMs - this is looking like the future of computer science, really worth learning as much as you can about it earlier rather than later
Updated
alevix’s Answer
to become a computer scientist, focus on these fundamental areas:
1. programming languages: learn at least one language deeply, like python, java, or c++. i personally recommend lisp and brainfuck, if you have the guts!
2. data structures and algorithms: understand how to organize and manipulate data efficiently.
3. computer architecture: grasp the basics of hardware and how software interacts with it.
4. operating systems: learn about process management, memory allocation, and file systems.
5. software engineering: understand principles like version control, testing, and debugging.
6. mathematics: strong skills in discrete math, calculus, and probability are beneficial.
7. problem solving: develop analytical and critical thinking skills to solve complex problems. most problems might not need any computer!
8. explore areas like artificial intelligence, cybersecurity, or database systems based on your interests.
and learn to talk very effectively to the new chat ai overlords! 😏
get an account at huggingface, one of the best free chat ai out there
start talking to it
ask it for the next steps
get surprised. really, make an effort to do this!
1. programming languages: learn at least one language deeply, like python, java, or c++. i personally recommend lisp and brainfuck, if you have the guts!
2. data structures and algorithms: understand how to organize and manipulate data efficiently.
3. computer architecture: grasp the basics of hardware and how software interacts with it.
4. operating systems: learn about process management, memory allocation, and file systems.
5. software engineering: understand principles like version control, testing, and debugging.
6. mathematics: strong skills in discrete math, calculus, and probability are beneficial.
7. problem solving: develop analytical and critical thinking skills to solve complex problems. most problems might not need any computer!
8. explore areas like artificial intelligence, cybersecurity, or database systems based on your interests.
and learn to talk very effectively to the new chat ai overlords! 😏
alevix recommends the following next steps:
This was super helpful, thank you!
Alex