This course is intended to give students hands-on scientific computing experience. Students will use the Vanderbilt ACCRE computing facility to perform tasks derived from current scientific research. They will be introduced to relevant topics such as multithreaded programming, distributed memory programming, and GPU programming. The course will conclude with a “capstone” project.
Research has shown that academic learning has much in common with learning to play an instrument or sport. To quote Thomas Moore, a physics professor at Pomona College: “…you should consider class lectures and homework to be practice, exams to be league games or recitals, and your instructors to be coaches. You will receive credit for both practice and performance.” I cannot emphasize the importance of homework and class participation. If someone told you that you were going to learn to play soccer or piano by listening to two or three lectures a week, you would laugh (and then go find yourself another instructor). You will learn this material by actively participating in class and mostly by devoting significant amount of time to working and thinking about the assignments.
The lectures will be interactive: you will be asked questions and given excercises during each lecture. Please bring your laptops with you to each class! Ten percent of your course grade will be based on your participation in class.
I'm planning to hold office hours twice a week for two hours. These two slots will be determined based on a poll of student's availability.
Because homework is an important part of the learning process, your performance on it will account for a significant portion of your grade. Homework will be due before the beginning of class by pushing your code to your private Github repository (this process will be introduced later in the course).
Due dates for each are shown on the course schedule page, and are subject to change during the semester if we drift from the lecture schedule (but due dates will never be moved up). Late homework will be accepted but at reduced credit. If you turn in the homework by the next morning, it will be docked 10%. Homework turned in less than a week late will be docked 20%. After that, homework will only count half.
Grades are assigned on the basis of your performance. I do not curve scores in order to give a pre-determined number of A’s, B’s, and so on. If everyone earns an A, you will all get one. I grade on the following scale (final grade will be rounded to nearest whole number):
- 93% or above is A
- 90-92% is A-
- 87-89 is B+
- 83%-86% is B
- 80-82% is B-
- 77-79% in C+
- 73-76 is C
- 70-72 is C-
- 67-69 is D+
- 65-66 is D
- Below 65 is F
I will never use a curve to lower your grade, only to raise it.
Your final grade will be determined as follows: class participation (10%), homeworks/quiz (50%), mid-term (20%), and a final project (20%). Note that homework plays a significant role in your final grade!!! Also note that missing class will affect your participation grade!
Information and projects used in this course and on the ACCRE cluster may not contain data, information, technology, images, or software that is considered proprietary or that is controlled under EAR, ITAR, PHI, or RHI.
You may collaborate on assignments, but your final submitted answer must be your own and in your own words. The Vanderbilt Honor Code will be observed at all times in this course.