|0||Thu, Jan 10||Introduction|
|1||Tue, Jan 15||Linux Systems|
|2||Tue, Jan 22||Docker|
|Thu, Jan 24||Rocker & Dockerfiles|
|3||Tue, Jan 29||Singularity|
|Thu, Jan 31||Putting it together||example_pm25 repo|
|4||Tue, Feb 5||Cluster & Slurm Basics|
|Thu, Feb 7||Slurm batch jobs|
|5||Tue, Feb 12||Slurm Odds and Ends + Parallelization|
|Thu, Feb 14||(More) Parallelization|
|6||Tue, Feb 19||Profiling|
|Thu, Feb 21||Profiling with perf|
|7||Tue, Feb 26||Rcpp + C++ Basics|
|Thu, Feb 28||std::vector and Rcpp Vectors|
|8||Tue, Mar 5||STL Containers|
|Thu, Mar 7||Class canceled|
|9||Tue, Mar 12||No class - Spring recess|
|Thu, Mar 14||No class - Spring recess|
|10||Tue, Mar 19||Armadillo||arma example repo|
|Thu, Mar 21||Armadillo - Sparse Matrices|
|11||Tue, Mar 26||Thrust|
|Thu, Mar 28||Makevars + CURAND||examplePkgCuda|
|12||Tue, Apr 2||More Makevars|
|Thu, Apr 4||cuBLAS and cuSOLVER|
|13||Tue, Apr 9||RAII + Zerotier|
|Thu, Apr 11||Google Cloud DataProc, HDFS, Sparklyr|
|14||Tue, Apr 16||More Spark|
Lectures & Lab:
The goal of both the lectures and the labs is for them to be as interactive as possible. My role as instructor is to introduce you new tools and techniques, but it is up to you to take them and make use of them. Programming is a skill that is best learned by doing, so as much as possible you will be working on a variety of tasks and activities throughout each lecture / lab. Attendance will not be taken during class but you are expected to attend all lecture and lab sessions and meaningfully contribute to in-class exercises and homework assignments.
Perkins 060 (Link Classroom 1)
- Lecture - Tuedays 11:45 AM - 01:00 PM
- Lab - Thursdays 11:45 AM - 01:00 PM
During the course of the lectures and labs you will be given larger computing / programming tasks which you are expected to work on outside of class. Successful completetion of all of these assignments is not necessary to receive credit for this course but at least attempting them is.
I will regularly send course announcements by email, make sure to check your email daily. Email is the easiest way to reach me outside of class, note that it is much more efficient to answer most questions in person.
Duke University is a community dedicated to scholarship, leadership, and service and to the principles of honesty, fairness, respect, and accountability. Citizens of this community commit to reflect upon and uphold these principles in all academic and non-academic endeavors, and to protect and promote a culture of integrity. Cheating on exams or plagiarism on homework assignments, lying about an illness or absence and other forms of academic dishonesty are a breach of trust with classmates and faculty, violate the Duke Community Standard, and will not be tolerated. Such incidences will result in a 0 grade for all parties involved. Additionally, there may be penalties to your final class grade along with being reported to the Undergraduate Conduct Board.
Please review the Academic Dishonesty policies here.
A note on sharing / reusing code - I am well aware that a huge volume of code is available on the web to solve any number of problems. Unless I explicitly tell you not to use something the course's policy is that you may make use of any online resources (e.g. StackOverflow) but you must explicitly cite where you obtained any code you directly use (or use as inspiration). Any recycled code that is discovered and is not explicitly cited will be treated as plagiarism. The one exception to this rule is that you may not directly share code with another team in this class, you are welcome to discuss the problems together and ask for advice, but you may not send or make use of code from another team.
Students who miss a class due to a scheduled varsity trip, religious holiday or short-term illness should fill out an online NOVAP, RHoliday or short-term illness form respectively. Note that these excused absences do not excuse you from assigned homework, it is your responsibility to make alternative arrangements to turn in any assignments in a timely fashion.
Those with a personal emergency or bereavement should speak with your director of graduate studies or your academic dean.
Late work policy:
- late, but same day: -10%
- late, next day: -20%
- 2 days or later: no credit
The course is graded based on a credit / no-credit basis. In order to receive credit you are expected to attend as many of the lectures and labs as possible and to be an active participant during these classes.
- Prof. Rundel - 204 Old Chemistry - TBD