# Can't decide between a couple classes for Fall, EE major dilemma

1. Aug 13, 2012

### DrummingAtom

With this coming semester I have some interesting options for my schedule. The following 3 classes can be interchanged within my schedule:

Data Structures - Studies data abstractions (e.g., stacks, queues, lists, trees) and their representation techniques (e.g., linking, arrays). Introduces concepts used in algorithm design and analysis including criteria for selecting data structures to fit their applications.

Discrete Math - Emphasizes elements of discrete mathematics appropriate for computer engineering. Topics: Logic, proof techniques, algorithms, complexity, relations, and graph theory.

Advanced Engineering Calc - Extends the treatment of engineering mathematics beyond the topics covered in Calculus 3 and differential equations. Topics include non-dimensionalization, elementary asymptotics and perturbation theory, Reynold's transport theorem and extensions of Leibnitz's rule, as applied to continuum conservation equations, Hamiltonian formulations, Legendre and Laplace transforms, special functions and their orthogonality properties.

I can take either one or two but not all 3; I have no clue on how to make this decision. I'm definitely curious about the Advanced Calc class but haven't had any time to look into those topics and there's no class pages or book references for it up yet. None of these courses are required for my major so I can kinda have fun with them if I choose to but I also want something important and relevant to my major. Any advice or input would be greatly appreciated. Thanks.

2. Aug 14, 2012

### chiro

Hey DrummingAtom.

Is the Discrete Math course a first year one or one with little pre-requisites? If so, I recommend not doing this one and doing the other two.

The calculus one sounds like it would be incredibly useful for an engineer and if you are an EE you really need to know the integral transforms and especially decompositions that are orthgonal.

Basically modern mathematics is built on using integral transforms as a way of not only decomposing "stuff" with an orthogonal basis, but also constructing different kinds of bases.

Data structures is pretty self-explanatory and definitely a lot more important than the discrete math.

If you want to learn some of the stuff in discrete math, what till you have done a little bit of math in any of your classes and then just pick it up and give it a read: if you have done a bit of programming and done a lot of problem solving, it will come a lot clearer.

The programming is a different kind of mindset: it's not quite the same as mathematics and if you haven't had much experience with it, you would benefit from a class on it. You'll no doubt have to do some programming in EE and knowing data structures (even the abstract kind that you may not use in an embedded or microcontroller environment) are still helpful, even for the cases where you can't afford to use large classes with a lot of memory: case in point, there are now implementations in C for certain embedded and small architectures which have these defined for you so the idea of having to do everything in assembler or even an absolute bare-bones C environment is not quite the case and you will be able to use the stuff you learned pretty much right away.