Syllabus



Logistics

Time and Location
Tu/Th 9:35 am-10:50 am EDT
Zoom Class Link
Faculty Info
Shelby Kimmel
Please call me "Professor Kimmel" or "Professor"
Pronouns: she/her
Office: 75 Shannon, Room 210 (but I will not be holding any in-person meetings here)
skimmel [at] middlebury (dot) edu
Office Hours
Location: Zoom Office Hours Link
  • Drop-in: Wed: 9:30-10:00 am, 11-12 am, Thurs: 3-4 pm , 9-9:30pm.
  • Individual Appointment: go/KimmelHours. (Use office hours Zoom link, not google hangouts link.)
  • If these options don't work, please send me an e-mail.
Communication
  • I will e-mail you for urgent matters.
  • You can always e-mail me, but I will not answer problem set questions via e-mail, except for logistical or typo questions. Instead, come to office hours or schedule an appointment.
  • I will keep the Calendar up-to-date with assignments and lecture notes.
Peer Tutors
CS Tutoring Site: Sundays 7-9 ET, Zoom Link
OneNote
OneNote
Canvas Site
Canvas Site
Department Wiki
Department Wiki

Learning Goals


Environment

It is important to me to create an inclusive learning environment where diversity and individual differences are respected and recognized as a source of strength. However, this is by nature a team effort, and I expect you to join me in fostering such an environment.

You deserve a learning environment free of comments or assumptions that are based on race, ethnicity, national origin, accent, religion, sexual orientation, gender identity/expression, body size/type, disability, socioeconomic status, age, or any other part of your identity or perceived identity. I am continually working to recognize and unlearn my own biases and to keep them from causing harm. I expect you to do the same, and to be willing to have a dialog about these biases as needed.

If you experience or witness any behavior that opposes the creation of an inclusive learning space, it would be helpful for me to know so that I can address it, but I recognize that this is additional work that may be difficult. If you are comfortable reporting such incidents, there are a few ways you can do so:

You belong in this class and in the computer science department. Thank you for being here and for contributing to this course.

Office Hours

Office hours are a time for you to come and talk to me. For drop-in hours, you do not need to have an appointment - just join the zoom call. During office hours, you can ask me for help related to the course or assignments, or we can chat about how the course is relating to your life more broadly, or we can discuss anything else you want to talk about. You do not have to have a question to come to office hours - you can just pop-in for a quick hello, or listen to other students' questions. Here are some suggestions for what to talk about at office hours if you don't know where to start, or would like to expand your office hours conversations. If you have a conflict with a drop-in session, or if you have something you want to discuss privately, you can schedule an appointment at go/KimmelHours, or e-mail me with alternative times in order to set up an appointment. I look forward to meeting with you!

Names/Pronouns

I will use the name you go by, and pronouns if used, and I expect you to use the names and pronouns your classmates go by.

Academic Accommodations

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. Please contact ADA Coordinators Jodi Litchfield and Peter Ploegman in the DRC at ada@middlebury.edu for more information. All discussions will remain confidential.

Laptop Loaner Program

If you ever find yourself temporarily in need of a laptop, the Computer Science department has 10 rotating Dell laptops available to our students. These come pre-installed with software for most of the courses in the major. They are available to be loaned out short-term or long-term based on your need (as determined by you). Feel free to ask your professor ahead of time if you think you need one for just a class period, or you can send an e-mail to rlichenstein [at] middlebury.edu directly.

On Long-Term Use: College policy has changed recently to include the expectation that every student have a laptop available. The college provides laptops to those who need them where “need” is based on Student Financial Services calculations. If you anticipate needing a laptop for the whole term, we encourage you to inquire with Student Financial Services and the library first due to our smaller pool of equipment. However, our department commits to meeting the needs of every student, so do not be afraid to reach out if you believe you need one of our laptops for any length of time.

Title IX

You deserve a community free from discrimination, sexual harassment, sexual assault, domestic violence, dating violence, and stalking. If you experience or know of a Title IX violation, you have many options for confidential support and/or to report your experience. At go/titleIX you can read more about how to get help and support. Note that I am a mandatory (non-confidential) reporter.


Learning

Learning happens when you develop new neural pathways. You do this by repeatedly practicing new skills. This takes time, patience, and perseverance. My role is to facilitate your learning by providing guided practice with feedback, and to help you structure the pace of your learning.

Based on your past learning experiences, you may already have the neural pathways in place to quickly learn certain topics, while you may have to work harder on others. This has nothing to do with your ability to learn this material. You all have the capacity, with sufficient practice, to rewire your brains to become experts in this subject.


Honor Code

All work you turn in should be your own, but collaboration is encouraged. Please adhere to the following guidelines:


(un)Grading

You will not receive grades for any assignments. Instead, I will provide you with written feedback and assessment and opportunities to self-evaluate and revise your work. I'm taking this approach in order to remove the extrinsic motivator of grades, which have been consistently shown to hamper learning, and which are frequently inequitable.

