October 30, 2012 7:17 AM Subscribe

Former liberal arts nerd planning a return to university for Computer Science. How can I best catch up and prepare after years away from math and science curriculum?

I've read through previous questions about later in life career changes and found them very useful, but I have a couple of specific angles I would like some insight on.

I just turned 30 and have made the decision to go back to school after failing out of undergrad my first go around due to undiagnosed learning and mood disorders. I've always been a bit more of a liberal arts nerd than a science geek, although I was good at both. I was just more interested in writing and history and philosophy. I have extremely good analytical skills and love problem solving, and think I have a good brain for development and computer science in general. I've started up at my local community college to get some core curriculum out of the way.

What I'm concerned about is the math. Not my basic ability, but the fact that it's been years since college algebra and I know I'm not ready to jump into calculus. I probably couldn't even jump back into college algebra.

Where do I even start? I know there's Khan Academy, and other fantastic online resources, but how do I even know where to dip my toes in first? Does anyone know of a good basic math review? Are there instructional materials geared towards a student like me?
posted by f_panda to Education (10 answers total) 18 users marked this as a favorite

I've read through previous questions about later in life career changes and found them very useful, but I have a couple of specific angles I would like some insight on.

I just turned 30 and have made the decision to go back to school after failing out of undergrad my first go around due to undiagnosed learning and mood disorders. I've always been a bit more of a liberal arts nerd than a science geek, although I was good at both. I was just more interested in writing and history and philosophy. I have extremely good analytical skills and love problem solving, and think I have a good brain for development and computer science in general. I've started up at my local community college to get some core curriculum out of the way.

What I'm concerned about is the math. Not my basic ability, but the fact that it's been years since college algebra and I know I'm not ready to jump into calculus. I probably couldn't even jump back into college algebra.

Where do I even start? I know there's Khan Academy, and other fantastic online resources, but how do I even know where to dip my toes in first? Does anyone know of a good basic math review? Are there instructional materials geared towards a student like me?

This is the kind of math that you need to know for Comp Sci. It doesn't necessarily have that much overlap with math as needed by mathematicians or scientists, and calculus hardly comes into it.

Also, as you can see, they will probably teach you this stuff as part of your course.

posted by philipy at 7:46 AM on October 30, 2012 [3 favorites]

Also, as you can see, they will probably teach you this stuff as part of your course.

posted by philipy at 7:46 AM on October 30, 2012 [3 favorites]

I'm not sure if most computer science students are required to take calculus, but I'm almost sure they all have to take discrete math.

I'm currently teaching the intro level discrete mathematics course to a bunch of computer science majors, and I can tell you this. You will be successful, but you have to actually*work*. I find the reason why many of my students are failing is because they openly admit that they haven't done any homework I assign. Of those who are failing who claim to have done homework, they show me their notebooks filled with pages and pages of *flawed solutions*. If you wrote 100 programs, but none of them compiled correctly, how many programs have you actually written?

Don't shy away from the fact that it's going to take work, and that writing mathematical proofs is a very difficult task to undertake for anyone, even math majors.

I would get my hands on a copy of Proofs from THE BOOK, and read the mathematical arguments in there. Try to understand them. Struggle with them, embrace the struggle, get better at understanding and writing elegant arguments.

posted by King Bee at 7:59 AM on October 30, 2012

I'm currently teaching the intro level discrete mathematics course to a bunch of computer science majors, and I can tell you this. You will be successful, but you have to actually

Don't shy away from the fact that it's going to take work, and that writing mathematical proofs is a very difficult task to undertake for anyone, even math majors.

I would get my hands on a copy of Proofs from THE BOOK, and read the mathematical arguments in there. Try to understand them. Struggle with them, embrace the struggle, get better at understanding and writing elegant arguments.

posted by King Bee at 7:59 AM on October 30, 2012

My story is very similar to yours, humanities-to-science switch in late 20's/early 30's etc. I'm already in my program of choice, and doing fine, even well, with math.

What I used for the past year to prepare, and which helped me greatly, was ALEKS - an online electronic tutoring program. It's fairly inexpensive, and if you're already in community college you may have it on campus.

