
| Professor: Chris Gill |
| e-mail: cdgill@wustl.edu |
| office: McKelvey 1039 (office hours outside of class meetings are by appointment) |
http://www.cse.wustl.edu/~cdgill/courses/cse5402/
Course Piazza page:
Contents
Reading materials will be assigned for many of the topics. It is to your advantage to go over the readings prior to class time, and to ask questions about anything that may be unclear. Supplemental resources including web materials and additional books that may be helpful also may be suggested.
| Tue Aug 26 |
Course Introduction Academic Integrity About Rust |
BOT Chapter 1 (optionally KN Chapter 1 and G pp. xxi-xxiii) |
|
| Thu Aug 28 | A Tour of Rust Error Handling Crates and Modules |
BOT Chapters 2, 7 and 8 and pp. 535-540 (optionally KN Chapters 2, 7 and 9 and G Chapters 1, 4 and 5 and pp. 74 and pp. 207-243) |
Studio 1 |
| Tue Sep 2 | Types in Rust Structs Lab 1 overview |
BOT Chapter 3 and 9 (optionally KN Chapters 3 and 5 and G pp.48-50) |
Studio 2 Lab 1 assigned |
| Thu Sep 4 | Ownership and Moves | BOT Chapter 4 (optionally KN pp. 59-70 and G pp. 7-8 and pp. 45-46) |
Studio 3 |
| Tue Sep 9 | References | BOT Chapter 5 (optionally KN pp. 71-83 and G pp. 9-12 and pp. 155-156) |
Studio 4 |
| Thu Sep 11 | Expressions | BOT Chapter 6 | Studio 5 |
| Tue Sep 16 | Enums and Patterns | BOT Chapter 10 (optionally KN Chapter 6) |
Studio 6 |
| Thu Sep 18 | Traits and Generics Utility Traits |
BOT Chapters 11 and 13 (optionally KN Chapter 10 and G Chapter 3) |
Studio 7 |
| Tue Sep 23 | Operator Overloading Closures Guest Lecturer: Marion Sudvarg |
BOT Chapters 12 and 14 | Studio 8 |
| Thu Sep 25 | Iterators Lab 2 overview |
BOT Chapter 15 (optionally KN pp. 284-294) |
Studio 9 Lab 2 assigned Lab 1 due 11:59pm Fri Sep 26 |
| Tue Sep 30 | Collections
Guest Lecturer: Jon Shidal |
BOT Chapter 16 (optionally KN pp. 141-147 and pp. 154-159) |
Studio 10 |
| Thu Oct 2 | Strings and Text
Guest Lecturer: Jon Shidal |
BOT Chapter 17 (optionally KN pp. 147-154) |
Studio 11 |
| Tue Oct 7 | Fall Break (no course meeting) | ||
| Thu Oct 9 | Exam 1 Review | Studios 1-11 due by 11:59pm Mon Oct 13 | |
| Tue Oct 14 | Exam 1 (10-11:20am in Whitaker 218) | ||
| Thu Oct 16 | Concurrency I: Fork-Join Parallelism | BOT Chapter 19 pp. 499-511 (optionally KN pp. 353-361 and G Chapter 10) |
Studio 12 |
| Tue Oct 21 | Concurrency II: Channels | BOT Chapter 19 pp. 512-525 (optionally KN pp. 361-367) |
Studio 13 |
| Thu Oct 23 | Concurrency III: Shared Mutable State Lab 3 overview |
BOT Chapter 19 pp. 525-540 (optionally KN pp. 367-374) |
Studio 14 Lab 3 assigned Lab 2 due 11:59pm Fri Oct 24 |
| Tue Oct 28 | Input and Output | BOT Chapter 18 (optionally KN Chapter 12) |
Studio 15 |
| Thu Oct 30 | Macros | BOT Chapter 21 (optionally KN pp. 449-458 and G Chapter 7) |
Studio 16 |
| Tue Nov 4 | Unsafe Code | BOT Chapter 22 (optionally KN pp. 420-429 and G Chapter 9) |
Studio 17 |
| Thu Nov 6 | Foreign Functions | BOT Chapter 23 (optionally KN pp. 426-427 and G Chapter 11) |
Studio 18 |
| Tue Nov 11 | Asynchronous Programming I: Synch to Asynch | BOT Chapter 20 pp. 541-566 (optionally G Chapter 8) |
Studio 19 |
| Thu Nov 13 | Asynchronous Programming II: Using Asynch Mechanisms | BOT Chapter 20 pp. 566-599 | Studio 20 |
| Tue Nov 18 | Exam 2 Review | Studios 12-20 due by 11:59pm Wed Nov 19 | |
| Thu Nov 20 | Exam 2 (10-11:20am in Whitaker 216) | ||
| Tue Nov 25 | open office hours to work on lab 3 | ||
| Thu Nov 27 | Thanksgiving Break (no course meeting) | ||
| Tue Dec 2 | unattended lab time to work on lab 3 | ||
| Thu Dec 4 | unattended lab time to work on lab 3 Lab 3 due 11:59pm Fri Dec 5th |
||
Each lab will require a lab report. Report format and length and content requirements will be described in each lab assignment. The actual report will be submitted via e-mail, as well, so it must go into a file.
Labs will be performed in teams of 1, 2 or 3 people (but not more than 3): teams may be different for each lab assignment or may remain the same for all labs. Each team should submit its solution and lab report for each project.
Labs submitted within 24 hours after the posted deadline will be accepted with a 10% penalty up front, and labs submitted between 24 and 48 hours after the posted deadline will be accepted with a 20% penalty up front. Labs submitted after that will not be graded except in the case of extenuating circumstances approved by the professor.
You may discuss your lab projects with other students outside your team only during course meeting times. Discussion of lab projects within a team, is encouraged at any time. Each team must design and implement its own solution, and prepare its own report.
The following lab assignments have been posted so far in the course:
We'll use the required textbook both for class material and as a reference. Revelant portions of the required text will be assigned throughout the semester: please read each assigned section before the course meeting where it will be discussed.
Optional texts:
Readings in the optional textbooks also will be suggested, for enrichment and to complement the assigned readings in the required text.
Please read through the CSE 5402 Programming Guidelines and follow them as you develop your studio and lab solutions this semester.
The Learn Rust page has links to documentation about the Rust language, libraries, and tools.
The in-semester exams will be roughly proportioned to cover the material in all other aspects of the course: readings, lectures, studios, and labs. The best way to study for the exams is to keep up with the readings, lectures, studio exercises, and labs during the semester. The first exam will cover the material up to that point in the course, and the second exam will cover the material after the first exam.
Your semester grade will be determined as follows, with an overall weighted average of 90% corresponding to at least an A-, of 80% corresponding to at least a B-, and of 70% to at least a C- (and to a passing grade if the course is being taken P/F rather than for a letter grade):
| Labs | 50 percent Lab 1: 10 percent Lab 2: 15 percent Lab 3: 25 percent Exam 1 |
15 percent |
Exam 2 |
15 percent |
Studios |
20 percent |
|
We encourage everyone to take a look at, and potentially make use of, the many academic support resources available at Washington University in St. Louis, including: The Learning Center, and The Writing Center, and Student Technology Services.
Washington University recognizes that students serving in the U.S. Armed Forces and their family members may encounter situations where military service forces them to withdraw from a course of study, sometimes with little notice. Students may contact the Office of Military and Veteran Services at (314) 935-2609 or veterans@wustl.edu and their academic dean for guidance and assistance.
The Habif Health and Wellness Center, WashU Cares, Center for Counseling and Psychological Services, and RSVP are important university resources for issues pertaining to physical and mental health.
Students with disabilities or suspected disabilities are strongly encouraged both to bring any additional considerations to the attention of the instructor and to make full use of Washington University's Disability Resources, potentially including accommodations for studios, labs, and/or exams.
Washington University is firmly committed to addressing and preventing sexual misconduct on our campuses: please see the Washington University statement on new Title IX rules. If a student discusses or discloses an instance of sexual assault, sex discrimination, sexual harassment, dating violence, domestic violence or stalking, or if a faculty member otherwise observes or becomes aware of such an allegation, the faculty member will keep the information as private as possible, but as a faculty member of Washington University, they are required to report it immediately. Additionally, incidents or complaints can be reported to the Office of Student Conduct and Community Standards or by contacting WUPD at (314) 935-5555 or contacting your local law enforcement agency. To explore options for medical care, protections, or reporting, free and confidential support resources and professional counseling services are available through the Relationship and Sexual Violence Prevention (RSVP) Center in Seigle Hall, Suite 435, which can be reached at rsvpcenter@wustl.edu or at (314) 935-3445. For after-hours emergency response services, call 314-935-6666 or 314-935-5555 and ask to speak with an RSVP Counselor on call. Washington University's Center for Diversity and Inclusion supports and advocates for undergraduate, graduate, and professional school students from underrepresented and/or marginalized populations, collaborates with campus and community partners, and promotes dialogue and social change to cultivate and foster a supportive campus climate for students of all backgrounds, cultures, and identities. The University has a process through which students, faculty, staff, and community members who have experienced or witnessed incidents of bias, prejudice, or discrimination against a student can report their experiences to the University’s Bias Report and Support System team. For procedures and information on reporting an instance of bias, please visit the Bias Report and Support System page on the Center for Diversity and Inclusion web site. Please see the Office of the Registrar's Biographical/Demographic Student Information Changes page for additional information and resources.
Each studio and lab assigned in this course is expected to be completed collaboratively by up to three people (and not more than that). Student teams may change from assignment to assignment, but the sharing of code between teams without prior permission of the instructor is strictly prohibited, and you must acknowledge and document in detail all contributions that anyone has made to the work.
Exams must be completed individually without assistance from any other person and without reference to materials or devices, except as specifically allowed by the instructor (documentation of what is allowed will be described in class, provided in the corresponding exam review slides, and written on the font page of the exam).
Cheating costs everyone something. Someone who cheats misses out on the intended opportunity to improve through the assigned work, and like anyone helping them cheat is at risk of diminished reputation as well as specific sanctions. Cheating also degrades the value of the degree earned by those who complete their work with integrity. If you have any doubt about whether something is allowed under the academic integrity policy for this course, please ask your instructor first.
Academic integrity is itself worth studying and thinking about as a key component of your education. Please read, familiarize yourself with, and reflect on the McKelvey School of Engineering's and Washington University's undergraduate and graduate policies on academic integrity.