Introduction to Rust Programming
Course Info
- Class Meetings: SCI 264, Mondays 5:30pm - 6:45pm
- Lab Meetings: SCI 240, Wednesdays 5:30pm - 6:45pm
- Office Hours: TBD
- Courelore: https://courselore.cs.swarthmore.edu/courses/7789521830/
- Online Textbook: The Rust Book
- Student Leaders: Quinn Okabayashi, William Ball
- Faculty Advisor: Zachary Palmer
- Schedule: See the Class Schedule page
This course is a half semester (7 weeks), half credit/no credit course that does not count towards CS credits. There will be four major components:
- 7 Class meetings
- 7 Lab meetings
- 6 Programming assignments (code + feedback form)
- Labs 1 & 2 are solo, labs 3, 4, 5, and 6 are with partners.
- 6 Short writeups, one at the end of each assignment.
Grading
There are no exams, although each lab includes a brief questionnaire and an additional short writeup. Your final grade is determined by your lab grades and partitipation:
- Participation: 4%
- Lab 1-2: 12%
- Lab 3-6: 16%
Courselore
Our course also has a Courselore forum where you can ask questions and discuss the course material. When posting public questions, please make sure to follow the Academic Integrity Policy: don't give answers to homework in your public posts, for instance.
Who is this course designed for?
Students who have taken CS35 and CS31 and are interested in how theory can be applied to programming languages to make software more efficient, easier to write, and memory safe.
What are the goals of this course?
- Build interest in systems programming without ever touching
gdb
orvalgrind
. - Reimagine what general purpose programming languages can look like.
- Learn how programming languages can guide us towards writing correct, scalable software.
- Write some correct, scalable software.
Academic Accomodations
If you believe you need accommodations for a disability or a chronic medical condition, please contact Student Disability Services (via email at studentdisabilityservices@swarthmore.edu) to arrange an appointment to discuss your needs. As appropriate, the office will issue students with documented disabilities or medical conditions a formal Accommodations Letter. Since accommodations require early planning and are not retroactive, please contact Student Disability Services as soon as possible.
For details about the accommodations process, visit the Student Disability Services website.
To receive an accommodation for a course activity, you must have an official accommodation letter from the Office of Student Disability Services and you need to meet with course staff to work out the details of your accommodation at least two weeks prior to the activity.
You are also welcome to contact any of the course staff privately to discuss your academic needs. However, all disability-related accommodations must be arranged, in advance, through Student Disability Services.
Academic Integrity
Academic honesty is required in all your work. Under no circumstances may you hand in work done with or by someone else under your own name. Discussing ideas and approaches to problems with others on a general level is encouraged, but you should never share your solutions with anyone else nor allow others to share solutions with you. You may not examine solutions belonging to someone else, nor may you let anyone else look at or make a copy of your solutions. This includes, but is not limited to, obtaining solutions from students who previously took the course or solutions that can be found online. You may not share information about your solution in such a manner that a student could reconstruct your solution in a meaningful way (such as by dictation, providing a detailed outline, or discussing specific aspects of the solution). You may not share your solutions even after the due date of the assignment.
In your solutions, you are permitted to include material which was distributed in class, material which is found in the course textbook, and material developed by or with an assigned partner. In these cases, you should always include detailed comments indicating on which parts of the assignment you received help and what your sources were.
When working on quizzes, exams, or similar assessments, you are not permitted to communicate with anyone about the exam during the entire examination period (even if you have already submitted your work). You are not permitted to use any resources to complete the exam other than those explicitly permitted by course policy. (For instance, you may not look at the course website during the exam unless explicitly permitted by the instructor when the exam is distributed.)
Failure to abide by these rules constitutes academic dishonesty and will lead to a hearing of the College Judiciary Committee. According to the Faculty Handbook:
Because plagiarism is considered to be so serious a transgression, it is the opinion of the faculty that for the first offense, failure in the course and, as appropriate, suspension for a semester or deprivation of the degree in that year is suitable; for a second offense, the penalty should normally be expulsion. This policy applies to all course work, including but not limited to code, written solutions (e.g. proofs, analyses, reports, etc.), exams, and so on. This is not meant to be an enumeration of all possible violations; students are responsible for seeking clarification if there is any doubt about the level of permissible communication.
The general ethos of this policy is that actions which shortcut the learning process are forbidden while actions which promote learning are encouraged. Studying lecture materials together, for example, provides an additional avenue for learning and is encouraged. Using a classmate’s solution, however, is prohibited because it avoids the learning process entirely. If you have any questions about what is or is not permissible, please contact your instructor.