- About
- Events
- Calendar
- Graduation Information
- Cornell Learning Machines Seminar
- Student Colloquium
- BOOM
- Spring 2025 Colloquium
- Conway-Walker Lecture Series
- Salton 2024 Lecture Series
- Seminars / Lectures
- Big Red Hacks
- Cornell University / Cornell Tech - High School Programming Workshop and Contest 2025
- Game Design Initiative
- CSMore: The Rising Sophomore Summer Program in Computer Science
- Explore CS Research
- ACSU Research Night
- Cornell Junior Theorists' Workshop 2024
- People
- Courses
- Research
- Undergraduate
- M Eng
- MS
- PhD
- Admissions
- Current Students
- Computer Science Graduate Office Hours
- Advising Guide for Research Students
- Business Card Policy
- Cornell Tech
- Curricular Practical Training
- A & B Exam Scheduling Guidelines
- Fellowship Opportunities
- Field of Computer Science Ph.D. Student Handbook
- Graduate TA Handbook
- Field A Exam Summary Form
- Graduate School Forms
- Instructor / TA Application
- Ph.D. Requirements
- Ph.D. Student Financial Support
- Special Committee Selection
- Travel Funding Opportunities
- Travel Reimbursement Guide
- The Outside Minor Requirement
- Diversity and Inclusion
- Graduation Information
- CS Graduate Minor
- Outreach Opportunities
- Parental Accommodation Policy
- Special Masters
- Student Spotlights
- Contact PhD Office
Abstract
Sorting algorithms are frequently taught in data structures courses to expose students to algorithmic thinking and asymptotic complexity. In this lecture, we will introduce the selection sort algorithm. As we implement selection sort, we will use program annotations (contracts) to define and reason about the correctness of our code. Time permitting, we will formally prove the correctness of our selection sort implementation. We will also review big-O notation to determine its running time.
Biography
Hannah (Anna) Gommerstadt is a PhD candidate in the Computer Science Department at Carnegie Mellon University where she works with Frank Pfenning and Limin Jia. Her research interests are at the intersection of programming languages and security especially the use of language-based and logic-based methods to provide formal security guarantees. Her current work focuses on dynamic monitoring and contract enforcement in a concurrent setting. She obtained her B.A. in Computer Science and Mathematics from Harvard University.