Syllabus Highlights

CS 351: Algorithms - Fall 2025

Lucas P. Cordova, Ph.D.

2025-08-25

Alternative Formats

👋 Welcome to CS 351: Algorithms!

Course Information

  • Meeting Time: MWF 10:20 - 11:20 AM
  • Location: Smullin B17
  • Instructor: Lucas Cordova
  • Embedded TA: Sam Holmes

Course Overview

What We’ll Study

  • Advanced algorithm design paradigms
  • Complexity analysis and Big-O notation
  • Graph algorithms and network flows
  • Dynamic programming techniques
  • Computational complexity theory (P vs NP)
  • Critical evaluation of AI-generated solutions

Learning Outcomes

By Course End, You Will:

  1. Design & Analyze algorithms using major paradigms
  2. Implement advanced data structures
  3. Solve complex graph problems
  4. Analyze computational complexity
  5. Prove algorithm correctness
  6. Select appropriate algorithmic approaches
  7. Apply algorithms to real-world problems
  8. Evaluate AI-generated solutions critically

Course Materials

Required Resources

  • Primary Text: Algorithms Illuminated (Omnibus Edition)
    • Author: Tim Roughgarden
    • Available at: algorithmsilluminated.org
  • Canvas: All course materials and assignments
  • Hardware: Laptop required for in-class activities

Assessment Structure

Grade Distribution

Component Weight
Attendance, Participation, Quizzes 15%
Homework Assignments (~10) 25%
Programming Projects (3) 30%
Student Contributed Lecture 10%
Midterm Exam 10%
Final Exam 10%

Programming Projects

Three Major Projects

  1. Divide-and-Conquer Project
    • Recursive algorithms and mergesort
    • Performance visualization
  2. Dynamic Programming Project
    • Complex DP implementations
    • Edit distance, knapsack variations
  3. Graph Algorithms Project
    • Network flow modeling
    • Real-world scenario implementation

Student Contributed Lecture

Your Teaching Opportunity

  • Work in groups of 3
  • Research and present on chosen algorithm topic
  • Lead class discussion
  • Develop presentation and teaching skills
  • Scheduled during weeks 13-15

Important Dates

Mark Your Calendars

  • First Day: Monday, August 25, 2025
  • Midterm Exam: October 22, 2025 (Week 9)
  • Thanksgiving Break: November 26-28, 2025
  • Last Day of Classes: December 3, 2025
  • Final Exam: December 9, 2025, 8:00-11:00 AM

Course Schedule Overview

Weekly Topics Flow

  • Weeks 1-2: Fundamentals & Big-O
  • Weeks 3-4: Divide-and-Conquer, Sorting
  • Weeks 5-7: Graph Algorithms, Greedy Methods
  • Weeks 8-9: Dynamic Programming, MIDTERM
  • Weeks 10-11: Network Flows
  • Weeks 12-13: Complexity Theory, NP-Completeness
  • Weeks 14-15: Student Lectures & Review

Office Hours

Getting Help

Professor Office Hours

  • Monday: 1:15 - 2:15 PM
  • Tuesday: 10:00 - 11:00 AM
  • Wednesday: 1:15 - 2:15 PM
  • Thursday: 10:00 - 11:00 AM
  • Location: Ford 210
  • Appointments: 15-minute slots available

TA: Sam Holmes

  • Email: srholmes@willamette.edu
  • Office hours: TBD

Course Policies

Attendance & Participation

  • Attendance is essential - tracked through activities
  • Participation activities cannot be made up
  • Notify instructor ASAP for emergencies

Late Work Policy

  • Homework: 3 late tokens for semester (use wisely!)
  • Projects: -10% per day, max 5 days late
  • Participation: No makeups

Academic Integrity

Allowed Collaboration ✓

  • Discussing problem-solving strategies
  • Sharing conceptual insights
  • Debugging approaches
  • Understanding course concepts together

Prohibited Actions ✗

  • Copying code or solutions
  • Sharing your code with others
  • Using solutions from previous semesters
  • Submitting AI-generated code without modification/disclosure

Grading Scale

Letter Grade Thresholds

Grade Range Grade Range
A ≥ 92.00 C 72.00-77.99
A- 90.00-91.99 C- 70.00-71.99
B+ 88.00-89.99 D+ 68.00-69.99
B 82.00-87.99 D 62.00-67.99
B- 80.00-81.99 D- 60.00-61.99
F ≤ 59.99

Support Resources

Academic Support

  • SOAR Center: Free food, clothing, textbooks (PUC 3rd floor)
  • Tutoring Services: Academic Resource Center
  • IT Support: Software and hardware assistance
  • Accessible Education Services: Matthews 103

Time Commitment

  • Expect 6-9 hours per week outside class
  • Reading, homework, projects, exam prep
  • Consistent effort required!

Creating an Inclusive Environment

Our Classroom Community

  • Affirmed names and pronouns respected
  • Diverse perspectives welcomed
  • Collaborative learning encouraged
  • Questions always welcome
  • Mistakes are learning opportunities

Accessibility

  • Contact AES for accommodations
  • Talk to me about any concerns
  • We’ll work together for your success

Ready to Master Algorithms?

Key Takeaways

  • Algorithms are fundamental to CS
  • Theory meets practice in this course
  • Active participation is crucial
  • Multiple support resources available
  • AI evaluation skills are now essential

Questions?

Let’s have a great semester exploring the fascinating world of algorithms!

Next Topic: Introduction to Algorithm Analysis & Big-O Notation

Reading: Chapters 1-2 in Algorithms Illuminated