Register Now
Lead Instructor(s)
Jun 01 - 05, 2020
Registration Deadline
On Campus
Course Length
5 Days
Course Fee
Sign-up for Course Updates


Numerical modeling is the skill of reducing a messy engineering or computational problem to a mathematical form that can be solved by using standard algorithms and techniques. By recognizing mathematical patterns “in the wild,” participants will develop an intuition for which problems are solvable using standard numerical modeling techniques and gain the knowledge and skills to then solve them.

Computer science is experiencing a fundamental shift in its approach to modeling and problem solving. Early computer scientists primarily studied discrete mathematics, focusing on structures like databases and arrays composed of distinct pieces. With the introduction of modern applications in “big data,” three-dimensional scanning, machine learning, and noisy sensor communications, practitioners now must design robust methods for processing real-valued data. The latest generation of programmers, computer scientists, and engineers must be able to reason about not just bits-and-bytes, but also calculus, linear algebra, and optimization.

By the end of the course, participants will learn how to boil real-world challenges down to their computational essence to make a reasonable estimate of how difficult it would be to design a numerical method to solve them. We will cover a breadth of possible tools, from numerical linear algebra to convex programming and stochastic/deterministic gradient descent, in the context of practical problems drawn from emerging applications in vision, learning, and graphics. Coding and mathematical exercises will reinforce these ideas and expose participants to standard software packages for optimization.

Participant Takeaways

  • Recognize linear, eigenvalue, convex optimization, and nonconvex optimization problems underlying engineering challenges.
  • Interface with software for automatically identifying the optimal solution to a numerical problem.
  • Understand the mathematical underpinnings of case studies in computer vision, machine learning, and graphics
  • Understand the basics of optimization techniques including gradient descent, line search, and the barrier method
  • Develop an intuition for classifying numerical problems by their tractability or difficulty

Who Should Attend

This course is designed for people working in the areas of data, finance, marketing, computer-aided design, operations, strategy, engineering, research, computer graphics, or computer vision. Typical roles include engineer, programmer, developer, data scientist, researcher, consultant, or marketing analyst.


Participants are required to have a background in linear algebra and multivariable calculus, as well as at least basic programming in Python.

Laptops (or tablets) with Python are required for this course. Participants should have administrative privileges for their computers in case Python packages need to be installed during the course.

Program Outline

This course meets 10:00 am - 5:00 pm on Monday, 9:30 am - 5:00 pm Tuesday through Thursday, and 9:30 am - 4:30 pm on Friday.

The course will be organized around case studies drawn from application areas, organized by level of computational difficulty. We will begin with recognizing linear algebra problems “in the wild,” including case studies in statistical regression and camera transformations from computer vision. Then we will broaden to convex optimization (e.g. transportation logistics), nonconvex optimization (e.g. 3D surface deformation in computer graphics), and stochastic optimization (e.g. machine learning on large, messy datasets). Our focus is on reducing problems to their standard mathematical forms and identifying software tools or simple algorithms to solve them.

Links & Resources


The type of content you will learn in this course, whether it's a foundational understanding of the subject, the hottest trends and developments in the field, or suggested practical applications for industry.

Fundamentals: Core concepts, understandings, and tools - 30%|Latest Developments: Recent advances and future trends - 42%|Industry Applications: Linking theory and real-world - 28%
Delivery Methods

How the course is taught, from traditional classroom lectures and riveting discussions to group projects to engaging and interactive simulations and exercises with your peers.

Lecture: Delivery of material in a lecture format - 50%|Discussions or Group Work: Participatory learning - 30%|Labs: Demonstrations, experiments, simulations - 20%

What level of expertise and familiarity the material in this course assumes you have. The greater the amount of introductory material taught in the course, the less you will need to be familiar with when you attend.

Introductory: Appropriate for a general audience - 75%|Advanced: In-depth exploration at the graduate level - 25%