Skip to main content
7 answers
7
Asked 791 views

What are some vital subjects to take if I want to pursue a career in computer science?

I am looking to get a job in CS since I love tech, and I want to know the necessities and what aren't necessities. #computer-science #technology #computer #programming #science

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

7

7 answers


1
Updated
Share a link to this answer
Share a link to this answer

Mickael’s Answer

Hi Bruce
What are some vital subjects to take if I want to pursue a career in computer science?
First depend what you want to do in computer. Let me try three levels:

1. Hardware
If you want to work on computer hardware, then electronic/electricity is probably a must. You will probably need to understand computer architecture, and since most pieces use protocol to discuss, at least some protocols and telecom topics would help.
Since, nowadays, a lot of hardware is smart, coding will also help (see next part).
Physics might also be interesting especially if the hardware you look is wave-based.

2. Software
In software, you need good logic. You do not necessary need to be good at mathematics in general but depending on your domain, it may help. If you're looking to write software, the best three things are:
- data structures that can be use to store the data your program needs without jeopardizing its efficiency.
- algorithm / logic: that is the core with the data structures.
- coding language (s).
Then you can add computer architecture since it helps you understand how your code is executed.

3. IT
In this area, you are not necessarily coding or creating but repairing and configuring. Electronic/electricity might help if you go to the physical repair. Operating system is good one to learn how they work and how to repair computers and/or tuning them. Some communication skills here (more than the other) because you will probably have to interact with people directly.

4. Common
Good analytic skills are common. Mathematics usually help because they teach you to analyze a problem a come to the solution.

I can expand in this subject a lot, really depending on what you are looking at.
1
0
Updated
Share a link to this answer
Share a link to this answer

Peter’s Answer

computer science is dealing with a lot of logic and math, therefore, you must able to think clearly and understand the mathematics background of things. it does not mean you need to able to proof a turing machine but one must be able to follow it. Language skill is good for development field but it is a tool (like a screwdriver), it is there to help you do your job. Operating system skill is good, back it goes back to understand how things are piece together. e.g. even the oven today has an operating system. That open up many areas. Networking skill is good, it requires you to enjoy solving puzzles and like graph (e.g. how internet connect). theoretical stuff is useful so do not discount those but you may not get to apply them until later part of the career.

hope that help
0
0
Updated
Share a link to this answer
Share a link to this answer

Zahid’s Answer

Introductory computer science classes cover topics like algorithm design, computer organization and abstract data types. After students develop a strong foundation in the major, they can move on to more complicated courses related to data visualization, neural networks and cryptography, among other subjects.

For a beginner like yourself, best thing to do will be to start out with an introductory CS class. I recommend CS50 from Harvard, it's free and super easy!

What you'll learn:
* A broad and robust understanding of computer science and programming
* How to think algorithmically and solve programming problems efficiently
* Concepts like abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development
* Familiarity in a number of languages, including C, Python, SQL, and JavaScript plus CSS and HTML
* How to engage with a vibrant community of like-minded learners from all levels of experience
* How to develop and present a final programming project to your peers

Check it out here: https://www.edx.org/course/introduction-computer-science-harvardx-cs50x

You can also check out Math for programmers at : https://www.youtube.com/playlist?list=PLWKjhJtqVAbndUuYBE5sVViMIvyzp_dB1
0
0
Updated
Share a link to this answer
Share a link to this answer

Joseph’s Answer

It depends on exactly what parts of CS you want to go into - for some areas, a number of very advanced topics in mathematics are essential, in other areas, the educational background isn't so important at all.

In most cases, rather than absolutely "essential", there's several subject areas that are very highly recommended. At least in my location, these are not strictly essential requirements for many areas of CS, so if you have problems with something or it's not available to study in your area, you can likely still get into CS without it, although missing bits out may close off certain specialities in CS. At least a basic level of mathematics will normally be absolutely essential, but beyond that, the very highly recommended subject areas include:

- Mathematics: calculus, matrices/linear algebra basics, logic/decision mathematics/algorithms
- Electronics
- Any IT and/or coding classes you have available

There's also plenty of bits of other subjects that will be helpful in CS, for example:

- Languages - both English Language and foreign languages - thinking about how grammar works can help better understand certain programming syntax and ideas.
- Physics - several areas - a good understanding of electricity and magnetism is very useful, and can be built on in a number of areas such as solid state/semiconductor physics to better understand how chips work, and a basic introduction to the quantum world to understand small-scale features and effects like quantum dots and Single Event Upsets.

Finally, it's always good to take experience from outside of the classroom - there's a lot of resources available these days to learn or practice CS ideas on your own outside of formal education. Play with tech, learn some coding, find a project to make your own.

0
0
Updated
Share a link to this answer
Share a link to this answer

Hanish’s Answer

I would suggest focusing on data structures and algorithms and mastering at least one programming language. A lot of people start out with python or javascript because they’re easier to learn compared to an object oriented language like Java or C++. Data structures and algorithms are crucial for anyone that’s trying to learn CS concepts because once you start interviewing for jobs, most of these jobs will focus on your ability to solve problems using common data structures like linked lists, arrays, stacks, queues, etc. Try to solve questions on leetcode in different programming languages like python, javascript, java, c++, etc. Leetcode has a section of problems dedicated to just interview, from personal experience I can vouch that you can expect to get these in atleast 90% of the time. Good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

Bindhu’s Answer

Hi Bruce

Great question, there are lot of very good answers that have been already given. Just want to add that we would need to practice all of the theory in the computer/laptop as we go through the different courses. Then we could be more confident in choosing a career. In some countries, students would see the laptop after the course has been completed, this would really add time to get them to speed. So if theory and practicing yourself could be done in concurrent pipelines, then you can be really successful in your career.
0
0
Updated
Share a link to this answer
Share a link to this answer

Jessica’s Answer

Most places offer general 'Intro to Computer Science' courses. These give you an overview of all aspects where you can figure out what you love doing. Then take some entry level courses on the areas you liked. I've taken intro level courses on web/app development, Python coding, Database design, UX design, Cloud Services, etc... and determined that I wanted to focus on was User Experience. It's always a good idea to have an understanding of all parts of CS to understand how your focussed area fits in.
0