If you're a math major. From pre-calc to now, include books if possible.
Foundations - c++ bjarne
Theory - Automata Ullman
OS - tattenbaum
Compilers - Dragon book
Discrete maths - Rosen
Calc - Stewart (it sucked ass)
Freshman math major here (yeah, I'm a faggot, shut up)
I don't know, some shitty McGraw or Pearson public school book used only for problems.
Calculus by Demana. Also used just for problems, my excellent teacher covered actual material in lecture
>Honors Mathematics (name of course)
Vector Calculus, Linear Algebra, and Differential Forms by Hubbard and Hubbard. Only book I know of like this, with exception of whatever book they use for Math 55 at Harvard.
Starting out with Python (something like that)
Random school-provided textbooks for hs pre-calc/calc
Some easier version of SICP
Intro to Analysis by Wade
Lin Alg by Friedman
A bunch of provided course notes for some intro classes
starting to feel like math/cs is just a meme after taking "rigorous classes" and switching to finance/taking more useful finance courses or something interesting tbqh friends
I don't understand the obsession with books, don't you people have lectures you pay a fortune for ?
Real and complex analysis - Shilov (the first book I have ever bought, it was pretty weird)
Principles of mathematical analysis - Rudin
>Measure theory and probability
I had a good set of lecture notes
>Intro to stochastic processes
Krylov - Introduction to the theory of random processes
I also had a good set of lecture notes but I have also leafed through Needham's Visual Complex Analysis and it was very good
Artin - Algebra
Atiyah - Introduction to commutative algebra
Clark - Elements of abstract algebra
Lang - Algebra
Good set of lecture notes but one of the references was Brezis - Functional analysis
>paying for textbooks when free online resources exist
All you need are JS Milne's notes and one of the thousands of analysis course notes out there. As a senior in my final semester, I have to say I haven't bought texts since year 2.
Enjoy it. Math grad working as a java software engineer. I tell you man, software engineer is the new academia, it is so easy. Unless you are in the video game industry:
-The workload for a normal day is almost non-existant. If my employers would make a list of all the things I have to do that day and gave it to me in the morning, in about 2 hours I would be done.
-It is piss fucking easy. You have to be braindead retarded not to have an easy time programming, specially java. This really raises questions as why would people even waste 4 years studying CS when I spend maybe 6 months casually reading java documentation.
-The office is almost a joke. I watch anime, post on 4chan, read manga and watch youtube videos almost all day. The other people here do shit like check facebook and watch sports and other boring shit like that. The point is that if you are smart you can get your shit done in a flash and then spend your time fooling around.
>working as a java software engineer.
I'm not trying to be a cunt when I say this but, how do you not kill yourself having to use Java? I used it once and thought "fuck this". Seriously it seems like such a chore to get anything done for very little benefit.
Java does suck but a job is a job, and you can't pass on an easy job. Programming in general is easy, but programming in java is ridiculously easy. Also, I don't understand what you are saying. In Java everything is much easier to do because you don't have to worry about memory, or algorithms to do certain things. It is all there,all you have to do is import.
Math undergrad here. How did you get into the programming field with just a math degree? Did you teach yourself how to code or was coding integrated into your degree? I'm genuinely curious as I am currently a math undergrad who is trying to decide what to do with my life.
Like I said, I spent some months reading java documentation. I already had a strong programming knowledge in C/C++ so all I needed was to learn the libraries and adjust myself to the slightly different syntax.
So pretty much basic java: http://www.tutorialspoint.com/java/java_basic_syntax.htm
Advanced functionality with built-in libraries: https://docs.oracle.com/javase/7/docs/api/
And everything I don't immediately understand I just google and click the first stackoverflow link discussing the topic.
It was easy but probably because I already programmed before I even entered college. When the time came for job hunting my degree and portfolio carried me.
I say my degree also carried me because math is an in-demand degree in software. There is another math major in the company I work in and he is a 50 year old guy. Keep in mind that this is a small company so he and I would make it a 20% of math majors in the company.
Anyways, my math degree did teach programming but not java, of course. So it is fair to say that all of I know I self-studied, not originally with the purpose of getting a job but it landed me there in the long run.
If you are a math major you will definitely have an easy time learning how to program. At the beginning it is all about simple memorization of key words and after that if you know your math (mainly linear algebra, calculus and geometry) you could immediately go get a job but I'd recommend building a portfolio first because there will always be high competition as CS is oversatured and as such, the software industry is also saturated.
You should be reading the three volumes of "Compiler Desing" by Reinhard Wilhelm and Helmut Seidl.
"Parsing theory" by Sippu and Soisalon-Soininen is the best if you wanna learn the mathematical foundations on the subject: once you read both volumes you can read any book on the topic. If you want something that merges theory and practice, the best option is "Parsing techniques: a practical guide" by Dick Grune and Ceriel J.H. Jacobs.
Attribute grammars, applications and systems, by H. Alblas and B. Melichar.
Attribute grammars and their applications, by Pierre Deransart and Martin Jourdan.
A course in formal language, automata and groups, by Ian Chiswell.
Automata, languages and machines by Samuel Eilenberg.
If you want to see the application of all these theories you should read Compiler design in C by Allen I. Holub. The author builds a compiler from scratch.
>Other CS related books
Types and programming languages by Benjamin C. Pierce.
The anatomy of programming languages by Alice E. Fischer and Frances S. Grodzinky.
All the volumes of The art of computer programming.
Currently maths phd student in logic. The following was my undergrad curriculum
Year 1: multivar calc, linear algebra, discrete math, upper-div linear algebra, group theory, real analysis
Year 2: mathematical logic, complex analysis, graduate measure theory, graduate topological vector spaces
From here, I took only grad classes.
Year 3: Model theory, algebraic topology, algebra, recursion theory, multilinear algebra, set theory
Year 4: topics in recursion theory, algebraic geometry, algebraic number theory, differential manifolds, metamathematics of set theory
measure theory - Folland's "Real analysis: modern techniques and applications"
topological vector spaces - Rudin's "Functional Analysis"
model theory - Hodge's "A shorter model theory"
algebra and multilinear algebra - Lang's "Algebra"
recursion theory - Soare's "Recursively enumerable sets and degrees"
set theory and metamathematics of set theory: Jech's "Set Theory"
The books for the other classes were probably also top, but I wasn't as into the material. They were classics like Hartshorne's algebraic geometry and Hatcher's algebraic topology.
My very favorite textbook is Jech's Set Theory.
u make me wanna kill myself
20years old taking precalc in cc
I aced calc I in high school after trying to skip over precalc and then I failed the trig part of the precalc placement when I got to college
20 years old cos I took an extra year of high school because an overseas year I took in Sweden didn't transfer over
I'm not american so my classes don't have the same names as yours.
Also, I don't use books much. And the books I've used are french so you probably wouldn't now them.
However, here's the material I've covered in 3 years and a half.
Calculus (differentiation, ODEs, Riemann Integral)
Function series, power series
Stochastic calculus (Markov's chains and Martingales)
This semester, I'm taking algebraic geometry, number theory and Riemann surfaces.
Feels good to be done with probability theory and pde. Never again !
>Implying that 99.9% of software jobs are not code monkey tier jobs.
Even you so called computer scientists will end up being code monkeys unless you go to grad school.
Also, define code monkey. I use plenty of mathematics in my day (not advanced math, by any means) and it is still trivial because my education was focused in pure and applied mathematics. I also spend a lot of time thinking about algorithms and ways to optimize my work. I don't just code it up without thinking it over.
Also, define non code-monkey jobs.
>Butthurt CS major detected
>CS majors realizes that his special snowflake degree is not actually special and will land him trivial jobs
Sorry anon. It is not my fault that you won't be programming space ships but instead will be doing front-end web programming like the disgusting monkey you are.
Get mad, sperg.
>unless you go to grad school
that's exactly the point. code monkeying is fucking boring, and certainly far from "true academia". I left my part time code monkey job for an undergrad research project because it's that boring. If you don't like to challenge yourself and don't like learning and advancing knowledge then I guess it's ok, but then why are you posting in a board like this?
>far from "true academia"
I just said it was the new academia because just like teaching undergrad, programming is retarded-tier easy.
>code monkeying is fucking boring
It depends on what you are doing and this is why I wanted for the sperg to define code monkeying. I don't feel that what I do is boring because it gets pretty engaging from time to time, specially because I work alone on my project.
>. If you don't like to challenge yourself and don't like learning and advancing knowledge
Now you just sound like a condescending special snowflake. Fuck off back to tumblr, you sperglord. Why do CS majors have to be so fucking 'special'.
> why are you posting in a board like this
Because I am a 'mathematician'. I am more fit to be in this board than you CS people. You are literally half mathematician, half retarded. Fuck off back to /g/.
Now that I have taken care of that to address you being a condescending little shit, I will properly answer. The reason I am where I am is because a job is a job. I get paid very well and it is not as boring as other jobs. I still plan going into graduate school for either a PhD or a Masters to then get into applied mathematics (or pure? I doubt this because I don't feel I'm smart enough) research, which would be the ultimate goal/dream.
I don't believe this.
Nobody goes to university and wipes out the entire undergrad requirements in a year and a half.
Nobody's uni allows them to take nothing but piles of mathematics grad courses for 2 1/2 years of their degree and then graduate.
Nobody goes through Hartshorne and Jech at the same time while taking 3 other classes as a senior undergrad.
If I'm wrong, congrats man, you're the next Von Neumann and I'm a bitter sperg but this just isn't humanly possible.
How much do you make per year?
Also a math grad, I've already got a job programming in Java after I graduate this may. It's for a big consulting company who hires a lot of new grads. Do you think it'll be the same as you describe?
Well it was 2-3 classes per semester; I just grouped them by year. So for instance I didn't read Jech and Hartshorne at the same time; algebraic geometry was Fall and metamathematics of set theory Spring.
Also, I often feel really stupid in my doctoral program; it seems there are many people who entered the program more advanced and competent than I. Perhaps I have imposter syndrome. But I honestly feel incompetent.
>How much do you make per year?
>Do you think it'll be the same as you describe?
It depends on the kind of company and what kind of office culture you have going on there, When I started working there I was super serious about my work and whenever I had nothing to do I just kept checking things work-related but soon I noticed that people would browse facebook, youtube and one guy even checked his League of Legends account and was watching Jojo's Bizzares Adventure.
After that I also relaxed and on a daily basis I watch anime and read manga whenever I am done with all my assigned tasks.
If your boss also allows that then good for you but I have heard of work environments that are very hostile.
Other than that, programming is easy. Nothing will change that. Read your java documentation, read your algorithms theory book and then sit back and enjoy the ride.
Did you start out with that? I got hired with $65k/year with a standard benefits package.
Also, when you finish work early, how do you figure out how much time you can spend screwing around before actually giving the code to your employer? I assume if you just give it to them immediately, they will immediately give you more stuff to do.
> Calculus Sequence - Anton-Bivens Early Transcendentals
> Discrete Math - How to Prove It by Velleman
> Analysis - Baby Rudin
> Algebraic Structures - A Book of Abs. Algebra by Pinter
Don't remember much before calculus 1. My uni didn't require any books past calc 1 but I used these as supplements.