I have been heavily considering CS for a while recently only thing holding me back is my raw knowledge of the field. I know nothing about java or the C language i think it is called, however i am a great math student being in the top fifteen in my grade, (class size 120ish) and have great problem solving skills. If it is okay to major in the class with no knowledge about the field i think its gonna be what i want to do in life.
What grade are you in? Is there anything at your school you can try - so you can see if you like computer science?
If not, consider an online free course (try Coursera or EdX) - just to get a sense of it.
Math is good background for it. Good Luck!
i would definitely recommend you learn (about) programming to see if CS is a good fit for you.
If you’re still in high school, then you have plenty of time to decide whether CS is the right major for you. Presumably you’ll be taking intro-level CS courses in your first year or two of college. Generally, those courses will have no prerequisites (other than HS general education college prep courses). After all, like many other majors (including economics, anthropology, philosophy, linguistics, geology, etc.), CS often isn’t very well covered in high school.
One exception might be if you were considering direct admission to an engineering school (as a prospective CS or computer/electrical engineering major). In that case it might be desirable to first take one or two programming courses at your HS or local community college (or online) in order to get enough exposure to feel confident that this is what you really want.
Otherwise, your standard HS college prep curriculum (with or without any CS) should be fine.
You may want to go through courses like http://cs10.org to get an overview of what CS is about.
If you can’t take CS classes in HS, then simply enroll in the CS intro class…but do it right away. CS is a demanding major, and you can’t wait to start in your sophomore year at most schools and still graduate with a CS degree in 4 years.
Good luck.
Being a good math student in something like Linear Algebra is encouraging. If possible, try to take a CS class at a local community college. I don’t see any reason not to think about majoring in CS. After your first introductory CS class at college you will know if it is something you have a passion for doing.
The answer is of course. Lots of students major in computer science knowing very little about it, or not even knowing how to program, when they first enter college. Many students take their first programming class in college. There’s nothing wrong with that.
But it is a good idea to get a foundation first - and there are lots and lots of online classes you can take to learn how to program or learn the fundamentals of CS.
You don’t need to know anything about programming or computer science before you start a CS major.
As others have said, it might be a good idea to take a programming class while still in HS just to see if it’s something you like.
I didn’t have any CS or programming background before I started undergrad. In fact, I actively avoided it because I thought I would be bad at it. It’s what I saw all the boys including my brother doing, and didn’t want to be embarrassed in front of all of them. I was good at math, though. And at the end of this month, I’ll be starting my PhD in computer science. So it’s definitely possible to start from no background. If you can get experience before you start, that’s great. But don’t beat yourself up if you don’t/can’t. Intro CS classes are pretty much always designed to assume no programming background.
How do you know if Computer Science is something you want to do for the rest of the life if you never tried it out before? There is correlation between being good at Math and being good at Computer Science and programming and a lot of skills are transferrable between the two fields. However, that does NOT mean that being good at Math will necessarily mean that you are good at Computer Science since there are a lot of differences in the types of thinking that are required for the two fields. The only way to really find out if Computer Science is a good fit for you is to try it out.
There are plenty of resources to learn the basics of Computer Science and programming like Coursera, EDx, MIT OpenCourseware, and iTunes University. Personally, I would recommend MIT's 6.00.1 Introduction to Computer Science and Programming using Python - https://prod-edx-mktg-edit.edx.org/course/introduction-computer-science-mitx-6-00-1x-8 - and Harvard's CS 50 Introduction to Computer Science - https://prod-edx-mktg-edit.edx.org/course/introduction-computer-science-harvardx-cs50x. These are excellent MOOC courses that will help you develop a solid Computer Science foundation.
Here is a major warning: Computer Science is a field where you basically need to learn to become an autodidact, meaning you need to develop the self-motivation and self-discipline to self-learn. The reason being that since technology is constantly changing, schools have a hard time adapting their curriculum to the new technologies so they focus on teaching the fundamentals and theory (that change very slowly) and leave out some technologies you will need to know on the job. Also, many companies are not willing to train their workers and leave things up to you. Thus, it is absolutely essential that you develop the ability to teach yourself things you need to know. From my personal experience, an effective self-teaching strategy is to find a problem you want to solve/something cool you want to create and find out what tools and technologies you need to achieve your goal. Then, go and actually try to achieve your goal. This helps you put your learning into context and you are better able to understand the how's and why's of the concepts you learn.
@pkardyparty There are many subfields of CS that are more theoretical (algorithms, complexity theory, AI, cryptography) and don’t directly involve computers or programming, though they can still be used to solve problems in those fields.
Agree with the other posters; you don’t need a coding background in HS to major in CS. When I started, I had very limited knowledge of Java and C++.
No it’s not. It’s a recipe for disaster, and you will likely burn out and end up in debt with nothing to show for it. There’s a reason data structures classes at decent schools have 60-70% dropout rates.
Genuine interest that has been cultivated for a long time beforehand is generally the best indicator of success.
Of course. That is the purpose of the introductory courses for the major. You do not need to know anything going in. Although, it would certainly make your first few classes easier to start ahead of time.