Recommended References: (1) Mark Lutz, “Learning Python” 5th ed. O’Reilly 2013. (2) Frank Jensen, “Introduction to Computational Chemistry” 3rd ed. Wiley 2016
Time: 10:30-11:45 am, T/R
Place: Room 130, Hamilton Hall
This may change as the course progresses. I will email out anytime it changes.
Lecture | Date | Description |
---|---|---|
Lecture 01 | Aug 27 | How to Python, Python basics I: number and strings, intro to control statements |
Lecture 02 | Aug 29 | Python basics II: lists, dictionaries and looping |
Lecture 03 | Sep 3 | Python basics III: functions, how to comment code |
Lecture 04 | Sep 5 | Python basics IV: file IO and modules |
Lecture 05 | Sep 10 | Python basics V: objects and classes |
Lecture 06 | Sep 12 | Python basics VI: misc topics |
Lecture 07 | Sep 17 | maintaining code with github, using new python packages |
Lecture 08 | Sep 22 | testing code with unittests |
Lecture 09 | Sep 24 | Scientific Python packages: Numpy and Scipy part I |
Lecture 10 | Sep 26 | Scientific Python packages: Numpy and Scipy part II |
Lecture 11 | Oct 1 | Pandas package: data organization and processing part I |
Lecture 12 | Oct 3 | Pandas package: data organization and processing part II |
Lecture 13 | Oct 8 | Plotting with Python Matplotlib and Seaborn part I |
Lecture 14 | Oct 10 | Plotting with Python Matplotlib and Seaborn part II |
Lecture 15 | Oct 15 | Other useful python packages part I |
Lecture 16 | Oct 17 | Other useful python packages part II |
Lecture 17 | Oct 24 | Simulation Techniques Overview |
Lecture 18 | Oct 31 | Molecular dynamics (MD) and setting up gromacs jobs |
Lecture 19 | Nov 5 | Analyze MD runs |
Lecture 20 | Nov 7 | Density functional theory (DFT) and setting up guassian jobs |
Lecture 21 | Nov 12 | Analyze DFT runs |
Lecture 22 | Nov 14 | Molecular docking and setting up autodock jobs |
Lecture 23 | Nov 19 | Analyze docking runs |
Lecture 24 | Nov 21 | Protein folding nd Rosetta protein design |
Lecture 25 | Nov 26 | Analyze Rosetta protein design runs |
Lecture 26 | Dec 3 | Work / plan final project |
Lecture 27 | Dec 5 | Work / plan final project |
Lecture 28 | Dec 12 | Presenting final project (10 min presentation) |
Lecture 29 | Dec 14 | Presenting final project (10 min presentation), and free pizza |
Grades will be based on a combination of attendance, class participation (asking questions, demonstrating reading the material), class assignments, final project presentation, and the final project. Most days will have an in-class assignment where we work through a problem together. It is required that you do the reading before hand! Bringing a computer is required, if you do not have a laptop please contact me.
Class assignments will be given in class, everyone will have until the next class to turn it in. The goal is to have everyone finish in class, if I see this is not happening I will adjust the difficulty. Everyone will be paired into groups, only one assignment is required to be turned in for both people.
Class assignments will be graded in the following scheme
Assessment | Points (out of 100) |
---|---|
Does the code work | 60 |
variable/function names | 10 |
commenting | 10 |
efficiency | 10 |
testing | 10 |
Everyone is required to read the material before class, if I see you are not doing this you will lose points in participation.
It is okay to use code you find online as part of your projects and assignments but you must cite where you got it from (web adress is fine), and you still have to explain how it works. If you do not cite it you will recieve 0 for the assignment.
example of citing code
# opens and writes text to a file and was taken from the below address:
# https://stackoverflow.com/questions/48959098/how-to-create-a-new-text-file-using-python/48964410
file = open("copy.txt", "w")
file.write("Your text goes here")
file.close()
Grading scheme
Grading type | Percent of grade |
---|---|
Attendance | 15 % |
Participation | 10 % |
Class Assignments | 45 % |
Final Project | 20 % |
Final Prject Presentation | 10 % |
There is no curve, everyone can get an A.
Grade | Percent out of 100 required |
---|---|
A | > 80 |
B | 70 |
C | 60 |
D | 50 |
F | < 50 |