It's not for everyone - pretty crappy interface, glitchy problems occasionally, courses only up to a certain level - but I was really motivated, and since I'm living overseas, I didn't have many other resources in English. If you're starting with Algebra it might be exactly the right thing for you. Some courses can even be counted towards a degree.

It's pretty demanding in that it breaks down all those little skills that you need in math into chunks and won't really let you progress until you can do several problems in a row without mistakes. That alone made it worth it to me - I learned about rigor, learned to think very carefully about how I would answer something, so that I wouldn't ruin my streak and be stuck on the same damned problems for 3 days.

Feel free to Memail me if you have other questions. Good luck!

posted by Pieprz at 8:16 AM on October 30, 2012 [1 favorite]

What I used for the past year to prepare, and which helped me greatly, was ALEKS - an online electronic tutoring program. It's fairly inexpensive, and if you're already in community college you may have it on campus.

It's not for everyone - pretty crappy interface, glitchy problems occasionally, courses only up to a certain level - but I was really motivated, and since I'm living overseas, I didn't have many other resources in English. If you're starting with Algebra it might be exactly the right thing for you. Some courses can even be counted towards a degree.

It's pretty demanding in that it breaks down all those little skills that you need in math into chunks and won't really let you progress until you can do several problems in a row without mistakes. That alone made it worth it to me - I learned about rigor, learned to think very carefully about how I would answer something, so that I wouldn't ruin my streak and be stuck on the same damned problems for 3 days.

Feel free to Memail me if you have other questions. Good luck!

posted by Pieprz at 8:16 AM on October 30, 2012 [1 favorite]

Many schools offer three programs, with varying requirements, so you will want to think about your focus a bit. Namely, you can pursue a B.S. or B.E. in Computer Science, or a B.E. in Computer Engineering. Some schools may also let you get a degree in web design, or some kind of information sciences degree with a focus on programming.

You will need to take quite a bit of math, actually computer science is a branch of mathematics so be prepared for a deluge. At the minimum, you will need to learn calculus(derivatives, and single variable / multivariable integrals) and discrete mathematics(induction, logic, set theory). You may also need to take linear algebra, and other higher level math classes. Usually this means 3-4 semesters of calculus, one of discrete math, and one of computational proofs. The B.E. and B.E. in C. E. I mentioned above will have other math classes you will need to take.

In addition, every single programming class you will take as an undergrad will be math intensive. Ignore those people who say real programmers don't need math. Even if all you end up doing is C. R. U. D., you will still use mathematical thinking every single day of your professional life.

Now, as for preparation, I strongly recommend simply enrolling in a 4 year institution. You do not have to start with calculus, you can take beginners / intermediate algebra, alongside some of your other CS requirements. You could just buy an algebra textbook off of amazon, but honestly, the sooner you start building relationships with advisers and professors the better. If you really want to prepare in advance, my advice is to buy a GRE or GMAT study guide, which will cover all the Trig and Algebra you need to handle calculus.

I want to end with a note of caution. You do not talk about why you want to be a computer scientist. Many people 'have a good brain' for problem solving and have unrealistic expectations about the day to day of being a programmer. Most of a programmers life is spent staring at a computer monitor, trying to track down bizarre corner cases in production code, the rest of the time we spend designing algorithms. A computer scientist, on the other hand, spends time writing proofs and constructing theoretical models.

Will you be happy spending 40+ hours a week staring at a computer monitor? Its not a bad profession by any means, and there will always be demand, but just know its okay to return to school as 'undecided,' to take a couple CS classes, but also some humanities / social science / science / math classes and just let your interests guide you.

posted by jalitt at 8:19 AM on October 30, 2012

You will need to take quite a bit of math, actually computer science is a branch of mathematics so be prepared for a deluge. At the minimum, you will need to learn calculus(derivatives, and single variable / multivariable integrals) and discrete mathematics(induction, logic, set theory). You may also need to take linear algebra, and other higher level math classes. Usually this means 3-4 semesters of calculus, one of discrete math, and one of computational proofs. The B.E. and B.E. in C. E. I mentioned above will have other math classes you will need to take.

