[Math] Preparing for first year CS

learningsoft-question

I'm in Italian guy almost in my 30. I have a regular job as a programmer. When in school I've never been much interested nor good in math and even at the university I've been studying languages, hence something more on the literary side that on the scientific one.

When in high school I've had mostly literary classes, so, again, my current knowledge of algebra, geometry and arithmetic is quite basic.

I've always been interested in programming, though, up to making it my profession. With my growing interest in math, I'm tinkering with the idea of even getting a Computer Science or Computer Engineering degree at the university. Both rely heavily on maths and I would have to study it by myself, as I cannot afford following classes (as said before, I have a full-time job), starting from the basis that I don't have.

Before attending to it, I want to start learning math by myself, to gain the necessary base knowledge I don't currently have. Do you think it is possible to successfully study mathematics with such a short initial knowledge and not having my full day to do it?

Any general advice or book / site to get me started with the "preparation" study? What are the basic areas I should concentrate on to be prepared to the first year math exams?

Thank you in advance.

Best Answer

Your first course with programming in it will probably use some functional programming language such as an ML variant, Scheme, Haskell, a LISP, etc. As I understand it, universities start with that for two reasons, (i) it works well for teaching (this is debatable, though), and (ii) whatever misconceptions and terrible habits the neophytes bring to the table from unguided tinkering with e.g. Visual Basic will be almost entirely useless, thus ensuring that you also have a good chance of beating some bad habits out of them.

The first heavy math class in a CS education (other than the typically required first course in mathematics) is probably algorithms. Curiously the math requirements for an algorithms course are rather low in the "skills" department, but high in the "mathematical maturity" department. That first course in math will teach you the method of induction and - equally important - the ability to reason mathematically.