Syllabus Highlights
CS 351: Algorithms - Fall 2025
👋 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:
- Design & Analyze algorithms using major paradigms
- Implement advanced data structures
- Solve complex graph problems
- Analyze computational complexity
- Prove algorithm correctness
- Select appropriate algorithmic approaches
- Apply algorithms to real-world problems
- 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
- Divide-and-Conquer Project
- Recursive algorithms and mergesort
- Performance visualization
- Dynamic Programming Project
- Complex DP implementations
- Edit distance, knapsack variations
- 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