I'm currently working on my final semester at UC Berkeley, and although I'm an EECS major, I'm taking all math classes to finish out my minor.. Abstract Algebra, Real Analysis, and Number Theory. These classes are all proof based: something that I'm used to but not proficient at.
Having been in class for only 4 weeks, I can thoroughly say that the Mathematics and Computer Science mindset take the same kind of genius. If you can do one, then you can do the other. Although learning the language of Abstract Algebra vs. learning the syntax for NodeJS is drastically different, the algorithm and problem solving mindset remains the same.. The only difference is the syntax.
Coming from a computer science standpoint, mathematics has a lot more definitions such as isomorphism, groups, abelian, etc.. But at the end of the day, these definitions define your working groups for proofs -- your bread and butter if you will. They're isomorphic to the bread and butter of computer science terminology: linked list, array list, arrays, hashes, etc..
I'm having a hard time memorizing these definitions with all the things that are going on in my life, but this has been one of the most academically interesting semesters at my time at Cal.. More updates on math in the coming days!