Back to the story. I started preparing to apply to a number of universities, arranged for my transcripts to be sent around all over, and I even took Math and English courses online (for credit) to support my application to the universities I am applying to.
Fast forward, I finally began my program. The thing is, I was admitted to my second choice whereby I had to take certain courses before I could apply into the Computer Science major. There was another program in the university which would guarantee my admission into the Computer Science major right away, but it was highly competitive and I did not get in.
Months later, with a number of struggles, it turned out that I failed one of my course and as a result, I was out of the game. I could no longer apply into the Computer Science major in the university. It was certainly a period of delirium to me, I kept thinking on whether I should transfer to another university and move to another city, or just change my major and remain in the same university.
Eventually I decided to change my major into a non-CompSci one and I'm happy with it! Still, I "wasted" tuition fees as well as the time needed to take Computer Science courses that I otherwise wouldn't need to take, but then again I wouldn't get to where I am now if I didn't make that detour.
In retrospect, there are 6 advices I would give to anyone who wants to study Computer Science. I know this is coming from someone who attempted to study Computer Science but ended up not, so either take it with a grain of salt, or treat it as a reality check. Your choice. There are many advices from people who are successful in Computer Science too, so you should certainly check them out to get a more realistic perspective of the whole process. I just want to try making people avoid the same mistakes I did.
1. Do. Your. Research.
Like I said earlier, all I did before attempting to major in Computer Science was take the prerequisites and hope for the best. There wasn't anyone around who gave me an advice on what I could and should have researched into. But here I am, and here are some things you should definitely research on the Computer Science program in the universities you are applying to. The answers you have will help you strategize on the best ways available to get into the major.
- Does the university offer a direct entry into the major?
- Do you have to take prerequisite courses before applying into the major? What are they?
- What are the historical class averages in those prerequisite courses?
- What are the grades and/or average grades needed to apply into the program?
- Can you take the prerequisite courses at another institution where it is "easier" to get a better grade, and then use those grades to transfer to the university of your choice?
2. Computer Science is Math-ier than I thought
I knew there was going to be Math in Computer Science, but I didn't know just how much and how intricate it was going to be. In the Precalculus Math course I took before applying into the university, I aced the assignments and exams, which probably made me a little overconfident in thinking I was ready to learn all kinds of Maths then.
Computer Science Math isn't Precalculus, you would have to deal with Calculus, Discrete Mathematics, Matrix Algebra, and probably more. Again, research the program in the university and check how much Math you are going to be doing. Some courses labelled as Computer Science might also cover a lot of Math, so you should at least be somewhat comfortable with that idea to major in Computer Science.
3. Competition is tough
If you are in a university where you have to apply into the Computer Science major, chances are there are limited seats available, and you will have to get high grades and high grade averages in order to get into the major. Bringing this back to the first point above, do your research, check the averages of the prerequisite courses, and aim high.
You will also likely have classmates who are proficient in at least one coding language and are pretty much already familiar with the world of Computer Science. Be prepared for this and find a way to stay encouraged.
4. Knowing HTML and CSS is not the same as knowing how to program
Another factor that drove me into considering Computer Science was the fact that I knew some HTML and CSS, and I thought I had the groundwork laid out to learn programming. Wrong.
The mindset that is required to deal with HTML and an actual program is different. I kind of knew that HTML and CSS are often not considered programming languages, but I did not know what programming actually is, so I did not have a point of comparison and I underestimated the whole thing.
HTML and CSS are basically markup languages, where to put it very simply, you are simply representing whatever media you want to show in a webpage in text/code form. For example, if you want to add an image to a webpage, you just have to represent the image in an HTML code <img src="[link]">, and if you want it centered, you can simply wrap your code in <center><img src="[link]"></center> and be done with it.
It is not the same for programming. You will have to consider different input values, output, values the concept of enumeration, recursion, and a lot of Math-like thought processes. So don't get deluded thinking if you could do HTML and CSS, you have the basics to programming.
5. If you can, learn at least one programming language before you decide to major in Computer Science
This is an extension to the fourth point made above. If you learn at least one major programming language before deciding Computer Science is for you, you are going to be at least a little bit familiar with what programming actually is and the kind of mindset needed to program. You will be less clueless and deluded before making the decision to major in Computer Science.
6. If you are not strong in Math, consider IT
If you like dealing with technology but not so much about writing codes and creating software, consider an IT degree instead. Or better yet, find out if the university you are interested in has both programs and see if you could try taking courses from both programs to somehow to get a feel of which one you are more compatible with.
Over and Out
I hope I have peppered in some realistic advices on the things you should think about again and again before finally deciding to major in Computer Science. Your personal interests matter, but you have to consider how the universities you are interested in handle the demand from students who want to major in Computer Science, especially in the current era.
Keep in mind that there are more than one ways to get a career in Computer Science-related field. Your projects and portfolio, as well as your network are important. Sometimes students in a closely related major, like Mathematics, and others who don't major in Computer Science can also end up doing careers those in the major would.
Again, I'm giving these advices as someone who did not actually end up in the major, but only attempted to. I suppose my experience can serve as a reality check to those of you who may want to do Computer Science only because you think it is the big thing going forward, but you should also think about your motivation and try gauging your compatibility with Computer Science early on.
Also, search for advices from people who are successful in the major and how they have gone about doing it. Getting a holistic and a realistic perspective will help you strategize. So go ahead, do your research, and all the best!