The flexibility that comes from programming digital hardware makes it possible to implement algorithms that were impossible to implement with analog circuitry. As this trend continues, efficient algorithm design will remain as one of the most critical components of engineering systems. While the ability to write computer code is important, it does not enable an engineer to design good algorithms. Writing code is similar to the ability to use a word processor. Being able to use a word processor does not guarantee that the writer will produce good prose.
Good prose comes from learning the principles of good writing, and then doing alot of writing.
Similarly, if you want to design good algorithms, you need to understand the principles of effective algorithm design, and then practice them. The mathematics we cover in this course will provide you with a set of tools that can be applied to the design of algorithms for a wide variety of signals and systems applications. Our goal is to help you understand these principles and give you as many opportunities as possible to practice them. Many of you will find this course mathematically challenging. There is a great deal of systems engineering that cannot be mastered without some mathematical sophistication.