|
1 | 1 | # Syllabus - Computational Mechanics |
| 2 | +## ME 3255 Winter 2024 |
| 3 | +- **GitHub page:** [cooperrc/computational-mechanics](https://github.com/cooperrc/computational-mechanics) |
| 4 | +- Submitting assignments: [**HuskyCT**](https://learn.uconn.edu) |
| 5 | +- **JupyterHub server**: <https://nanohub.org/tools/compmech> |
| 6 | +- **ME3255 - Discussions**: [GitHub Discussion](https://github.com/cooperrc/computational-mechanics/discussions) |
2 | 7 |
|
3 | | -[Current ME3255 Syllabus](https://cooperrc.github.io/computational-mechanics/syllabus.html) |
| 8 | +## Course Description |
| 9 | + |
| 10 | +This is a project-based introduction to computational mechanics. There are five |
| 11 | +modules with exercises, homeworks, and final projects. The overall goal of the |
| 12 | +course is to frame engineering problems as computational methods. Once we |
| 13 | +can communicate our engineering problems to Python code (or any other computer |
| 14 | +language) we can use standard computational methods to solve those problems. |
| 15 | + |
| 16 | +We will work through five modules: |
| 17 | +1. [CompMech01-Getting Started](module_01/README) |
| 18 | +1. [CompMech02-Analyze-data](module_02/README) |
| 19 | +1. [CompMech03-Initial Value Problems](module_03/README) |
| 20 | +1. [CompMech04-Linear Algebra](module_04/README) |
| 21 | +1. [CompMech05-Boundary Value Problems](module_05/README) **Bonus** |
| 22 | + |
| 23 | +## Course Objectives |
| 24 | + |
| 25 | +This course introduces students to computational methods in |
| 26 | +[Python](https://www.python.org/). The course introduces numerical |
| 27 | +methods, best programming practices, and version control. |
| 28 | +These methods will be applied to a number of physics-based problems. |
| 29 | + |
| 30 | +## Course Expectations |
| 31 | +Students are expected to create numerical approximations for linear and |
| 32 | +nonlinear problems, understand approximations due to floating point operations |
| 33 | +and numerical approaches and solve differential equations using numerical |
| 34 | +differentiation and integration. Students are also expected to learn basics of |
| 35 | +git version control, Python functions and programming best practices. |
| 36 | + |
| 37 | +Students are expected to work together, share resources, and build |
| 38 | +collaboratively. Any work that is turned in by an individual should |
| 39 | +reflect the student's understanding of the material. |
| 40 | + |
| 41 | +Students _should_ |
| 42 | +- copy/paste code from textbook, then read through it to understand |
| 43 | +- post/share code examples and error messages |
| 44 | +- post/share code examples to resolve other students' issues |
| 45 | +- submit work that they can explain |
| 46 | + |
| 47 | +Students _should not_ |
| 48 | +- submit other students' work as their own |
| 49 | +- submit work that they do not understand (copy-pasted without |
| 50 | +reading/understanding) |
| 51 | + |
| 52 | +## Course Information |
| 53 | +__Course Title:__ ME3255 - Computational Mechanics |
| 54 | + |
| 55 | +__Format:__ Online |
| 56 | + |
| 57 | +__Prerequisite:__ CE 2110 and MATH 2110 or 2130 |
| 58 | + |
| 59 | +__Instructor __: Prof. Ryan C. Cooper __< [email protected]> __ |
| 60 | + |
| 61 | +__Office Hours/Availability:__ by appointment |
| 62 | +<https://cooperrc.github.io> |
| 63 | + |
| 64 | +__Preferred Contact:__ Post questions and comments to |
| 65 | +[Discussions](https://github.com/cooperrc/computational-mechanics/discussions) |
| 66 | + |
| 67 | + |
| 68 | + |
| 69 | +<!-- __Teaching Assistants__: --> |
| 70 | +<!-- --> |
| 71 | +<!-- |section | TA | email| GitHub handle| office hours | Webex room | --> |
| 72 | +<!-- |---|---|---|---|---|---| --> |
| 73 | +<!-- | sec001 | Genevieve Kunkel | <[email protected]>| [@gmk19001](https://gitter.im/gmk19001)| Thu 12:30-2:30pm |<https://uconn-cmr.webex.com/meet/gmk19001>| --> |
| 74 | +<!-- | sec002 | Mohammad Madani | <[email protected]> | [@mahan-fcb](https://gitter.im/mahan-fcb) | Mon 1-3pm | | --> |
| 75 | + |
| 76 | + |
| 77 | +<!-- __Lectures__: --> |
| 78 | +<!-- - sec001: MWF 9:05-9:55am in BPB 130 --> |
| 79 | +<!-- - sec002: TTh 11:00-12:15pm in BOUS A106 --> |
| 80 | +__Prerequisite:__ CE 3110, MATH 2410Q |
| 81 | + |
| 82 | +__Tools used:__ [Python](https://www.python.org), [Jupyter](https://jupyter.org), |
| 83 | +[git](https://rogerdudler.github.io/git-guide/), and |
| 84 | +[GitHub](https://github.com) |
| 85 | + |
| 86 | +## Required Resources: |
| 87 | + |
| 88 | +- [Computational |
| 89 | + Mechanics](https://cooperrc.github.io/computational-mechanics/) |
| 90 | + materials are a combination of work from [Prof. Ryan C. |
| 91 | + Cooper](https://ryan-c-cooper.uconn.edu) at the University of Connecticut |
| 92 | + Mechanical Engineering Department and the [Engineering Computations |
| 93 | + Modules](https://github.com/engineersCode/EngComp) from Prof. Lorena A. Barba |
| 94 | + and doctoral student Natalia C. Clement at the George Washington University, |
| 95 | + Mechanical and Aerospace Engineering Department. |
| 96 | +- [Jupyter server at nanohub](https://nanohub.org/tools/compmech) is an |
| 97 | + interactive Jupyter notebook server. We will use it with Python to run our |
| 98 | + code, create documentation, and save assignments |
| 99 | +- [GitHub](https://github.com) If you prefer to |
| 100 | + keep your work private, you can create private repositories and share them |
| 101 | + with myself [@cooperrc](https://github.com/cooperrc). |
| 102 | + |
| 103 | +### Course Videos |
| 104 | + |
| 105 | +#### [@ProfRyanCooper YouTube Channel](https://www.youtube.com/@ProfRyanCooper) |
| 106 | + |
| 107 | +[Prof. Cooper's old YouTube |
| 108 | +Channel](https://www.youtube.com/channel/UC6oOZZrQwJpOkra-QSGy3GA) _for |
| 109 | +previous recordings and more resources_ |
| 110 | + |
| 111 | +### Recommended _Free_ Resources: |
| 112 | + |
| 113 | +- [Barba, L.A., 2020. Engineers Code: reusable open learning modules for |
| 114 | + engineering computations. Computing in Science & Engineering, 22(4), |
| 115 | + pp.26-35. doi:10.1109/MCSE.2020.2976002 Preprint on arXiv::2001.00228](https://github.com/engineersCode/EngComp) |
| 116 | + |
| 117 | +- [Youtube: A hands-on Intro to Python for beginning programmers](https://youtu.be/rkx5_MRAV3A) |
| 118 | + |
| 119 | +- [RealPython tutorials, getting started: realpython.com/start-here/](https://realpython.com/start-here/) |
| 120 | + |
| 121 | +- [Markdown Cheatsheet: www.markdownguide.org/cheat-sheet](https://www.markdownguide.org/cheat-sheet/) |
| 122 | + |
| 123 | +- _Python for Everybody: Exploring Data Using Python 3_ (2016). Charles R. |
| 124 | +Severance. [PDF |
| 125 | +available](http://do1.dr-chuck.com/pythonlearn/EN_us/pythonlearn.pdf) |
| 126 | + |
| 127 | +- _Think Python: How to Think Like a Computer Scientist_ (2012). Allen Downey. |
| 128 | +Green Tea Press. [PDF |
| 129 | +available](http://greenteapress.com/thinkpython/thinkpython.pdf) |
| 130 | + |
| 131 | +- [SciPy Lecture Notes](https://scipy-lectures.org/) |
| 132 | + |
| 133 | +### Recommended _paid_ Textbooks: |
| 134 | + |
| 135 | +- Chapra, Steven, _Applied Numerical Methods with MATLAB for Engineers and |
| 136 | +Scientists_ 4th edition. |
| 137 | + |
| 138 | +- Kiusalaas, Jaan, _Numerical Methods in Engineering with Python 3_ Cambridge University Press (2013). |
| 139 | + |
| 140 | + |
| 141 | + |
| 142 | +## Minimum Technical Skills: |
| 143 | + |
| 144 | +- Ability to follow coding tutorials |
| 145 | + |
| 146 | +- Comfortable executing code in a prompt |
| 147 | + |
| 148 | +- Comfortable working in a web browser |
| 149 | + |
| 150 | +- Draw free body diagram and write equations of motion |
| 151 | + |
| 152 | +- Draw a control volume and write conservation of energy equations |
| 153 | + |
| 154 | +- Take derivatives and integrals of functions |
| 155 | + |
| 156 | +## Grading |
| 157 | + |
| 158 | +| Item | Percent | Requirement | |
| 159 | +|---------------|---------|---------------------------------------------------| |
| 160 | +| Participation | 30 % | Discussion questions on GitHub+, self assessed | |
| 161 | +| Homework | 30 % | Complete the module problem sets | |
| 162 | +| Projects | 40 % | Complete the module projects and submit to GitHub | |
| 163 | + |
| 164 | +__Participation__: The participation grade will be self-assigned. During |
| 165 | +week 7 you will submit your current grade and modes of participation, |
| 166 | +then during the final week submit an updated final grade. |
| 167 | + |
| 168 | +## Academic Integrity: |
| 169 | +- The instructors of this class have a zero-tolerance policy for academic misconduct, that |
| 170 | + is copying others' work either in the lab, field, or on an exam. Any student work that |
| 171 | + is found to be in violation of the university policy regarding academic misconduct |
| 172 | + will be assigned a grade of zero at a |
| 173 | + minimum. |
| 174 | +- Read and understand [The UConn Student Code of |
| 175 | + Conduct](http://www.community.uconn.edu/student_code.html "The Student Code for Academic |
| 176 | + Integrity"). Students will follow all University regulations concerning the final exam. |
| 177 | + |
| 178 | +## Course Schedule |
| 179 | +> Subject to change based upon feedback and pace of course |
| 180 | +
|
| 181 | +The course schedule is kept up to date on the HuskyCT. |
| 182 | + |
| 183 | +## Grading Scale |
| 184 | + |
| 185 | +|Explanation|Letter Grade|GPA| |
| 186 | +|---|---|---| |
| 187 | +|Excellent|A|4| |
| 188 | +||A-|3.7| |
| 189 | +|Very Good|B+|3.3| |
| 190 | +|Good|B|3| |
| 191 | +||B-|2.7| |
| 192 | +||C+|2.3| |
| 193 | +|Average|C|2| |
| 194 | +|Fair|C-|1.7| |
| 195 | +|Poor|D+|1.3| |
| 196 | +||D|1| |
| 197 | +|Merely Passing|D-|0.7| |
| 198 | +|Failure|F|0| |
| 199 | + |
| 200 | +## Due Dates and Late Policy |
| 201 | + |
| 202 | +All course due dates are identified in HuksyCT. Deadlines are based on |
| 203 | +Eastern Time; if you are in a different time zone, please adjust your |
| 204 | +submittal times accordingly. The instructor reserves the right to change |
| 205 | +dates accordingly as the course progresses. _All changes will be |
| 206 | +communicated via the calendar or another appropriate notification._ |
| 207 | + |
| 208 | +<!-- __Late Policy:__ There are no late submission penalties. If you fall --> |
| 209 | +<!-- behind on work _you must_ contact me and tell me: --> |
| 210 | +<!-- 1. When will you submit the assignment? --> |
| 211 | +<!-- 2. What help do you need? --> |
| 212 | + |
| 213 | +__Late Policy__: You must submit |
| 214 | +_something_ for every due date. You can resubmit any assignment to get |
| 215 | +points back, but if you miss the submission date, the grade will |
| 216 | +automatically updat to **0**. If you don't |
| 217 | +have any answers, write a question in each problem and we will give you |
| 218 | +feedback for you to resubmit the assignment. |
| 219 | + |
| 220 | +## Feedback and Grades |
| 221 | + |
| 222 | +We will make every effort to provide feedback and grades within 2 |
| 223 | +business days. To keep track of your performance in the course, refer |
| 224 | +to grades in HuskyCT. You can resubmit any assignment with |
| 225 | +improvements. Add a private comment to your submission when you have |
| 226 | +incorporated comments. |
| 227 | + |
| 228 | +<!-- ## Student Authentication and Verification --> |
| 229 | +<!-- --> |
| 230 | +<!-- The University of Connecticut is required to verify the identity of students who --> |
| 231 | +<!-- participate in online courses and to establish that students who register in an --> |
| 232 | +<!-- online course are the same students who participate in and complete the course --> |
| 233 | +<!-- activities and assessments and receive academic credit. Verification and --> |
| 234 | +<!-- authentication of student identity in this course will include: --> |
| 235 | +<!-- --> |
| 236 | +<!-- 1. Secure access to the learning management system using your unique UConn NetID --> |
| 237 | +<!-- and password. --> |
| 238 | +<!-- --> |
| 239 | +<!-- 2. Video recordings to describe submissions --> |
| 240 | + |
| 241 | +## Student Responsibilities and Resources |
| 242 | + |
| 243 | +As a member of the University of Connecticut student community, you are held to |
| 244 | +certain standards and academic policies. In addition, there are numerous |
| 245 | +resources available to help you succeed in your academic work. Review these |
| 246 | +important [standards, policies and |
| 247 | +resources](http://ecampus.uconn.edu/policies.html), which include: |
| 248 | + |
| 249 | +* The Student Code |
| 250 | + * Academic Integrity |
| 251 | + * Resources on Avoiding Cheating and Plagiarism |
| 252 | +* Copyrighted Materials |
| 253 | +* Netiquette and Communication |
| 254 | +* Adding or Dropping a Course |
| 255 | +* Academic Calendar |
| 256 | +* Policy Against Discrimination, Harassment and Inappropriate Romantic |
| 257 | +* Relationships |
| 258 | +* Sexual Assault Reporting Policy |
| 259 | + |
| 260 | + |
| 261 | +## Students with Disabilities |
| 262 | + |
| 263 | +The University of Connecticut is committed to protecting the rights of |
| 264 | +individuals with disabilities and assuring that the learning environment is |
| 265 | +accessible. If you anticipate or experience physical or academic barriers based |
| 266 | +on disability or pregnancy, please let me know immediately so that we can |
| 267 | +discuss options. Students who require accommodations should contact the Center |
| 268 | +for Students with Disabilities, Wilbur Cross Building Room 204, (860) 486-2020 |
| 269 | +or <http://csd.uconn.edu/>. |
| 270 | + |
| 271 | + |
| 272 | +## Software/Technical Requirements (with Accessibility and Privacy Information) |
| 273 | + |
| 274 | +The software/technical requirements for this course include: |
| 275 | + |
| 276 | +* Modern, up-to-date web browser e.g. [Chrome](https://www.google.com/chrome/), [Firefox](https://www.mozilla.org/en-US/), [Safari (Mac OS)](https://www.apple.com/safari/), or [Microsoft Edge](https://www.microsoft.com/en-us/edge) |
| 277 | +* HuskyCT |
| 278 | +* Python and Jupyter |
| 279 | +* Adobe Acrobat Reader (Adobe Reader Accessibility Statement, Adobe Reader Privacy Policy) |
| 280 | +* Dedicated access to high-speed internet with a minimum speed of 1.5 Mbps (4 Mbps or higher is recommended). |
| 281 | +* [Jupyter at nanohub](https://nanohub.org/tools/compmech) |
| 282 | + |
| 283 | +__NOTE:__ This course was not tested or designed for mobile devices. |
| 284 | + |
| 285 | +## Help |
| 286 | + |
| 287 | +[Technical and Academic Help](http://ecampus.uconn.edu/help.html) provides a guide to technical and academic assistance. |
0 commit comments