<p>Up until recently I knew for sure I wanted to major in Computer Science.
But this winter I am taking my third C++ class (Advanced Objects) and it is seriously kicking my ass.
My professor is having us build a PacMan game while we are in our 4th week of the course and I am lost most of the time during class. Everything before this class seemed relatively easy.</p>
<p>So now I've come to a point where I'm thinking that maybe Computer Science isn't my forte, I'm never going to be that guy that is at the top of his class. Currently holding a 3.1 GPA at my community college and I am about to transfer.</p>
<p>Basically I've broken it down to...
Environmental Engineering
Computational Mathematics
Or continue with Computer Science</p>
<p>I have NO idea what to do so I was hoping I could get some guidance and help here.
Couple of things about me...
I found Trig really fun and easy, but I think that's normal for everyone.
I'm still unsure if I am a "theoretical" or "practical" kind of person.
I've taken the Calculus series and it wasn't all too bad but I'm not a pro at it.</p>
<p>My viewpoints on the majors:</p>
<p>Environmental Engineering: I do care about the environment and am known to be sort of a "hippie", currently in a Green Health Club at my school. I think it would be really cool to do something like "Engineers Without Borders" and help others across the world. But I believe I'm living in a fantasy if I think EnvE is going to be all about helping the environment and charity work in other countries.</p>
<p>Computation Mathematics: I'd like to be apart of the software industry and I'd like to be apart of a team in a start-up. Always have enjoyed computers since I was a kid watching Tech-TV. But recently (as written above) I have figured out that I am not that super great coding monkey with all the sweet moves and know-hows and I accept that. But I see Computational Mathematics as that in between hybrid major where I won't have to be excellent at math or computer programming but know enough about both to be able to apply my knowledge in either field. I think this could also lead into a career of Bioinformatics which I am also interesting in for Grad school.</p>
<p>I like diversity and something that will give me experience in many different areas.
If anyone has any suggestions as to what I should major in or suggestions for other majors, it would be really really helpful. I'm just looking for someone to decide what is best for me because I honestly have no clue, I'm terrible at making decisions.
Ready, set, GO!</p>
<p>I think you would be extremely surprised how much math you really need to do and understand to do computational mathematics. It is a lot of everything when you really get into how the things are derived, especially for solution methods like Finite Element or even a lot of the optimization aspects of computational mathematics.</p>
<p>I totally agree and that’s how it feels. I have learned a lot so far by dedicated my weekend nights to doing lots of reading and researching but I’ve read someplace that you sort of either “get it” or you don’t and even though I’m learning a lot, the material doesn’t seem to click in my mind like it does to some of the other students in class who can easily follow along and describe every step of the way. I guess I’m mostly scared of diving into something like Computer Science then realizing I’ve gotten far but not having the capacity to move forward and it’s not like I can start all over again choosing a different major without dedicated some years and more money into college.</p>
<p>@aerokid1491</p>
<p>This is the program I was looking into…</p>
<p>Core Curriculum 19 Plus
MATH 241 Differential Equations with Linear Algebra 4
MATH 316 Graph Theory and Combinatorics or
MATH 416 Graph Theory and Combinatorics 3
MATH 322 Linear Algebra 3
MATH 345 Probability Theory 4
MATH 352 Numerical Analysis 3
CS 110 UNIX 1
CS 115 Programming I 4
CS 215 Programming II 4
CS 315 Data Structures 4
CS 415 Algorithm Analysis (4) or
CS 355 Database Management Systems Design (4)* or
CS 375 Computer Graphics (4)* or
CS 454 Theory of Computation* 3-4
Course may be substituted by arrangement with the math advisor.
Supporting Course
PHYS 114 Intro to Physics (3 units in GE) 4
total units in computer science program 55-57</p>
<p>It doesn’t look like much to me on paper, but that’s just me being naive. I’m sure I would be surprised because I have no idea what upper-division mathematics is like.</p>
<p>Well I think even that curriculum you have could be very worthwhile and I know you could find a good job with that. I want to note that I personally am doing a lot with the computational sciences and I haven’t actually taken a Graph Theory course (though I could see that being helpful) and I haven’t taken a combinatorics course. In practically all numeric solution methods, linear algebra is an important component so those classes will be useful. </p>
<p>Linear algebra can be pretty easy in the more basic concepts, but things definitely get abstract when you talk about vector spaces, linear varieties and more. However, it is doable so no worries! I expect that numerical analysis course will cover some numerical linear algebra methods and a survey of numerical methods.</p>
<p>If you were to get into courses on Finite Element, for example, you would need to be familiar with set theory, abstract linear algebra, differential calculus, variational calculus and some other areas of math. There is definitely a lot of deep mathematics behind computational mathematics methods you will learn, so you definitely have to be good at it!</p>
<p>If you have any other questions, feel free to message me. I can try to recommend books for you to look into for extra learning based on what aspects of the computational math you think you are more interested in. I personally go after solving differential equations and optimization problems.</p>
<p>My undergrad major was Computational Mathematics and I have always been a software engineer since college commencement. If you will be developing software, you cannot “half azz” it. It’s not like the rest of your software engineering team will be like “well he was a math major so we will not hold him to the same coding standards as us”…nooooooooo, your coding skills MUST BE on the level of a CS grad. </p>
<p>Now, there are different software areas in which you won’t need to construct abstract data types and enforce inheritance. Database programming and operating system/shell-scripting are more “procedural” than object-oriented.</p>
<p>Still…your coding standards must be that of a CS grad.</p>
<p>@GLOBALTRAVELER
I see, so majoring in Computational Mathematics and wanting to be in the software industry basically means that you have to almost double major to be a good programmer. I’m guessing you have to learn a lot of things on the side with your free time since your math classes substituted for the CS classes that one would have taken if they were a CS major.</p>
<p>Yeah working on generic programming/component-object programming projects kind of rattles my brain and I think I’d like data structures more but I don’t know since I haven’t taken it yet.</p>
<p>@aerokid1491</p>
<p>Wow cool, this was all very helpful. That’s a great idea, I’ll definitely check out some books to see if I enjoy and grasp some of the concepts that Computation Mathematics has to offer.</p>
<p>You don’t have to exactly double-major. You can skip the hardware-related courses like digital circuits and computer architecture. You can also skip to really hardcore software courses like compiler design…but you will need to take Algorithms, Data Structures, Organization of Programming Languages and Operating Systems. Since most software jobs are focused on the manipulation, distribution and storage/retrieval of DATA, it would be wise to also take additional programming courses (manipulation), computer networks (distribution) and database (storage/retrieval) courses as electives.</p>
<p>I’ve done a little research on CC. So far I’ve heard that Environmental Engineers usually take organic and inorganic chemistry and I’m starting my Chem series this Spring to see if that tickles my taste-buds. But I have yet to talk to any professors or counselors and that’s a great suggestion so I’ll try to do that soon, thanks. Thank you for pointing me to the right direction.</p>
<p>If I was to go on the Environmental Engineering route I would be going to Humboldt State University in Nothern California. They’re not known for their engineering and only offer Environmental Resource Engineering but it is ABET accredited and Humboldt is pretty well known for their Biology programs from what I’ve heard.
Here is the ERE program I was looking at for Upper Division…</p>
<p>Upper Division
PHYX 315 (3) Intro to Electronics and
Electronic Instrumentation
ENGR 313 (4) Systems Analysis
ENGR 322 (4) Environmental Data<br>
Modeling & Analysis
ENGR 325 (3) Computational Methods
for Environmental
Engineering II
ENGR 326 (3) Computational Methods
for Environmental
Engineering III
ENGR 330 (3) Mechanics & Science of
Materials
ENGR 331 (3) Thermodynamics &
Energy Systems I
ENGR 333 (4) Fluid Mechanics
ENGR 351 (4) Water Quality &<br>
Environmental Health
ENGR 410 (3) Environmental Impact
Assessment
ENGR 416 (3) Transport Phenomena
ENGR 440 (3) Hydrology I
ENGR 492 (3) Capstone Design Project</p>
<p>I would probably concentrate on Water Quality/Treatment</p>
<p>Either that or I’ve also heard that one could Major in Civil Engineering and concentrate on Environmental. That’s what makes all this so hard, there are so many options! How does one know which option to take?</p>
<p>Just a thought - instead of bailing out, is there anything else you can do to improve in your C++ class? My first experience with programming was a course in Java, and I was lost from day one. Spent hours upon hours looking up sample code, reading web tutorials on top of the book, and essentially making it my life until I started getting it. What’ll you do if you switch majors and hit another roadblock?</p>
<p>I’d see if your school offers any sort of supplementary instruction or tutoring services for the class you’re really having a tough time in. I used a few of those services (as well as working with a ton of friends) on classes I found impossibly hard, and by then end I was usually getting it.</p>
<p>That said, I still have a class or two where I barely have any idea of what we did.</p>