TL;DR at bottom
Hi. So I’ve been torn between majoring in comp sci or biology, and my activities and classes kind of reflect this indecision. For example, I took a computer programming class in freshman year, however I didn’t go on to take the advance programming class and took the science research class instead. Then after I did some cancer research at my local university, I realized how boring working in a lab is and how frustrating it is repeating the same lengthy experiment if you messed up one little thing. So now I decided to self study for AP Comp Sci A (since it’s too late to take the class) and AP Stats (I made this decision this past spring, so it wasn’t too late).
What are some ECs that will compliment a comp sci major?
My current clubs are:
Math League
Math Honor Society (Former VP and P)
Science Olympiad (VP)
Model UN
National Honor Society (Secretary)
I’ve been hesitant about doing robotics this year, since: 1, I am the Science Olympiad Vice President, which already requires a lot of time. 2, My school’s robotics team is only regional level, they haven’t gone to Nationals or anything in the years I’ve been in highschool (going into my junior year). 3, the most I can participate in the Robotics club for the remaining years of highschool is 2 years, I feel like this doesn’t carry the same weight as a comp sci major who does it for 4 years.
TL;DR
Good comp sci ECs and/or classes besides robotics?
You should try to be a programming lead in robotics. This worked very well for my sons. It is to your advantage that the team doesn’t make it past regionals because this will reduce the amount of time you need to spend on it. This is just my personal guess, but I don’t think colleges care whether the team makes it to Nationals or not. I think that they know that different teams have different access to good engineering mentors and financial resources. The programmers generally don’t do their job until near the end of the build period. The other main task is to train newcomers who join in the fall. Even if you don’t have time to be a lead, I think it is important to at least be a member. Don’t worry about it being only for 2 years. Robotics was a big part of my kids application essays. They also mentioned personal programming projects that were not connected with school. Personal projects convince colleges that a programmer is enthusiastic about what they are doing more than memberships in clubs. Robotics is the exception.
The main expectations for very strong computer science candidates are to get to AP Calculus and beyond, and AP Physics. Preferably Calc BC and Physics C but Calc AB and Physics 1/2 is ok too if that’s all you can do. Having solid programming language experience in Python, Java and/or C++ will help a lot and will add a lot to your resume. Building your own website with some meaningful content will be a good EC. Participating in Hackathons and Math competitions will be of great EC benefit as well. Udemy and Coursera will be your friend when it comes to learning about all kinds of new stuff.
You also can think of mixing you two main interests by looking at majors such as Computational Biology or BioEngineering.
In terms of high school courses:
Math: as high as is available to you
Computer science: AP CS principles (or going through http://cs10.org on your own) can help you determine your interest; AP CS A is introductory programming and data structures.
Otherwise: http://talk.qa.collegeconfidential.com/high-school-life/2055289-faq-high-school-college-prep-base-curriculum.html
If you have a group of students interested in CS, CyberPatriot is a good EC to consider.
If you live in a city, local tech companies typically have a lot of initiatives open to encourage interest in STEM fields, so you might be interested in some of those.
In addition to the above suggestions, I would recommend Discrete Mathematics if you have that option available. Don’t kill yourself trying to fit it in, but it is a branch of math considered more relevant to CS than Calculus. Having said that, get some level of Calculus in first.
The math that will be most applicable for CS will be Linear Algebra and Discrete Math. Probability and MV Calculus will probably be needed for some advanced classes. But all of this can be taken in college, no school will expect this in HS.