At the beginning of the semester, you will create an individual learning plan that includes your own goals in addition to mine. You will propose a final grade to me based on a portfolio of your work that demonstrates your achievement towards these goals the semester. While I reserve the right to reject the grade you propose, I trust you that you will engage thoughtfully in this process, and I do not anticipate having to reject your proposals. I will do my best to help you achieve those goals - including modifying aspects of the course in order to help you to be successful.

As this is a 300-level elective, the expectations for the amount and sophistication of the work you complete is high. In exchange for your hard work, I will do my utmost to help each of you achieve your learning goals, and to be transparent about expectations for learning throughout the semester.


Class Participation

Your engagement in class periods will directly affect your learning. If you become distracted, whether through digital devices or analog daydreams, it not only affects your learning but hampers the learning of those around you; it can distract them, or it can make you unprepared to engage with your group. If your behavior is disruptive or distracting to the learning of your peers, I will give you a warning. If it continues, I will ask you to leave.

Group Problem Solving

Problem solving in groups helps you to learn. Explaining your thoughts solidifies your thinking, and hearing other people's perspectives broadens your conceptions. Additionally, working with other students will help you to build a community within the computer science department. Finally, practicing working in groups will help you to become a better team member no matter what you do after Middlebury.

Here are some ideas to participate productively in group work:

Note that I generally only give you enough time to brainstorm and test a few approaches rather than fully solve a problem, so don't get discouraged if you are not fully able to complete the prompt.

Attendance

Your being in class helps your classmates to learn, just like their presence will help you to learn. If you will miss a class, please let me know as early as possible so that I can provide a good learning environment for your groupmates; you are still responsible for learning the missed material.

Exit Tickets

After each class, you should (within 24 hours) fill out an exit ticket on the course notes with one question or comment you have from the day's class. In order to provide you with the best learning experience possible, I need to know what I have not yet explained well enough. The next class I will fill in any gaps in my explanations.

Choose Your Own Adventure Participation

In your learning plan, you should lay out additional goals for participation in the class. Here are some ideas:

Problem Sets

One of the main ways you will learn this material is by working on problem sets. The problem sets provide you with opportunities to practice problem solving, to make mistakes, to build new neural connections, and to self-assess your learning. Many of the concepts in this class will not truly sink in until you try to solve a problem that applies those concepts. I expect you to understand the material at a level that you can independently solve problems and write proofs related to complexity classes.

Each problem set has 3 parts, which are submitted through Canvas:

If you want additional practice beyond the problem set, see these resources for additional problems.

Reflection

Approximately every two weeks, you will reflect on the progress you have made towards your learning goals, and think critically about which of your learning strategies are working well, and where you can improve. This type of meta-thinking about your learning will make you a better learner and will help you to work productively towards achieving your goals. The reflections are submitted through OneNoteSee intructions. I will give feedback on your reflections providing suggestions and encouragement.


Assessments

Weekly Assessments

There will be a weekly quiz for you and me to assess your learning. Quizzes will usually be one problem similar to problems on the most recent completed problem set. Quizzes will be taken through Canvas. All quizzes must be completed individually but are open personal notes and course notes. (Not open internet.)

I will give you feedback on your quiz responses. You are expected to revise your quizzes until you have sufficiently demonstrated an understanding of the material, if you do not succeed in your first attempt. You can retake quizzes an unlimited number of times, although in practice it usually only requires one retake, and occasionally more. I encourage you to discuss any questions about the material with me, and you are also welcome to discuss big picture ideas with classmates if you have both previously attempted the quiz. However, the quiz should always be taken on your own and your responses should be your own.

Major Assessments

There will be a self-scheduled midterm assessment and end-of-term exam. Both exams should be completed individually on Canvas, but are open personal notes and course notes. (Not open internet.) Like quizzes, you can revise both assessments to demonstrate learning that you might not have demonstrated in the first attempt.


Late Submissions

All assigned work will have deadlines. These are for your benefit to keep you on track to acheive the level of learning I (and hopefully you!) expect in this course. Given that there are no grades, all of these deadlines are necessarily soft/suggested. However, if you do not keep up with these deadlines, you will make it increasingly difficult for yourself to learn all of the material.


Texts

I have not thoroughly vetted the following, but from what I have seen or heard from students, they seem good. If any are particularly helpful or particularly bad, please let me know.

Complex Numbers

Linear Algebra

Quantum Jupyter content/tutorials

Learning Quantum Computing with a Programming Language

Lecture Notes

E-Books from Library

Topic Location(s)
Single Qubits, Cryptography
  • GI 2
  • FI 1
  • GCE 2, 11 (from page 243)
Multiple Qubits (tensors product and entanglement)
  • GI 3
  • GCE 4
Teleportation
  • GI 5.3.2
  • FI 6.4
  • GCE from page 226
Quantum Gates and Circuits
  • GI 5.1,5.2,5.6
  • FI 3.1,3.2.1
  • GCE 8
Deutsch's Algorithm
  • GI 7.3
  • FI 3.2.2
  • GCE from page 203
Period Finding Algorithm
  • GI 8
  • FI 4.3.2
Search
  • GI 9.1
  • FI 4.4
  • GCE from page 218
Quantum Error Correction
  • GI 11.1
  • GCE from page 272
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.