Courses


FOSS101 - Essentials of Free and Open Source Software

Dr. Gowtham
906-487-4096
g@mtu.edu
EERC B39

This course offers an introduction to command line Linux and Git revision control system, and various aspects of file and data management/processing. Other topics covered include data visualization using gnuplot, LaTeX document preparation system, minimal systems administration, and (semi) automation of computational (or visualization) workflows using functions and scripts.

Credits 1
Lec-Rec-Lab 0-0-1
Semesters Offered Any time in Canvas (and it's FREE)
Pre-Requisite(s) Interest in command line Linux

Every student interested in UN5390: Scientific Computing (cross-listed as BE5390, EE5390, MA5390 and PH5390) and EE5531: Introduction to Robotics, every student enrolled in EE5240: Computer Modeling of Power Systems as well as every new researcher added to the Michigan Tech's High-Performance Computing ecosystem are automatically enrolled in this course.




EE5240 - Computer Modeling of Power Systems

Dr. Bruce Mork
906-487-2857
bamork@mtu.edu
EERC 614

Topics include modeling and computer methods applied to electrical power systems, matrix formulations, network topology and sparse matrix data structures, loadflow, short- circuit and stability formulations, constrained optimization methods for loadflow and state estimation, and time-domain simulation methods for transient analysis.

Credits 3
Lec-Rec-Lab 3-0-0
Semesters Offered Spring (alternate years)
Pre-Requisite(s) EE5200



EE5496 - GPU and Multicore Programming

Dr. Zhuo Feng
906-487-3116
zhuofeng@mtu.edu
EERC 513

Introduction to Graphics Processing Units (GPU) and multi-cores, their architectural features and programming modesl, stream programming, and compute unified driver architecture (CUDA), caching architectures, linear and non-linear programming, scientific computing on GPUs, sorting and search, stream mining, cryptography, and fixed and floating point operations.

Credits 3
Lec-Rec-Lab 3-0-0
Semesters Offered Fall and Spring
Pre-Requisite(s) CS3411 and EE4173



EE5531 - Introduction to Robotics

Dr. Jeremy Bos
906-487-3161
jpbos@mtu.edu
EERC 623

Introduction to autonomous systems and robotics with focus on automated ground vehicles. Project based course using distributed computing to solve problems related to motion planning, perception, and localization. Requires experience with Linux operating systems variants, version control systems, and C++ or Python.

Credits 3
Lec-Rec-Lab 2-0-3
Semesters Offered Spring
Pre-Requisite(s) None



EE5821 - Computational Intelligence - Theory and Application

Dr. Timothy Havens
906-487-3115
thavens@mtu.edu
EERC 504

This course covers the four main paradigms of Computational Intelligence, viz., fuzzy systems, artificial neural networks, evolutionary computing, and swarm intelligence, and their integration to develop hybrid systems. Applications of Computational Intelligence include classification, regression, clustering, controls, robotics, etc.

Credits 3
Lec-Rec-Lab 3-0-0
Semesters Offered On Demand
Pre-Requisite(s) None



EE5841 - Machine Learning

Dr. Timothy Havens
906-487-3115
thavens@mtu.edu
EERC 504

This course will explore the foundational techniques of machine learning. Topics are pulled from the areas of unsupervised and supervised learning. Specific methods covered include naive Bayes, decision trees, support vector machine (SVMs), ensemble, and clustering methods.

Credits 3
Lec-Rec-Lab 3-0-0
Semesters Offered Spring
Pre-Requisite(s) CS4090



MA1600 - Introduction to Scientific Simulation

Dr. Benjamin Ong
906-487-3367
ongbw@mtu.edu
Fisher 217

Introduction to simulation, a powerful computational tool for many scientific problems. Case studies and projects will be drawn from various fields. Prior programming experience is not required; all necessary computational skills will be developed in the course.

Credits 3
Lec-Rec-Lab 0-2-2
Semesters Offered Spring
Pre-Requisite(s) MA1160 or MA1161



MA2600 - Scientific Computing

Dr. Benjamin Ong
906-487-3367
ongbw@mtu.edu
Fisher 217

Introduction to simulation, a powerful Use of mathematical modeling and computer simulation to solve scientific problems. Includes introduction to elementary numerical methods (numerical integration, solution of linear systems, solution of nonlinear equations, optimization) and to computer programming. Requires programming project(s). computational tool for many scientific problems.

Credits 3
Lec-Rec-Lab 0-2-2
Semesters Offered Fall
Pre-Requisite(s) MA2160 and (MA2320 or MA2321 or MA2330)



PH4390 - Computational Methods in Physics

Dr. Ravindra Pandey
906-487-2086
pandey@mtu.edu
Fisher 108

An overview of numerical and computer methods to analyze and visualize physics problems in mechanics, electromagnetism, and quantum mechanics. Utility and potential pitfalls of these methods, basic concepts of programming, UNIX computing environment, system libraries and computer graphics are included.

Credits 3
Lec-Rec-Lab 2-0-3
Semesters Offered Fall
Pre-Requisite(s) PH2020 and PH3410



PH4395 - Computer Simulations in Physics

Dr. Ravindra Pandey
906-487-2086
pandey@mtu.edu
Fisher 108

Role of computer simulation in physics with emphasis on methodologies, data and error analysis, approximations, and potential pitfalls. Methodologies may include Monte Carlo simulation, molecular dynamics, and first-principles calculations for materials, astrophysics simulation, and biophysics simulations.

Credits 3
Lec-Rec-Lab 2-0-3
Semesters Offered Spring
Pre-Requisite(s) PH3300, PH4390 and (PH2400 or PH3410)



UN5390 - Scientific Computing

Dr. Gowtham
906-487-4096
g@mtu.edu
EERC B39

Set in a Linux environment, the course offers an exposure to free and open source software (FOSS) for developing computational and visualization workflows. Students will have an opportunity to

  1. acquire/enhance good programming and communication etiquette with an emphasis on readability and clarity of written code
  2. learn to translate science and engineering problems into computer programs
  3. learn compilation, debugging and profiling techniques, and understand sources of error
  4. learn parallel programming techniques using MATLAB and OpenMP
  5. learn to use campus and national high-performance computing (HPC) infrastructures
Credits 3
Lec-Rec-Lab 3-0-0
Semesters Offered Fall and Spring
Pre-Requisite(s) FOSS101
Cross-Listings BE5390, EE5390, MA5390 and PH5390

Students are free to choose one or more proramming languages - guided preferably by their usefulness to research endeavors and potential for parallelization. Irrespective of the choice, they should be familiar with and capable of accomplishing

  1. declaration of variables and arrays
  2. performing common mathematical operations
  3. Using if and switch/case constructs, and for and while loops
  4. displaying information to the screen via print/printf (or equivalent) statement
  5. reading/writing information from/to a file