Syllabus
Instructor
Laura Biester
75 Shannon St room 214
lbiester@middlebury.edu
Lectures
MWF 9:45 - 10:35 am
75 Shannon St room 203
Week 1 and 2 Office Hours
Monday 11:30 am - 12:30 pm
Wednesday 2:00 - 3:00 pm
Thursday 2:00 - 3:00 pm
Office hours for the rest of the semester will be finalized based on student availability after the first two weeks of class.
Appointments
Schedule a 20-minute one-on-one appointment with Laura
These appointments are available to talk about course material if you are unable to attend office hours during a given week. Please book at least 12 hours in advance.1
Course Description
The senior seminar provides a capstone experience for computer science majors at Middlebury College. We will discuss strategies for conducting research and developing large-scale software while effectively communicating technical concepts through writing and presentations. In teams, students will identify a research question or software development project and then design, develop, test and analyze their final products. Lectures will be complemented by readings and discussions related to the impacts of computing on society. This course fulfills the Responsible Computing requirement for the Computer Science major.
Objectives
By the end of the course, you will have:
- Completed a large software development or computer science research project.
- Developed and practiced your technical reading, writing and presentation skills.
- Identified stakeholders of various computing-related technologies, examined the limitations of these technologies, and proposed strategies for mitigating their impact on society and the environment.
- Gained experience with the research process in computer science.
The purpose of the last goal is to prepare you to work on a research project, and examples will be motivated by my research area (natural language processing). Rather than focusing on field-specific details of NLP, we will talk about formulating research questions and developing experiments to answer those questions.
If you choose to do a research-based project in this class, it is not required to be related to my research area, but I will generally be able to guide you better if it is. App-based projects can be about anything.
Coursework
Your work in this course primarily consists of (1) reading case studies, (2) creating and delivering presentations about case studies and (3) working on & communicating your project.
Case Studies. We will discuss various topics related to responsible computing, which will be framed by selected case studies (from the MIT Schwarzman College of Computing). In a given class devoted to a case study, two people will present the case study and lead a discussion in class. Everyone will deliver 2 case study presentations during the semester.
When you are presenting, you will:
-
Prepare a presentation about the case study. About 10 minutes should be devoted to summarizing the reading and the rest of the class period should consist of a discussion and a thought experiment. The thought experiment should involve designing or redesigning a component of an app that already exists (ideally, related to the topics in the case study).
-
Post at least one preliminary discussion question on Campuswire with the “Case Studies” category at least 48 hours before class. These questions can be about topics related to the case study or can get your classmates to pre-emptively think about the in-class thought experiment.
When you are not presenting, you will:
-
Read the case study.
-
Read the preliminary discussion questions.
-
Prepare for the discussion.
-
Large software development or research project. You will work in a group of 22 on a large project throughout the semester, which may be software development or research-focused. We will discuss some techniques for managing your project in the first few weeks. On certain days labelled as “Project Work”, you will give a 1-minute project update and proceed to work on any GitHub Issues from the last week and open a new one with a plan for the coming week. The main project milestones are the “Project Pitch”, “Project Proposal” and “Project Launch”. The Project Launch will consist of a poster session open to the CS Department in the last week of the semester. Please see the posters in 75 Shannon Street for examples of previous 701 projects.
- Effective technical communication. We will discuss techniques for effectively communicating technical work including writing, presentations, posters and graphics. Your project presentations, poster and documentation should incorporate some of these topics.
Grading
Your grade is based on your engagement with the coursework described above. In particular, I will look for you to attend class, be well-prepared when presenting your cases studies, and make consistent progress on your project. Since this class involves a lot of discussions and in-class group work, you are expected to attend every class. The following table lists expectations for students at the A, B, and C levels.
| Criterion | A | B | C |
|---|---|---|---|
| Attendance3 | 34 class sessions | 31 class sessions | 28 class sessions |
| Presentation Prep | Post preliminary discussion questions at least 48 hours before all presentations | Post preliminary discussion questions before all presentations | Post preliminary discussion questions before one presentation |
| Regular Reflections4 | All reflections completed5 | Missing one reflection | Missing up to three reflections |
| Project Contributions | Technical contributions weekly | Technical contributions all but 2 weeks | Technical contributions in at least half of the weeks |
| Project Deadlines | Meet all intermediate deadlines | Meet all but one intermediate deadline | Meet some intermediate deadlines |
These guidelines show what typical student performance will look like at each grade level, and grades will be determined holistically. In addition to the regular reflections, you will submit a final reflection addressing your contributions to the final project and to the class overall. Along with my own notes, I will use your self-reflections to determine your final grade based on the quality of your contributions.
Tools
We will primarily use GitHub and Campuswire. There won’t be much on Canvas - it might only be used for submitting links to your assignments, as well as your reflections.
Our GitHub Organization is located here (you will have access in the second week after I add all members). This is where your project will be hosted (as well as some of the starter exercises). When the semester is over, you are free to move your repository to your personal account, but please work on your project within our organization during the semester. We will make use of certain features for private repositories via the Teams subscription.
You have been invited to our Campuswire discussion board; make sure you can access it. Please be respectful of your peers on Campuswire. It’s sometimes difficult to convey humor in a text message, so please be mindful of how your messages might be interpreted. This will be our primary form of communication, but please use email for personal matters. I will check our Campuswire channels during regular working hours (M-F 9am-5pm).
Some lectures & discussions may be shorter than others so we will use any remaining class time to work on your project, so please bring a laptop with you to class. To stay engaged during class, I will ask you to keep your laptop closed unless it is necessary for an in-class activity or project work. Accordingly, you should bring something other than your laptop to take notes.
Learning Community
My goal is to create an inclusive and welcoming learning experience for everyone. I try to use language, examples and exercises that promote a sense of belonging to the field of computer science, but please let me know if there is anything I can do to improve.
Furthermore, creating such an environment is a team effort, so I expect you to join me in fostering an inclusive learning experience for everyone. Every member of the class is expected to show respect for every other member so that everyone can learn in this space. If you experience or witness any behavior that opposes this idea, it would be helpful for me to know so that I can address it. If you feel comfortable, you can report such incidents in the following ways:
- talk to or email me
- report the incident on our anonymous CS departmental climate form
You belong in this class and in the computer science department. Thank you for being here and for contributing to this course.
Policies
Disability Access and Accommodation
Every class is made up of learners with different access needs. My goal is for each student in our class to succeed, and to create an accessible learning environment for everyone. Students who have Letters of Accommodation in this class are encouraged to contact me as early in the semester as possible to ensure that such accommodations are implemented in a timely fashion.
For those without Letters of Accommodation, assistance is available to eligible students through the Disability Resource Center (formerly called Student Accessibility Services). All discussions will remain confidential.
Please contact one of the ADA Coordinators at ada@middlebury.edu for more information.
Title IX
As faculty members and members of the Middlebury community, we are committed to the safety of all students. If we learn of any potential violation of our Policy Against Sexual Misconduct, Domestic and Dating Violence and Misconduct, and Stalking SMDVS Policy or our Anti-Harassment/Discrimination Policy, we are required to notify a member of Middlebury’s Title IX team. This ensures that students receive timely care and information about their rights, their choices, and available resources for support. Students who would like to speak with a confidential resource who does not have an obligation to report can contact the Patron Center for Health and Wellness, WomenSafe (serving individuals of all gender identities), or campus and local clergy and medical professionals. For more information, see go/sexualviolenceinfo.
Borrowing a Laptop
If you don’t have access to a laptop (even if for just a single class period), please contact me to ask about the availability of the department’s loaner laptops. The CS Department maintains a set of loaner laptops, preinstalled with relevant course tools, for both short-term and longer-term use. Given the small number of machines available (approximately 10), if you anticipate needing a laptop for a longer period (e.g., the entire semester or more), I encourage you to also inquire with the library about loaner equipment and/or apply for a Student Access and Support Grant, which can help you to purchase a laptop. Our department commits to meeting the needs of every student, so please don’t hesitate to contact Smith (our laboratory instructor) if you need a computer (in any way) for this course.
Honor Code
You are expected to maintain the highest level of academic integrity in this course. All assignments should be purely the work of you and your group. Any external resources should be cited appropriately. It’s okay to use someone else’s code (e.g. as a dependency in your project) but you must describe (in your documentation) how you used their code.
Generative AI
When preparing case studies, you are expected to begin your work by reading the case studies yourself, rather than relying on AI-generated summaries. Similarly, you should draft your slides and discussion questions on your own. If you need help understanding part of a case study or need a “discussion partner” to think something through, you may use generative AI, although I’d recommend starting with the classmate you’re presenting with!
We will discuss our AI policy for project work as a class; regardless of the policy we agree on, I expect you to take responsibility and ownership over the code produced for your project.
Credits
This syllabus is adapted from Philip Caplan’s offerings of CSCI 701.
Footnotes
Please talk to me beforehand if you need to schedule more than one meeting per week!↩︎
There will be one group of 3 depending on the class size↩︎
There are 36 class sessions in the semester.↩︎
These will be due almost weekly. The exact schedule is dependent on the presentation schedule, which will be finalized after add-drop!↩︎
Reflections often include feedback on the most recent case study presentation. You may miss giving feedback on one presentation at the A-level.↩︎