Schedule

Weekly Schedule

Additional Details

High-Level Overview

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
  • 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
  • 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)
Back to top