Profile of <span>Shelby Hess</span>
Office
75 Shannon 210
Tel
(802) 443-5832
Email
skimmel@middlebury.edu
Office Hours
On Leave 2022-23

Courses Taught

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 0150) (Juniors and Seniors by waiver) 3 hrs. lect./lab

Terms Taught

Spring 2019, Fall 2019

Requirements

DED

View in Course Catalog

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

Spring 2019, Spring 2020, Spring 2021, Spring 2022

Requirements

DED

View in Course Catalog

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) 3 hrs lect./disc.

Terms Taught

Fall 2019, Spring 2021

Requirements

DED

View in Course Catalog

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

Fall 2020, Spring 2022

Requirements

CW, DED

View in Course Catalog

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

Fall 2018, Winter 2019, Spring 2019, Fall 2019, Winter 2020, Spring 2020, Fall 2020, Winter 2021, Spring 2021, Fall 2021, Winter 2022, Spring 2022, Fall 2022, Winter 2023, Spring 2023

View in Course Catalog

Course Description

Senior Seminar
This senior seminar provides a capstone experience for computer science majors at Middlebury College. Through lectures, readings, and a series of two to three week individual and group assignments, we will introduce important concepts in research and experimental methods in computation. Examples will include: reading research papers; identifying research problems; dealing with big data; experimental design, testing and analysis; and technical writing in computer science. (Approval only).

Terms Taught

Spring 2023

View in Course Catalog

Course Description

Senior Thesis
The senior thesis is required for all CSCI majors who wish to be considered for high and highest departmental honors, and 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. (CSCI 0701 and approval required) 3 hrs. lect./disc.

Terms Taught

Fall 2019, Spring 2020, Fall 2020

View in Course Catalog

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

Winter 2021

Requirements

SOC, WTR

View in Course Catalog