Schedule

Weekly Schedule

Additional Details

High-Level Overview

Schedule Details

Week-by-Week Highlights

  • Basics:
    • Start Semester: Week One
    • Spring Break: Week Eight
    • Refresh Break: Week Thirteen
    • End Semester: Week Sixteen
  • Examinations:
    • Midterm Exam One: Week Seven
    • Midterm Exam Two: Week Twelve
    • Final Exam: Week Sixteen
  • Skill-Checks:
    • Skill-Check One: Week Two
    • Skill-Check Two: Week Four
    • Skill-Check Three: Week Ten
    • Skill-Check Four: Week Fifteen
  • Algorithm All-Hands Projects:
    • Project One: Weeks One through Six
    • Project Two: Weeks Seven through Eleven
    • Project Three: Weeks Twelve through Sixteen

Important Dates

  • Midterm Executable Examination One
    • Date: February 28, 2025
    • Time: 2:30 – 4:00 PM
    • Location: Alden 109
  • Midterm Executable Examination Two
    • Date: April 4, 2025
    • Time: 2:30 – 4:00 PM
    • Location: Alden 109
  • Final Executable Examination
    • Examination Code: D
    • Date: May 2, 2025
    • Time: 9:00 AM – 12:00 Noon
    • Location: Alden 109

Weekly Cadence

  • Tuesday and Thursday: Algorithm Analysis Exposition
    • Introduction to scientific, technical, and engineering topics:
      • Data structures and algorithms
      • Performance evaluation techniques
      • Software engineering best practices
      • Prepare for these projects:
        • Algorithm engineering project
        • Algorithm all-hands project
      • Prepare for these assessments:
        • Midterm examination
        • Final examination
        • Skill-checks
  • Thursday and Friday: Algorithm All-Hands Projects
    • Cadence: Two weeks devoted to phase one, two weeks for phase two, and finally one week for phase three. Complete these tasks during the second halves of Thursday’s classroom session and Friday’s laboratory session.
    • Phase One: Building on the course’s prior scientific and engineering content, prepare a research question and design an experiment to answer it
      • Goal: Scientific study in algorithmology
        • Propose research question connect to current module
        • Specify evaluation metrics used to answer research question
        • Design an experiment to measure evaluation metrics
        • Assign tasks for the remaining phases of the project
    • Phase Two: Leveraging prior work, implement all needed software tools and apply them when conducting the experiment designed in the prior phase
      • Goal: Engineering effort in algorithmology
        • Identify useful function(s) for refinement
        • Explain steps for improving the function(s)
        • Create a pull request and follow it through review
        • Give an overview of the completed function(s)
        • Give a demonstration of a command-line tool using the function(s)
    • Phase Three: Leveraging prior work, answer the research question
      • Goal: Effective communication in algorithmology
        • Analyze and interpret the results
        • Create a web-based report to present and discuss the results
        • Collaboratively publish the report to the course web site
        • Present the report and participate in a discussion session
        • Provide thorough answer(s) to the chosen research question
  • Friday: Algorithm Engineering Project
    • Week One: Design, implement, test, and document software tools
      • Data structure(s) and algorithm(s)
      • Benchmark evaluation framework
      • Data analysis and visualization tools
    • Week Two: Design, conduct, and report on 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: Skill-Checks and Executable Examinations
    • Skill-Check: Completed during the last 45-minutes of the laboratory session
    • Examination: Completed during the entire laboratory session
Back to top