In addition, every single programming class you will take as an undergrad will be math intensive. Ignore those people who say real programmers don't need math. Even if all you end up doing is C. R. U. D., you will still use mathematical thinking every single day of your professional life.

Now, as for preparation, I strongly recommend simply enrolling in a 4 year institution. You do not have to start with calculus, you can take beginners / intermediate algebra, alongside some of your other CS requirements. You could just buy an algebra textbook off of amazon, but honestly, the sooner you start building relationships with advisers and professors the better. If you really want to prepare in advance, my advice is to buy a GRE or GMAT study guide, which will cover all the Trig and Algebra you need to handle calculus.

I want to end with a note of caution. You do not talk about why you want to be a computer scientist. Many people 'have a good brain' for problem solving and have unrealistic expectations about the day to day of being a programmer. Most of a programmers life is spent staring at a computer monitor, trying to track down bizarre corner cases in production code, the rest of the time we spend designing algorithms. A computer scientist, on the other hand, spends time writing proofs and constructing theoretical models.

Will you be happy spending 40+ hours a week staring at a computer monitor? Its not a bad profession by any means, and there will always be demand, but just know its okay to return to school as 'undecided,' to take a couple CS classes, but also some humanities / social science / science / math classes and just let your interests guide you.

posted by jalitt at 8:19 AM on October 30, 2012

Basically agree with jalitt, at my university the core curriculum for CS includes 4 semesters of Calculus and 1 semester each of Discrete, Linear Analysis (Matrix Algebra), and Numerical Analysis. You absolutely use the Calculus in the required Algorithms class. Only point of disagreement is that I think that sticking with the community college is a better choice, as long as you have one with a good articulation agreement with your 4 year institute of choice and you keep in mind what transfers.

The best place to start is with the review booklet for your college's math placement test. If your college doesn't have a review booklet (shame on them), there are a bunch of general calculus placement test reviews floating around the web. That will give you the names of the areas that you remember pretty well (arithmetic, fractions?) and the areas that you've maybe forgotten (trig, probably). Then you have some specific topics that you can start looking up on Khan Academy, and also a good order to work on them (the order they showed up in in the booklet). Then go around to your college's math tutoring center and see if you can walk in with a general "I need help in this area" question. Also see if your tutoring center or library has copies of "Introduction to Algebra" texts (we use the Bittinger one, it is OK but you need to supplement it with a trig text, too).

posted by anaelith at 9:23 AM on October 30, 2012

The best place to start is with the review booklet for your college's math placement test. If your college doesn't have a review booklet (shame on them), there are a bunch of general calculus placement test reviews floating around the web. That will give you the names of the areas that you remember pretty well (arithmetic, fractions?) and the areas that you've maybe forgotten (trig, probably). Then you have some specific topics that you can start looking up on Khan Academy, and also a good order to work on them (the order they showed up in in the booklet). Then go around to your college's math tutoring center and see if you can walk in with a general "I need help in this area" question. Also see if your tutoring center or library has copies of "Introduction to Algebra" texts (we use the Bittinger one, it is OK but you need to supplement it with a trig text, too).

posted by anaelith at 9:23 AM on October 30, 2012

Depending on your interest and desired end result, you might look to see if your school has CIS (Computer Information Systems) programs. These are generally run out of the Business school, and focus on the USER side of computers versus CS which focuses on the CREATION of computers.

I can tell you that in the University of California system, CS degrees require the following:

CHEM 20A Chemical Structure

MATH 31A Differential and Integral Calculus

MATH 31B Integration and Infinite Series

MATH 32A Calculus of Several Variables

MATH 32B Calculus of Several Variables

MATH 33A Linear Algebra

MATH 33B Differential Equations

MATH 61 Introduction to Discrete Structures

PHYSICS 1A & Physics (Oscillations, Waves, Electric and Magnetic Fields)

PHYSICS 1B & Physics for Scientists (Electricity and Magnetism)

PHYSICS 1C Physics for Scientists (Electrodynamics, Optics and Special Relativity)

Now, in order to get to this level of math, there was three semesters of Math as pre-requisite from "college level math".

This is why I'm a CIS major, instead of CS.

posted by ApathyGirl at 10:07 AM on October 30, 2012

