6
$\begingroup$

I'm currently planning on taking AP Calculus BC and AP Statistics as a freshman in high school next year, and am looking to go into the computer science field. I was wondering what track I should continue on, going into discrete mathematics, linear algebra, probability, etc. What courses should I take in the duration of high school, with dual enrollment available, and what should I plan to take in college? I've also looked at my high school's options; should I take the offered Discrete Mathematics & Probability course after calculus, or even at all?

$\endgroup$
  • 2
    $\begingroup$ I suggest you talk to some of the math and computer science faculty at whatever nearby college you plan on taking the courses beyond BC calculus. I'm sure they'd be very happy to talk to you. In fact, if you're in a rural area, they might only encounter someone this advanced (taking BC calculus as a 9th grader) every 5 or more years, so you'd definitely have their interest. $\endgroup$ – Dave L Renfro Jun 16 '17 at 22:05
  • 2
    $\begingroup$ "It seems to have been decided that undergraduate mathematics today rests on two foundations: calculus and linear algebra." -- John Stillwell. These are pretty fundamental, but for a computer science major, we have to throw in discrete mathematics as well! If you find yourself loving math as much as I did after some undergraduate mathematics, consider a Math & CS joint major. $\endgroup$ – Mateen Ulhaq Jun 20 '17 at 6:49
  • 1
    $\begingroup$ You could kill two birds with one stone and read books like "Doing Math with Python" or "Scientific Computation: Python Hacking for Math Junkies" or "The Book of R: A First Course in Programming and Statistics." $\endgroup$ – John Coleman Aug 6 '17 at 14:29
  • $\begingroup$ Possible duplicate: Beyond Calculus, an Invitation to Dream Higher for High School $\endgroup$ – Jasper Dec 23 '17 at 5:49
11
$\begingroup$

Take your time Andrew, don't worry so much about classes. Learn Python and solve your calculus problems with it. Learn R and solve your Stats problems with it. If you can do this by the end of your freshman year you've accomplished an incredible amount.

Next year, if you can take a discrete class that includes some basic work with matrices this would be ideal. Also, take all your other AP classes and beast them. Work to understand how you can solve problems in Psychology, Economics, Biology, Chemistry, History, and Literature using the computer in addition to your pencil. These are free college credits, no need for dual enrollment in classes that you don't know will transfer.

Breadth young brother.

Listen to a lot of music, absorb everything around you, have fun.

$\endgroup$
  • 1
    $\begingroup$ Beasting the AP classes is a non-optional here. If he earns a C in his favorite local college's intro course in chem. bio etc. there is a much better chance that transfers than a mediocre AP score. At least that is how it goes in math, I have oodles of kids who earned a 3 in the AP calculus exam and are far from where they should be in algebra, trigometry and calculus. My department sets pretty high gateways for AP credit counting due to these common events... So, I tend to think, it's actually better to take real college classes if at all possible. $\endgroup$ – James S. Cook Aug 7 '17 at 23:39
  • 1
    $\begingroup$ yes, well, $3\neq$ beast mode... $\endgroup$ – jfkoehler Aug 9 '17 at 15:24
4
$\begingroup$

This same question has arisen at my current institution even earlier (i.e., after AP Calculus AB). The traditional next course after the Calculus is Real Analysis (constructing the real numbers in one of the four ways - Dedekind cuts, infinite decimal expansions, rational sequences modulo Cauchy, or with the axiom of completeness: usually via one of the last two), which can be followed by a second course on Real Analysis (e.g., broaching Lebesgue Measure Theory for which I recommend the book of H.S. Bear as a friendly introduction) or a course in Complex Analysis. But our mathematics department has opted for a different route, which I think might be appropriate for someone interested in computer science, as well:

