Skip to content

qwang252/ep476

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EP476 - Introduction to Scientific Computing for Engineering Physics

Welcome to EP476, "Scientific Computing for Engineering Physics". This course will focus on bringing important scientific software development skills to students primarily in the Engineering Physics department.

Location: M1053 Engineering Centers Building
Class times: TR 1:00-2:30 PM
Instructor: Prof. Paul Wilson
Office: 419 Engineering Research Building
Email: paul.wilson _at_ wisc.edu
Phone: 608-263-0807

Description

Scientific software development has transitioned from a field devoted almost entirely to numerical methods to one that increasingly relies on more advanced management of data and development of analysis workflows that involve multiple tools strung together in a sequence, and also numerical methods.

This course is designed to introduce a variety of concepts that will make engineers and scientists more effective at developing software that facilitates modern engineering analysis.

Textbook

"Effective Computation in Physics", Anthony Scopatz & Kathryn Huff, O'Reilly, 2015

Assessment

Homework: 60%

  • approximately weekly
  • continuation of in-class exercises
  • develop skills and proficiency

Project: 40%

  • implement your own software and/or contribution to an open source software project
  • should use a variety of skills learned in class

Syllabus

Week 1 Intro, Shell, Filesystem & Environment
Lecture #1 Lecture #2
Week 2 Version control: local & remote
Lecture #3 Homework #1
Week 3 Python: intro, variable names, types, using modules
Lecture #4  
Week 4 Python: Documentation, Debugging & Unit testing
Week 5 Python: Containers & flow control
Week 6 Python: Classes & Modules
Week 7 Python: Integration & regression testing, Validation
Week 8 Profiling & Compiled languages & Mixed languages
Week 9 Make files & build systems
Week 10 Deployment & Collaboration
Week 11 Continuous integration & Automation
Week 12 Data management & metadata
Week 13 String handling & Regular expressions
Week 14 Numerical tools: Numpy, SciPy, Matplotlib
Week 15 Parallelism: HTCondor, MPI, OpenMP

About

Material for EP476

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published