ECE 330A

Computational Techniques
Spring
Designation: 
Required
Catalog Data: 

ECE 330A - Computational Techniques (4 units)

Description: Fundamentals of computational techniques for solving numerical problems. Techniques for numerical differentiation, numerical integration, solving differential equations, solving systems of linear equations, discretization of differential operators, aspects of numerical linear algebra, root finding and numerical optimization. Provides basic working knowledge of the Matlab environment, and of Gnuplot, Numerical Recipes and the GNU Scientific Library.

Grading: Regular grades are awarded for this course: A B C D E

Prerequisite(s): 
MATH 223, MATH 254, PHYS 143, PHYS 241 and ECE 175
Textbook(s): 

Press, William H., Saul A. Teukolsky, William T. Vetterling and Brian P. Flannery. Numerical Recipes: The Art of Scientific Computing. 3rd ed. Cambridge University Press, 2007.
Bober, William, and Andrew Stevens. Numerical and Analytical Methods with MATLAB for Electrical Engineers. CRC Press, 2012.
Kreyszig, Erwin. Advanced Engineering Mathematics. 10th ed. John Wiley & Sons, 2011.
Hamming, Richard. Numerical Methods for Scientists and Engineers. 2nd ed. Dover Publications, 1987.

Course Learning Outcomes: 

By the end of this course the student will be able to:

  1. Use MATLAB for data manipulation, data plotting, and basic programming
  2. Use Gnuplot to generate 2-D and 3-D plots
  3. Work with Numerical Recipes and the GNU Scientific Library
  4. Numerically differentiate and integrate functions with several techniques of different accuracy and efficiency
  5. Transform systems of differential equations and solve them numerically with several techniques of increasing numerical accuracy
  6. Solve systems of linear equations efficiently and invert matrices
  7. Determine roots of functions numerically with several methods
  8. Perform least squares optimization
  9. Perform linear, polynomial and general curve fits
  10. Solve optimization problems amenable to linear programming
  11. Solve high-dimensional multivariate optimization problems in the presence of multiple/infinite local minima that cannot be solved with deterministic, gradient descent-based optimization techniques
Course Topics: 
  • Matlab
  • Gnuplot
  • Numerical Recipes and GNU Scientific Library

Numerical differentiation

  • Two-point formula
  • Three-point formula

Numerical integration

  • Trapezoidal rule
  • Simpson rule
  • Newton-Cotes integration
  • Gauss-Legendre integration

Transformation of differential equations and solution methods

  • Euler method
  • Improved Euler method
  • Runge-Kutta method

Successive over-relaxation for solving systems of linear equations

  • Discretisation of second-order differential equations
  • Liebmann method

Numerical linear algebra

  • Gaussian elimination method 
  • Gauss-Jordan elimination method

Root finding (multidimensional)

  • Newton-Raphson method
  • Regula Falsi method
  • Secant method
  • Bisection method

Numerical optimization

  • Least squares
  • Curve fitting
  • Linear programming
  • Stochastic optimization techniques (simulated annealing and genetic algorithms)
Class/Laboratory Schedule: 

Two 75-minute lectures per week
One 50-minute recitation per week

Relationship to Student Outcomes: 

ECE 330A contributes directly to the following specific electrical and computer engineering student outcomes of the ECE department:

  • Ability to apply knowledge of mathematics, science and engineering (high)
  • Ability to design and conduct experiments, as well as to analyze and interpret data (medium)
  • Ability to identify, formulate and solve engineering problems (medium)
  • Recognition of the need for, and ability to engage in, life-long learning (low)
  • Ability to use the techniques, skills and modern engineering tools necessary for engineering practice (high)
Prepared by: 
Wolfgang Fink
Prepared Date: 
3/2/16

University of Arizona College of Engineering