We teach a course on non-routine problem solving, which is roughly in the spirit of Putnam A1/B1 (approaching from below) geared towards students without experience in mathematics competitions. The topics covered include mathematical induction and the well-ordering principle, the pigeonhole principle, combinatorics (e.g., stars and bars), graph theory (e.g., Euler's polyhedral formula), and a healthy dose of problem posing, i.e., working towards student-generated problems.

Here are a couple of examples of problems we used early in the year:


enter image description here


There is no official textbook for the class, as I try to formulate the problems - or have the students do so - based on their interests. For example, a recent opinion piece in the NYTimes mentioned an older study that found Euler's identity, $e^{i \pi} + 1 = 0$, to be widely considered the "most beautiful equation" in mathematics. Even with Calc 1 knowledge, a few assumptions about power series (e.g., that they exist, that differentiation/integration work like you might hope) is enough to figure out how $e^{ix}$ can be written, and then this identity is not tough to derive in a class period.$^{\dagger}$

This answer is, in part, my advocating for other schools to consider such a route for students interested in mathematics as an alternative to more and more Calculus/Analysis. But for completeness with respect to the OP, here are two specific books that I would recommend if you are looking to put together an independent study of this nature (or for teachers who are considering creating a similar course).

  1. Applied Combinatorics by Alan Tucker.

  2. The Stanford Mathematics Problem Book by George Polya and Jeremy Kilpatrick.


$\dagger$ I wrote up a brief description of how one can derive Euler's Identity with a couple of assumptions:

enter image description here

$\endgroup$
  • 2
    $\begingroup$ These are very nice problems though I'm not sure I understand C. But D is just so funny. $\endgroup$ – DRF May 12 '17 at 15:08
  • 1
    $\begingroup$ @DRF Thanks! Part C asks, e.g., can you partition a geometric square into, say, 6 squares? (They needn't be of the same size.) The answer is yes; but how? And can this partitioning be done into 7 squares? Why or why not? Etc. $\endgroup$ – Benjamin Dickman May 12 '17 at 15:20
  • 2
    $\begingroup$ These are great! The answer for D is mind-blowing until you work it algebraically starting from the general form $\frac{\sum_{i=1}^{k} \bigl((2i)^2-(2i-1)^2\bigr)}{\sum_{i=1}^{2k} i}$ and remember the story of young Gauss. I agree that C is ambiguously worded. $\endgroup$ – shoover Jun 15 '17 at 18:36
  • 1
    $\begingroup$ @shoover Thanks! It is a very fun class to teach. For C, I explain it further and work some examples along with the students. For D, I think it can (also) be effectively proved using a geometric representation... $\endgroup$ – Benjamin Dickman Jun 15 '17 at 18:44
  • 1
    $\begingroup$ @BenjaminDickman Would you mind if I post some of your questions on MSE? Also, would you happen to have more examples of such questions? $\endgroup$ – Ovi Jun 16 '17 at 16:42
3
$\begingroup$

What you likely will not have experienced after Calculus and Statistics is: proofs. At most institutions, both Discrete Math and Linear Algebra introduce, and may even concentrate on, proofs. The same is true of Theory of Computation in computer science. Multivariate Calculus (sometimes called Calc III) often does not emphasize proofs.

So that can serve as a disideratum: Choose a course that exposes you to rigorous proofs.

$\endgroup$
2
$\begingroup$

That depends on what you're interested in. If you're thinking about biology or chemistry as a career, differential equations would be a good choice. If you're interest is in computer science then I would go with the discrete math option. For electrical engineering, you might think about a class in complex analysis. (Complex refers to complex numbers not the difficult of the class.) Other kinds of engineering like mechanical or aeronautic would benefit from a third semester of multi-variable calculus or vector analysis. If you're thinking about math as a major then you're probably going to have to take the multi-variable calculus course so that would be a good next choice unless you're getting a little tired of calculus in which case any of the other options would be good.

$\endgroup$
2
$\begingroup$

As a number theorist I am biased, but I think a conjecture-proof study of elementary number theory could be a good place to start.

Many summer programs for mathematically-inclined high school students (e.g., the Ross Program, the Hampshire College Summer Studies in Math, PROMYS) focus on number theory and these have a long track record of producing mathematicians who go into academia.

Doing number theory in this way combines many aspects of the other responses: (1) interesting problems with little technical background, (2) development of programming skills as you formulate and verify conjectures, (3) development of proof-writing and (4) applications (cryptography, mostly). Books such as

https://www.maa.org/press/ebooks/number-theory-through-inquiry

and

http://bcs.wiley.com/he-bcs/Books?action=index&itemId=0470412151&bcsId=4878

might be good places to start.

$\endgroup$
  • $\begingroup$ Did you attend any of those summer programs? Ross and PROMYS focus on proof-writing and testing conjectures by examples, but there is no systematic focus on programming skills or cryptography as an application so I wonder where you got those ideas from. $\endgroup$ – KCd Aug 7 '17 at 9:41
  • $\begingroup$ @KCd I edited for clarity. I wasn't suggesting that the programs did number theory in the way I described, just that they often seem to do number theory. $\endgroup$ – ncr Aug 7 '17 at 21:58
1
$\begingroup$

I think you should focus on learning practical and interesting skills that will help you to get a coding job. For example, how about learning how to code in C#, Java or even Javascript?
Coding is a practical and real world skill. It's not a specialty reserved for research scientists anymore.
I suggest you begin by focusing on real world situations before jumping into specialized academic approaches that hardly anyone uses.
Also, complex math just isn't used much in real world coding situations.
There are a few specialized companies that do scientific types of coding where it's useful.
But even there, we have pre-built libraries for handling all of that stuff.
A few nights (or so) of study is all you'll need to make use of specialized tools like that.
I strongly suggest you avoid an impractical and academic approach to learning to code.
That approach will not lead to a job, and isn't useful for most of the coding that you will need and want to do.

$\endgroup$
  • 2
    $\begingroup$ I have experience in many languages, primarily JavaScript (see my SO profile). I've gotten some real world experience doing internships, etc. but I want to know primarily the academic route to take. I want to know more about theory since I've got some real world experience in, theory that'll supplement a career. $\endgroup$ – Andrew Li Aug 5 '17 at 22:11
1
$\begingroup$

Also consider linear algebra. Given your interests one emphasizing matrix manipulation rather than theory is preferable, for now at least.

P.s. In general, when accelerating in high school try to take courses that are mainstream in both topic (used in many majors) and treatment (how commonly taught) as that keeps your options most open. Also consider time efficiency.

$\endgroup$
0
$\begingroup$

Take calc 3 (multivariable) and calc 4 (ODEs). This is standard and will work with almost all things you want to go into.

Real analysis (theoretical calc) is only useful if you go into math. Even theoretical physicists don't need it.

$\endgroup$
  • 1
    $\begingroup$ I don't think this is true. For example, economists of a certain kind use all sorts of real analysis in the statements of theorems and heuristics. For example, mathematical biologists of a certain kind prove theorems about dynamic systems using methods and ideas of real analysis. $\endgroup$ – ncr Aug 6 '17 at 14:34
  • $\begingroup$ Typical "find a single counterexample". Great process for rigorous proof. Lousy, lousy process for multifactorial life situations based on a preponderance of effects and outcomes. [And contains the typical mathy confusion of basis versus application.] I can DEFUHNITELY point you to multiple threads in physics forum and college confidential with even THEORETICAL Ph.D. physicists saying the only use of real analysis was in the real analysis classroom. Get out and check it out... $\endgroup$ – guest Jan 12 '18 at 1:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.