diff --git a/docs/syllabus.html b/docs/syllabus.html new file mode 100644 index 0000000..b391035 --- /dev/null +++ b/docs/syllabus.html @@ -0,0 +1,273 @@ + + +
+ + + +This course introduces students to computational methods in Python. Computational methods, best programming practices, and version control are introduced. These methods will be applied to a number of physics-based problems.
+This is a project-based introduction to computational mechanics. There are five modules with exercises, homeworks, and final projects. The overall goal of the course is learn to frame engineering problems as computational methods. Once we can communicate our engineering problems to Python code (or any other computer language) we can use standardized computational methods to solve those problems.
+Students are expected to create numerical approximations for linear and nonlinear problems, understand approximations due to floating point operations and numerical approaches and solve differential equations using numerical differentiation and integration. Students are also expected to learn basics of git version control, Python functions and programming best practices.
+Lectures: TTh 9:30-10:45 AM, MCHU rm 301
+Lab times: TTh 9:30-10:00 AM and 10:15-10:45 AM, EII rm 202
+Instructor: Prof. Ryan C. Cooper (ryan.c.cooper@uconn.edu)
+Office hours: MW 9:00-11:00 AM in EII rm 314
+Prerequisite: CE 3110, MATH 2410Q
+Tools used: Python, Jupyter , git, and Github
+Required Resources:
+Computational Mechanics materials are a combination of work from Prof. Ryan C. Cooper at the University of Connecticut Mechanical Engineering Department and the Engineering Computations Modules from Prof. Lorena A. Barba and doctoral student Natalia C. Clement at the George Washington University, Mechanical and Aerospace Engineering Department.
Jupyter Hub server at compmech.uconn.edu is an interactive Jupyter notebook server. We will use it with Python to run our code, create documentation, and save assignments
UConn’s Github uconn.github.edu UConn hosts its own server of the popular code-sharing website <github.com>. If you prefer to keep your work private, you can create private repositories and share them with myself and the TA
Minimum Technical Skills:
+Ability to follow coding tutorials
Comfortable executing code in a prompt
Comfortable working in a web browser
Draw free body diagram and write equations of motion
Draw a control volume and write conservation of energy equations
Take derivatives and integrals of functions
Recommended Resources:
+Youtube: A hands-on Intro to Python for beginning programmers
RealPython tutorials, getting started: realpython.com/start-here/
Python for Everybody: Exploring Data Using Python 3 (2016). Charles R. Severance. PDF available
Think Python: How to Think Like a Computer Scientist (2012). Allen Downey. Green Tea Press. PDF available
Recommended Textbooks:
+Chapra, Steven, Applied Numerical Methods with MATLAB for Engineers and Scientists 4th edition.
Kiusalaas, Jaan, Numerical Methods in Engineering with Python 3 Cambridge University Press (2013).
Item | +Percent | +Requirement | +
---|---|---|
Participation | +30 % | +Complete the notebook exercises and discussion questions | +
Homework | +30 % | +Complete the end-of-notebook problems | +
Projects | +40 % | +Complete the module project and submit to Github | +
You will have 30 minutes twice a week to work in the computer lab with me. I expect you to come to the lab with exercises and discussions complete. For the exercises/discussions that you have questions, I expect you to prepare some questions to help me help you understand the material. You will submit a pdf of your completed notebook at the end of the lab session time.
+The homework assignments are the problem sets at the end of each notebook. You do not have to complete these during the lab session time. They will be due before the next lab.
+Date | +Subject/Notebook | +Module | +
---|---|---|
Tue (01-21) | +Welcome! | +Lecture | +
Thu (01-23) | +01_Interacting_with_Python | +Getting-Started | +
Tue (01-28) | +02_Working_with_Python | +Getting-Started | +
Thu (01-30) | +03_Numerical_error | +Getting-Started | +
Tue (02-04) | +Module 1 Project | +Review and submit | +
Thu (02-06) | +meet MCHU 301-Review | +Lecture | +
Tue (02-11) | +01_Cheers_Stats_Beers | +Analyze Data | +
Thu (02-13) | +02_Seeing_Stats | +Analyze Data | +
Tue (02-18) | +03_Linear_Regression_with_Real_Data | +Analyze Data | +
Thu (02-20) | +04_Stats_and_Montecarlo | +Analyze Data | +
Tue (02-25) | +module 2 Project | +Review and submit | +
Thu (02-27) | +01_Catch_Motion | +Initial Value Problems | +
Tue (03-03) | +02_Step_Future | +Initial Value Problems | +
Thu (03-05) | +03_Get_Oscillations | +Initial Value Problems | +
Tue (03-10) | +04_Shooting_solutions | +Initial Value Problems | +
Thu (03-12) | +Module 3 Project | +Review and submit | +
Tue (03-17) | +Spring Break!! | +R&R | +
Thu (03-19) | +Spring Break!! | +R&R | +
Tue (03-24) | +meet MCHU 301-Review | +Lecture | +
Thu (03-26) | +01_Solving_equations | +Linear Algebra | +
Tue (03-31) | +02_Gauss_elimination | +Linear Algebra | +
Thu (04-02) | +03_Linear_regression_revisited | +Linear Algebra | +
Tue (04-07) | +Catch-up day | +Linear Algebra | +
Thu (04-09) | +Module 4 project | +Review and Submit | +
Tue (04-14) | +01_Finite_differences | +Boundary Value Problems | +
Thu (04-16) | +02_Solutions_in_1D | +Boundary Value Problems | +
Tue (04-21) | +03_Solutions_in_2D | +Boundary Value Problems | +
Thu (04-23) | +Catch-up day | +Boundary Value Problems | +
Tue (04-28) | +Review course material | +Lecture | +
Thu (04-30) | +Module 5 project | +Review and Submit | +