Electrical and Computer Engineering ECEn 563: Numerical Methods for Engineering Home Schedule Info

 

Instructor

Karl F. Warnick
Office: 450 EB
warnick@byu.edu

 
  Monday Tuesday Wednesday Thursday Friday
8:00-9:00          
9:00-10:00      
10:00-11:00          
11:00-12:00          
12:00-1:00          
1:00-2:00          
2:00-3:30          
3:30-4:45 Class
406 CB 
  Class
406 CB 
   


Class Text
Warnick, Numerical Methods for Engineering, 2nd Edition, IET Press, 2020

Grading

If you can use AI to develop codes for the assignments and get correct results, that is worth a C grade in the class. To get a B grade, submit a working final project code that goes beyond the basic methods we cover in class and solves a useful research-related physical problem. For an A grade, understand the methods we are implementing well enough to pass the exams.

Assignments: (75%) Homework assignments are integrated with the lectures. We start each lecture by discussing the previous homework assignment together as a class. Homework assignments include derivations of key results from the course material, writing numerical codes, and applying those codes to various types of application problems. Most assignments are self-checking. You can know immediately whether or not your results are correct. Come to class with codes already written and with questions and observations about the assignment. Your results, questions, and challenges with the assignments will be used to facilitate our class discussions. For assignments, upload a single PDF file in Learning Suite including your code, numerical results, plots as needed, and brief comments on your observations about the results.
Quizzes: (5%) Quizzes will allow you to assess how much you are learning about the numerical methods we are studying.
Code project: (10%) Choose one of the major numerical methods, implement a 3D version of the method, and apply it to a problem of interest to you or in your research.
Midterm, oral exam, and final (10%): The midterm, oral exam, and final exam will cover important topics and derivations from the course. The final will be given at the scheduled place and time as listed by the university.

Policies

AI: This class is about your learning and personal growth as part of your "quest for perfection and eternal life." Use AI to rough out codes, debug issues with your codes, and as a learning tool to help you deepen your insights. All algorithms that we will cover in this class have already been implemented and most are available as commercial packages, so this class is not about who can use AI tools to generate working codes with the least effort. To make AI useful to you in the learning process, ask creative questions beyond just a basic prompt. To pass exams, you will need to make sure that you are learning the underlying principles behing the algorithms, how they are implemented, and how they behave for different types of problems in terms of accuracy and computational efficiency.

Group study: I encourage conversing about interesting points, behavior of numerical results, and interpretation of mathematical formulas. Codes must be developed individually. Sharing of codes or code fragments is not allowed.

Figures: Label all plot axes including units. When comparing results, overlay them on the same plot, use a legend to identify multiple curves, and be sure that different curves are distinguishable. Use a loglog or semilog plot for numbers that become very large or very small or have a power law behavior.

Coding

Debugging even short numerical codes can take many hours. In order to reduce the time required to obtain working codes, here are several suggestions: Good programming practices also save time in the long run: