5 ms·
Why computer engineering students need to learn advanced calculus?
I am greatly interested in programming, and I guess I am doing good at it. But at the same time I have tons of calculus and stuffs inside my course studies of bachelor in computer engineering which I think it shouldn't be there. I want to know where will I need to use these calculus in real time programming?
- startupgrrl 15y agoIt's part of having a well-rounded education. I would be very hesitant to work with an engineer who refused to learn calculus because that ultimately harbors a culture of ignorance.
- w1kke 15y agoCalculus is in your curriculum to train your way of thought. Namely to improve your analytical skills and your ability to use abstract ways to formulate problems. You will need that plenty in real time programming.
- tonyarkles 15y agoI absolutely agree. We didn't have a Computer Engineering programme when I went through school, instead I ended up taking a 4-year Electrical Engineering programme and a special "take all of the Computer Science credits of a 4 year degree, without all of the Arts electives" programme on top of it (5 years total, by taking a ridiculous number of classes). Now I'm just wrapping up an M.Sc. programme in Computer Science. Because of the combined programme, I ended up taking 4 calculus classes and a linear algebra class. Additionally, there were some others that were thinly veiled statistics classes (digital communication = gaussian statistics). Add in some signal processing (signals & systems, DSP I, DSP II), an introductory logic course (from computer science), and two algorithms courses. Do I use all of these in my day-to-day work? No. I'm mostly doing web and mobile apps these days (fun, good money, very low probability of killing anyone). Do the concepts I learned through both programmes influence my thought patterns every day? Absolutely! Do I get to randomly pull some of this stuff out of my hat and apply them? Yes, and it amazes people. Day-to-day, I probably use the linear algebra and algorithms stuff most frequently (the guys down the hall are doing games programming and sometimes ask me questions). Next up is probably numerical methods stuff, but that's mostly because of a cool project we did on contract a few months ago (non-linear least squares, mmmmm). I occasionally get to use the signal processing stuff, we did an audio-related project a few months ago, and more recently I wrote a simple high-pass filter so that we could detect when someone was shaking their iOS device quickly :D. Really, there's two important reasons to take all of this stuff: it definitely shapes your thought process, and it's very handy to have this stuff in your toolbox (you never know when you'll need it).
- belial 15y agoWhat an intelligent reply! I'm interested in knowing what particular book would you recommend for someone who is a Computer Science graduate and planning to enhance his mathematical skills in linear algebra? If there is more than one, I'll be glad to get them all... So, any suggestions?
- jasonkester 15y agoYes, you use calculus in computer programming. Every day. Remember back in high school when you'd look at the sky and ask "who will ever actually use this stuff?" That would be you. You're going to use it, as well as all that crazy matrix transform stuff they'll teach you next year and the DiffEq they'll spend the 3 years after that pounding into your head until you finally get it. So yes, sorry to break the news, but you're that guy. You've picked one of the few professions in this world that actually use higher math.
- aberatiu 15y agoKinda' spoils your appetite to learn, doesn't it? :)
- desushil 15y agoYea, that's what I am feeling now. :(
- ww520 15y agoThere are two things an education gives you: knowledge and ability. Math enhances your ability - problem solving, analytic, composing complex things from primitives, decomposing complexity into simpler forms, abstraction, etc. Math gives you a better mind.
- dalke 15y agoI must say that much as I enjoyed the Bolzano–Weierstrass theorem, Lebesgue integration, and the other things I learned in my advanced calculus classes, they haven't proved directly useful for my work. I'm surprised your university even requires it of computer engineering students since advanced calc is usually a math-students-only upper-level course. Are you really doing that sort of advanced calculus, or is it more that you don't know enough calculus to know what "advanced calculus" means? The techniques of the intro to intermediate calc classes are more relevant. That would be up to about Stoke's theorem and partial differentiation, and some differential equations and numerical analysis to round out the calculus. Statistics, topology and algebras (like matrix algebra) are different fields and have different impact on software development, which I won't get into here. I don't have much experience with real-time computing, but if you're doing any sort of real-time machine control then you're dealing with physical systems, where differential equations and questions of numerical accuracy come into play. You need to know how your model works mathematically, how that model is implemented in hardware, and the types of error propagation which come from both. You'll need to know about feedback loops, and get some feel for how to understand their stability or instability. That analysis is best done with the techniques of calculus. For example, how do you understand a PID controller without knowing calculus? Now, you can argue that you know what type of field you want to get into and you know that you'll never need calculus for it. But then you're really asking about the differences between US-style university, which stresses a broad base of knowledge, vs. a trade school which emphasizes the study of techniques relevant to a job.
- impendia 15y agoAdvanced calculus was the first course where I ran into definitions that I struggled to understand in a serious way. What does it mean for the interval [0, 1] to be "compact"? Well, it means exactly what the definition says (e.g., every open cover has a finite subcover), but what did that "mean"? This was the first course where the definitions were pushed beyond the boundary of my intuition. Seems like a way of thinking that would be useful for computer engineering, or damn near anything else.
- desushil 15y agoThanks guys for the comments. Really helped me think.
- namank 15y agoWhat everyone said. And you'll need it in fourth year no matter what area you pick to specialize in. DSP is all calc Control Systems too As our circuits Graphics (more so CS but...) Embedded Systems - you'll need the rigour math provides. And if you do anything that hasn't been done before, you'll be reading a lot of papers. Most formalized concepts and implementations need math to be explained. Same for Computer Architecture For that matter, most other options also require advanced calc - one area that comes to mind is management science.