Shelby Kimmel
she/her
Associate Professor of Computer Science
- Office
- 75 Shannon 210
- Tel
- (802) 443-5832
- skimmel@middlebury.edu
- Office Hours
- F24: Mon 2:30-3:30, Thurs 3:30-4:30, Fri 11-12
Courses Taught
CSCI 0200
Upcoming
Math Foundations of Computing
Course Description
Mathematical Foundations of Computing
In this course we will provide an introduction to the mathematical foundations of computer science, with an emphasis on formal reasoning. Topics will include propositional and predicate logic, sets, functions, and relations; basic number theory; mathematical induction and other proof methods; combinatorics, probability, and recurrence relations; graph theory; and models of computation. (CSCI 0145 or CSCI 0146 or CSCI 0150) (Juniors and Seniors by waiver) 3 hrs. lect./lab
Terms Taught
Requirements
CSCI 0302
Current
Algorithms and Complexity
Course Description
Algorithms and Complexity
This course focuses on the development of correct and efficient algorithmic solutions to computational problems, on the underlying data structures to support these algorithms, and on the social implications of algorithms. Topics include computational complexity, analysis of algorithms, proof of algorithm correctness, some advanced data structures, algorithmic techniques including greedy and dynamic programming, and the consequences of real-world applications of algorithms. The course complements the treatment of NP-completeness in CSCI 0301. (CSCI 0200 and CSCI 0201) 3 hrs. lect./disc.
Terms Taught
Requirements
CSCI 0333
Current
Quantum Computing
Course Description
Quantum Computing
In this course we will explore how quantum mechanics can be applied to problems in communications, algorithms, detection, and cryptography. We will learn how features such as entanglement, superposition, and no-cloning can sometimes give quantum systems an advantage over standard “classical” computers. We will also discuss the current situation and challenges facing experimental quantum computers, as well as the limits of quantum computing. No previous experience with quantum mechanics is required. (MATH 0200 or CSCI 0200) 3 hrs lect./disc.
Terms Taught
Requirements
CSCI 0401
Computational Complexity
Course Description
Computational Complexity
We will investigate the computational power of various resources. Examples include determining whether a computer with limited time or limited space can solve more difficult problems, attempting to characterize creativity as a resource, and comparing probabilistic and quantum computation. We will learn why we do not yet have answers to many of the most fundamental questions in computational complexity (like whether P=NP), and we will think critically about the value of studying these topics. Students enrolled in the College Writing (CW) section of the course will explore these ideas through writing, in particular, in three contexts that are critical for theoretical computer science: the proof (expert audience), the review paper (non-expert computer science audience), and the popular science article (educated public audience). (CSCI 0301).3 hrs. sem./1 hr. disc.
Terms Taught
Requirements
CSCI 0500
Current
Upcoming
Advanced Study
Course Description
Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.
Terms Taught
CSCI 0702
Senior Thesis
Course Description
Senior Thesis
The senior thesis is recommended for students interested in pursuing graduate study in Computer Science. Students will spend the semester researching and writing, and developing and experimenting as appropriate for their topic. All students will be expected to report on their work in the form of a written thesis, a poster, and an oral presentation at the end of the semester. In addition, throughout the semester, students will meet as a group to discuss research and writing, and will be expected to attend talks in the Computer Science lecture series. Before approval to join the class is granted, students are expected to have chosen a thesis adviser from the CSCI faculty, and determined a thesis topic with the guidance and approval of that adviser. (Approval required) 3 hrs. lect./disc.
Terms Taught
CSCI 1012
Bias, Belonging, Power in Tech
Course Description
Bias, Belonging, and Power in Technology
Algorithms and big data are informing increasingly important decisions, from hiring to setting bail. While we like to think that computers act objectively, in this class we will examine how technology reflects and often reinforces the biases and power structures of the culture that creates it. Since technology is a reflection of the society that creates it, we will also learn about who has been historically welcomed to or excluded from the spaces where computing technology is made. The course will involve reading, discussion, written reflections, an oral presentation, as well as a coding project that creatively engages with the course topics. (One CSCI course at the 0100-level)
Terms Taught
Requirements
FYSE 1055
Transforming Traditions
Course Description
Transforming Traditions
How do traditions transform when they expand beyond the time and place of their origin? In considering this question, we will interrogate the value of authenticity and preservation, and we will examine the impacts of bringing new perspectives to existing practices. Course material (readings, videos, and recordings) will focus on artistic practices that originated in Korea, and in particular, we will study and learn to play a percussion genre, samulnori. However, students will also draw on their own traditions, interests, and experiences for discussions and assignments. No prior musical experience is needed; a willingness to bang vigorously on drums in a group is helpful.
Terms Taught
Requirements