Scalable Tissue Imaging and Modeling (STIM) Laboratory
Department of Electrical and Computer Engineering
Cullen College of Engineering
University of Houston
David Mayerich
STIM Laboratory, University of Houston
Fundamentals of numerical methods
Resolving numerical errors: quantization, binarization, etc.
Solving complex equations and evaluating functions
Linear systems
Partial differential equations and physical systems
David Mayerich
STIM Laboratory, University of Houston
Experience in implementation (C/C++ and MATLAB/Python)
When you encounter a numerical problem, you should know how to find the best (fastest, most accurate, most efficient, etc.) solution
Grades should be predictable: rubrics are provided for all assignments
Numerical methods in Practice: A Programming Guide to Numerical Computing Using C and Python, D. Mayerich
open-access textbook written specifically for this class
https://stim.ee.uh.edu/education/ece-3340-numerical-methods/
David Mayerich
STIM Laboratory, University of Houston
Numerical Methods for Scientists and Engineers, R.W. Hamming
Numerical Recipes: The Art of Scientific Computing, W.H. Press, et al.
David Mayerich
STIM Laboratory, University of Houston
5 % Homework
David Mayerich
STIM Laboratory, University of Houston
10% Quizzes
20% Exams 1 & 2
25% Programming Assignments
30% Final Exam
Weekly assignments that reflect material on the exams
Homework review, sample exam questions
Very short (ex. 1 question), every 1-2 days
Mid-term exams (closed book, closed note)
Implement numerical solutions to mathematical problems - largest will involve partial differential equations
Previous material + differentiation, integration, partial differential equations, interpolation, fitting functions
5% of your final grade – primarily practice for the exams
David Mayerich
STIM Laboratory, University of Houston
Grade based on written homework
Taken from class lectures and textbook
You may work together, but don't had in copied work
I will review for completion and as a benchmark for class performance
Submit a PDF on Canvas
I will only review assigned homework, however there are other practice problems in the textbook
Teams: feel free to ask and answer questions about the homework
Test your understanding of the material with regular quizzes
My aim here is to make sure you can predict your performance on the exams
Main goal here is to address a recent trend of students leaning on LLMs: I've encountered too many cases where students don't realize that they don't understand the material and do poorly on exams.
Calculators: you'll want a scientific calculator (same rules as the ACT)
Generally be 1-2 simple questions at the beginning of class
Submit via Canvas or just hand it in
David Mayerich
STIM Laboratory, University of Houston
Exams are comprehensive - previous material is fair game
20% numerical representations, algorithms, loss of precision
20% linear systems, tensors, and tensor operations
30% fitting, interpolation, calculus
David Mayerich
STIM Laboratory, University of Houston
Exam questions rely on material from homework, quizzes, lectures, textbook
There will be some programming questions but I won't rigorously review "code"
Calculators: you'll want a scientific calculator (same rules as the ACT)
Teams: don't ask/answer test-related questions until I confirm all exams are completed
(since some students may be required to take the exam outside of class time)25% of your grade - work independently
David Mayerich
STIM Laboratory, University of Houston
Code must compile using gcc on the ECE server
If your code doesn't work, output what you did complete
The code must still compile
Comment frequently - partial credit relies on me understanding your code
Implementation depends on requirements and constraints
High-level applications can use MATLAB and external libraries
Low-level applications are under pressure: memory, speed, processing power
David Mayerich
STIM Laboratory, University of Houston
1. Mathematics - notation that will help us communicate
2. Programming - translating from math to a computer (via C)
3. Discrete Math - theory for evaluating algorithms
4. Errors - how and where do computers make mistakes?
5. Numbers - how values are stored and manipulated in digital systems
6. Functions - use algorithms and series to evaluate special functions
7. Solving Equations - numerical methods to solve equations with special functions
David Mayerich
STIM Laboratory, University of Houston
Exam 1
12. Regression - building functions from samples
13. Differential Equations - numerical techniques for solving complex physical systems
David Mayerich
STIM Laboratory, University of Houston
Final Exam
8. Linear Systems - mathematical operations that take a lot of time
9. Matrix Properties - assessing linear systems and how accurately they can be solved
10. Random Numbers - probability and generating random numbers
11. Calculus - differentiation and integration using functions and values in digital systems
Exam 2
Website:
http://stim.ee.uh.edu
David Mayerich
STIM Laboratory, University of Houston
Teams forum - please ask questions:
homework, textbook problems, and lecture slides
exam questions AFTER the exams have been graded
conceptual questions about programming assignments - don't post blocks of code
messages can be sent to me privately via Teams
Lectures slides - PowerPoint slides will be available on Teams
Textbook - this constantly developing, so let me know if anything is vague or could use better explanation
David Mayerich
STIM Laboratory, University of Houston
Large Scale Microscopy
Multiplex Microscopy
Large-Data
Analysis
B.S. - Southwestern Oklahoma State University
David Mayerich
STIM Laboratory, University of Houston
Ph.D. - Texas A&M University
Postdoc - Beckman Institute, University of Illinois, Urbana - Champaign