8 answers
Asked
981 views
What is some software and hardware that I should get familiar with if I wish to pursue a career in computer science?
I am a high school student who wishes to go into some sort of field in computer science. I am very familiar with Unity and C# currently as well as Blender.
Login to comment
8 answers
Updated
Steven’s Answer
A knowledge of how computers and processors work would be helpful in addition to several programming languages like the ones mentioned.
Updated
Shonda Mason’s Answer
Programming Languages: Start by learning one or more programming languages, such as Python, Java, C++, or JavaScript. The choice depends on your interests (e.g., web development, data science, systems programming).
Cloud Computing: Understand cloud services and platforms like AWS, Azure, or Google Cloud for scalable and flexible computing resources.
IoT (Internet of Things): Explore IoT devices and technologies, as this field is growing rapidly.
Computer Security: Learn about cybersecurity principles and tools to protect computer systems and networks.
Software Development Methodologies: Understand agile, Scrum, and other development methodologies.
Cloud Computing: Understand cloud services and platforms like AWS, Azure, or Google Cloud for scalable and flexible computing resources.
IoT (Internet of Things): Explore IoT devices and technologies, as this field is growing rapidly.
Computer Security: Learn about cybersecurity principles and tools to protect computer systems and networks.
Software Development Methodologies: Understand agile, Scrum, and other development methodologies.
Updated
Mark’s Answer
I'd highly recommend diving into the exciting world of Python programming. It's a fantastic journey! :)
Dan Wolf
Retired Electrical/Software Engineer and part-time College Professor (BSEET and MS Engineering Management)
129
Answers
Pittsburgh, Pennsylvania
Updated
Dan’s Answer
Your question stated your interest in Computer Science but did you know there is also a career path called Computer Engineering? In both cases, either Python, Java, or C would be good languages to start with. Once you learn the basic concepts of one, the others will be easy to pick up.
There are two hardware platforms that will provide you an easy and inexpensive way to practice writing software while also learning hardware concepts.
For Computer Science, there is the Raspberry PI family of computer boards which are more of an actual computer than a microcontroller (I use one as a backup computer with internet browser). The Raspberry PI Model 4 and Model 3 are priced between $35 and $80 depending on the amount of memory (but you will not find any decent discounts at Aliexpress). The Raspberry PI Zero 2 W is priced at $15 and can do almost everything the same as the Raspberry PI Model 3 although it isn’t as powerful. In both cases, you will also need a power supply, cables, monitor, keyboard and mouse, depending on what you are doing with it. You can do a Google search for “Raspberry Pi projects” to see the vast amounts of ideas and free help examples.
For Computer Engineering, there is the Arduino Uno microcontroller which is used to control devices such as sensors, motors, and lights. It is inexpensive, priced at $3 from Aliexpress and $27 from the official Arduino store in the USA. You can also buy a small kit of support parts for about $10 to $25. Like above, do a Google search for “Arduino Projects” to see the extensive amounts of ideas, projects, help, and examples that are available free on the internet. All you have to do is pick a fun looking example and try it out – learning comes naturally! Note that there are also other versions of the Arduino Uno such as the Arduino Mega, Arduino Nano and the newest Arduino Uno Rev 4 (currently sold only in the USA).
I believe the Arduino Uno platform would be easier to learn (and less expensive) than the Raspberry Pi. Although it is a microcontroller, it still allows for both C and Python and it has a larger variety of free projects and help information. Hint: start using it with the C language which is its’ default language.
I would suggest you start working with one (or both) of the above boards. The concepts and the skills that you learn will apply to your university classes and eventually to your career. And they are a lot of fun!
There are two hardware platforms that will provide you an easy and inexpensive way to practice writing software while also learning hardware concepts.
For Computer Science, there is the Raspberry PI family of computer boards which are more of an actual computer than a microcontroller (I use one as a backup computer with internet browser). The Raspberry PI Model 4 and Model 3 are priced between $35 and $80 depending on the amount of memory (but you will not find any decent discounts at Aliexpress). The Raspberry PI Zero 2 W is priced at $15 and can do almost everything the same as the Raspberry PI Model 3 although it isn’t as powerful. In both cases, you will also need a power supply, cables, monitor, keyboard and mouse, depending on what you are doing with it. You can do a Google search for “Raspberry Pi projects” to see the vast amounts of ideas and free help examples.
For Computer Engineering, there is the Arduino Uno microcontroller which is used to control devices such as sensors, motors, and lights. It is inexpensive, priced at $3 from Aliexpress and $27 from the official Arduino store in the USA. You can also buy a small kit of support parts for about $10 to $25. Like above, do a Google search for “Arduino Projects” to see the extensive amounts of ideas, projects, help, and examples that are available free on the internet. All you have to do is pick a fun looking example and try it out – learning comes naturally! Note that there are also other versions of the Arduino Uno such as the Arduino Mega, Arduino Nano and the newest Arduino Uno Rev 4 (currently sold only in the USA).
I believe the Arduino Uno platform would be easier to learn (and less expensive) than the Raspberry Pi. Although it is a microcontroller, it still allows for both C and Python and it has a larger variety of free projects and help information. Hint: start using it with the C language which is its’ default language.
I would suggest you start working with one (or both) of the above boards. The concepts and the skills that you learn will apply to your university classes and eventually to your career. And they are a lot of fun!
Updated
Robert’s Answer
Make it a priority to familiarize yourself with Linux operating systems. There's a range of different versions out there, and it's highly probable that you'll come across each one during your computer science career.
Updated
Brent’s Answer
Hi Elijah, this is a great question and one that even plagues tenured software developers (ie; what is the next library/framework/backend/cloud/etc that I should learn). I am not sure anyone has a perfect answer but here are a few of my thoughts:
1. Build something - Don't just learn a tool, focus on building something that is hopefully something you enjoy (gaming in your instance).
2. Choose a tool/framework/etc that solves a problem - Never simply pick a tool without first understanding the problem that it solves.
3. Read (a lot) - Github Code Search, hackernews, twitter/x and focus on people that are working in the field that you are interested in.
At the end of the day focus on things that you are passionate about (or provide you with value) to provide you with direction. A field in computer science or computer science curriculum will quickly follow.
1. Build something - Don't just learn a tool, focus on building something that is hopefully something you enjoy (gaming in your instance).
2. Choose a tool/framework/etc that solves a problem - Never simply pick a tool without first understanding the problem that it solves.
3. Read (a lot) - Github Code Search, hackernews, twitter/x and focus on people that are working in the field that you are interested in.
At the end of the day focus on things that you are passionate about (or provide you with value) to provide you with direction. A field in computer science or computer science curriculum will quickly follow.
Updated
Michael’s Answer
To begin your journey in software development, you'll first need an Integrated Development Environment (IDE). You can learn more about it here: https://en.wikipedia.org/wiki/Integrated_development_environment.
The Microsoft Visual Studio (VS) Community is a great choice for an IDE, and the best part is, it's free! Download it here: https://visualstudio.microsoft.com/downloads/
After installing VS, you're all set to start crafting your own software applications. You can choose any programming language you prefer, such as Java, Python, C++, or C. If you're not sure where to start, Python, Java, and C++ are excellent choices for beginners.
Now that your tools are ready, it's time to brainstorm some programs you'd like to create. For inspiration and beginner-friendly projects, check out this Github post: https://github.com/arpit-omprakash/100ProjectsOfCode. Happy coding!
The Microsoft Visual Studio (VS) Community is a great choice for an IDE, and the best part is, it's free! Download it here: https://visualstudio.microsoft.com/downloads/
After installing VS, you're all set to start crafting your own software applications. You can choose any programming language you prefer, such as Java, Python, C++, or C. If you're not sure where to start, Python, Java, and C++ are excellent choices for beginners.
Now that your tools are ready, it's time to brainstorm some programs you'd like to create. For inspiration and beginner-friendly projects, check out this Github post: https://github.com/arpit-omprakash/100ProjectsOfCode. Happy coding!
Updated
Harini’s Answer
If you're a fan of software programming, I'd recommend kicking off with Python. It's not only beginner-friendly but also a top pick for Data scientists in the AI field. So, go ahead and dive in, it's a great place to start your coding journey!