I can tell you that in the University of California system, CS degrees require the following:

CHEM 20A Chemical Structure

MATH 31A Differential and Integral Calculus

MATH 31B Integration and Infinite Series

MATH 32A Calculus of Several Variables

MATH 32B Calculus of Several Variables

MATH 33A Linear Algebra

MATH 33B Differential Equations

MATH 61 Introduction to Discrete Structures

PHYSICS 1A & Physics (Oscillations, Waves, Electric and Magnetic Fields)

PHYSICS 1B & Physics for Scientists (Electricity and Magnetism)

PHYSICS 1C Physics for Scientists (Electrodynamics, Optics and Special Relativity)

Now, in order to get to this level of math, there was three semesters of Math as pre-requisite from "college level math".

This is why I'm a CIS major, instead of CS.

posted by ApathyGirl at 10:07 AM on October 30, 2012

Don't let this thread be too discouraging, by the way. While switching majors or concentrations because you can't handle part of the coursework is definitely a *thing*, it usually shows up early on. If you were basically capable at high school algebra then your odds are pretty good, even if you need to do the work to remember it all. And it goes both ways, too... I stayed in the BS program instead of the less impressive, "easier" BA partly because the BA has a foreign language requirement that I knew I could never handle.

posted by anaelith at 11:03 AM on October 30, 2012 [1 favorite]

posted by anaelith at 11:03 AM on October 30, 2012 [1 favorite]

If it's any consolation, I had a BA and hadn't done any math since HS when I started in a top notch CS program, which looked a lot like the requirements ApathyGirl posted above. This was almost 20 years ago though, so it was a "math and cs" BS, I'm sure there are a lot of other paths now with less math if you choice. But here was my path:

- non CS major intro to programming class - I highly recommend you do something like this if you haven't done any programming yet, to make sure it's for you, nth-ing what jalitt said.

- picked up a basic precalc workbook, honestly, I was working on a cruise boat at the time and I went into the a bookstore at the biggest port of call and bought whatever it was they had in stock. I needed anything, I could get my hands on before the semester started and this was early internet days so online wasn't an option. I had taken AP calc, but couldn't even remember basic trig.

- worked my butt off during the beginning calc classes while my classmates bemoaned that they hadn't been able to test out of the class. It got easier after the first couple of semesters as we got on common ground, new material for everyone.

So make sure programming is for you, find out what the requirements of your program are, network with couselors, etc. at the university as much as possible and try to get as much math into you as you can/need before you start classes, and don't be discouraged if you are starting back at middle school level math like I was, you'll catch up soon enough.

posted by snowymorninblues at 11:21 AM on October 30, 2012

- non CS major intro to programming class - I highly recommend you do something like this if you haven't done any programming yet, to make sure it's for you, nth-ing what jalitt said.

- picked up a basic precalc workbook, honestly, I was working on a cruise boat at the time and I went into the a bookstore at the biggest port of call and bought whatever it was they had in stock. I needed anything, I could get my hands on before the semester started and this was early internet days so online wasn't an option. I had taken AP calc, but couldn't even remember basic trig.

- worked my butt off during the beginning calc classes while my classmates bemoaned that they hadn't been able to test out of the class. It got easier after the first couple of semesters as we got on common ground, new material for everyone.

So make sure programming is for you, find out what the requirements of your program are, network with couselors, etc. at the university as much as possible and try to get as much math into you as you can/need before you start classes, and don't be discouraged if you are starting back at middle school level math like I was, you'll catch up soon enough.

posted by snowymorninblues at 11:21 AM on October 30, 2012

Thanks everyone for your answers, they're all helpful. There is a good amount of higher math required for the degree I have my eye on. Those of you who point out that it's important to know my reasons for wanting to go into computer science, and whether or not I'll end up enjoying it are right on. That's a concern of mine as well. I'm taking intro to programming this upcoming semester, and that will be an important tell as far as whether this is the right field for me.

posted by f_panda at 6:21 AM on November 1, 2012

posted by f_panda at 6:21 AM on November 1, 2012

This thread is closed to new comments.

posted by cupcake1337 at 7:39 AM on October 30, 2012