Schedule
Weekly Schedule
No matching items
Additional Details
High-Level Overview
- Module One:
- Topic: Algorithm Analysis Foundations
- Weeks: One through six
- Chapters: One through five in A First Course on Data Structures in Python
- Module Two:
- Topic: Algorithmic Building Blocks
- Weeks: Seven through eleven
- Chapters: Six through fourteen in A First Course on Data Structures in Python
- Module Three:
- Topic: Advanced Data Structures
- Weeks: Twelve through sixteen
- Chapters: Fifteen through twenty-one in A First Course on Data Structures in Python
Schedule Details
Week-by-Week
- Start Semester: Week One
- Spring Break: Week Eight
- Midterm Exam: Week Nine
- Final Exam: Week Sixteen
Important Dates
- Midterm Executable Examination
- Date: March 14, 2024
- Time: 2:30 – 4:30 PM
- Location: Alden 109
- Final Executable Examination
- Examination Code: A
- Date: May 2, 2024
- Time: 9:00 AM – 12:00 Noon
- Location: Alden 109
Weekly Cadence
Monday and Wednesday: Algorithm Analysis Exposition - Introduction to scientific, technical, and engineering topics:
- Data structures and algorithms
- Performance evaluation techniques
- Software engineering best practices
- Prepare for an algorithm engineering project
- Introduction to scientific, technical, and engineering topics:
Thursday: Algorithm Engineering Project - Week One: Design, implement, test, document, and maintain
- Data structure(s) and algorithm(s)
- Benchmark evaluation framework
- Data analysis and visualization tools
- Week Two: Design and conduct an experiment
- Demonstrate implementation of completed system
- Document the experimental design
- Pose research question(s)
- Define evaluation metrics
- Conduct the experiment
- Analyze and interpret the results
- Draw conclusions and make recommendations
- Week One: Design, implement, test, document, and maintain
Friday: Algorithm All-Hands Session - Cadence: Two weeks devoted to task one and then two weeks for task two
- Task One: Leveraging prior work, suggest a research question
- Goal: Scientific study in algorithmology
- Current Week: Come to class with a proposed research question
- Design and conduct an experiment
- Analyze and interpret the results
- Create a web-based slide deck to present the results
- Following Week:
- Present the slides published to the course web site
- Explain answer(s) to the research question
- Task Two: Leveraging prior work, release useful function(s)
- Goal: Engineering effort in algorithmology
- Current Week: Come to class with a proposed function for implementation
- Identify useful function(s) for refinement
- Explain steps for improving the function(s)
- Create a pull request and follow it through review
- Following Week:
- Give an overview of the completed function(s)
- Give a demonstration of a command-line tool using the function(s)