Active participation is essential for success in this course. Students are expected to attend all classes, contribute to discussions, and engage in collaborative activities. This includes asking questions, sharing insights, and working effectively during in-class exercises or group work.
Constructive engagement allows students to deepen their understanding of the material, learn from their peers, and build essential problem-solving and communication skills that will be valuable in future coursework and careers.
Graduate students will take on leadership roles during team-based projects, mentoring undergraduate teammates, facilitating collaboration, and managing project milestones. This experience is designed to enhance both their understanding of the material and their ability to communicate and guide others effectively, which are essential skills for advanced study and professional growth.
Homework assignments are a critical component of the course. They are designed to reinforce the concepts covered in lectures and provide hands-on experience using Lean. Assignments will include a mix of logical proofs, programming tasks, and conceptual exercises. Solutions must be submitted on time and will be graded for clarity and correctness. Collaboration is encouraged, but each student must submit their own work.
In addition to the core problems assigned to all students, graduate students will tackle advanced exercises that require a deeper understanding of the material and the ability to explore alternative approaches.
Projects are a significant component of the course, giving students the opportunity to apply their knowledge to formalize and verify mathematical or computational concepts in Lean. These projects will build problem-solving skills, encourage creativity, and allow students to explore the potential of interactive theorem proving. Both the midterm and final projects will be evaluated based on technical accuracy, clarity of exposition, creativity, and teamwork.
Students will work in small groups to formalize a specific problem or proof in Lean. The midterm project will focus on a foundational topic, with structured guidance provided to ensure students develop proficiency in key skills.
Graduate students will take responsibility for guiding a group through each stage of the process. This includes helping the team evaluate the provided problems, select one to work on, and translate it intro Lean code. Graduate students will organize the development of the proof, ensuring all necessary definitions, lemmas, and arguments are included. They will provide technical guidance, troubleshoot challenges, and ensure that all group members contribute equitably. Additionally, they are responsible for managing milestones and ensuring the submission of a polished, well-documented Lean file.
Subsubsection3.3.2Final Project Topic Proposal and Selection
Graduate students are responsible for researching and proposing a final project topic, which must involve advanced applications of interactive theorem proving. The proposal should outline a relevant, feasible, and impactful project topic, incorporating instructor feedback to refine ideas.
The final project will allow students to choose from a list of complex problems that align with their interests and demonstrates their mastery of course material. Projects will require students to design and implement creative solutions, formalize their work in Lean, and present their work to the class.
Graduate students will be responsible for assembling a team to executing the project, ensuring collaboration and effective contributions from all members. Team leaders are responsible for ensuring completion of a comprehensive Lean formalization, and a detailed write-up and presentation explaining the problem, approach, and broader implications of the work.
Quizzes will be administered periodically to assess understanding of key concepts and ensure students are keeping up with the material. These will be short, focused assessments designed to reinforce learning and identify areas for improvement. Quizzes may include logical proofs, questions about Lean syntax, or problem-solving tasks. They are an opportunity to practice applying course concepts and receive feedback on your progress.