Welcome to CSE 417 (Autumn 2025)
Official Course Title: Algorithms and Computational Complexity
Primary Instructors: Nathan Brunelle and Glenn Sun
Course Goals
CSE 417 is an introduction to algorithms. By the end of this course, you will be able to:
- Discuss how and why certain foundational algorithms work.
- Design algorithms for new problems using a variety of algorithm-design paradigms.
- Mathematically prove that your algorithm produces the correct answer.
- Model word problems computationally and consider the implications of modeling decisions in the real world.
Eligibility
You should take this course only if
- You have credit for CSE 373 or equivalent
- You are NOT a CSE major
This website |
Main location of public course content: syllabus, schedule, readings, homework descriptions, etc. |
Canvas |
Main location of private course content: homework submissions, lecture recordings, sample solutions, etc. |
Ed Discussion Board |
Questions and discussion with staff and other students |
Gradescope |
Used for submitting programming assignments only |
Tips for success in this course
In this course, you will learn some particular noteworthy and widely-used algorithms, as well as learn and apply techniques to develop your own algorithms to solve new problems. This will be at times uncomfortable and frustrating, so we have a few suggestions for how to navigate this:
- If something is not clear, ask. In lecture, other people probably have the same question. On homework and exams, our intent is never to ask trick questions, so ask on Ed for clarification.
- Reason carefully and precisely. Although we won’t purposefully mislead you, we may ask questions that are designed to expose flawed intuition or a common misconception. Reason step-by-step, and avoid
intuitive
statements that are actually logical leaps.
- Use techniques from lecture in your homework. Homework problems will always use techniques recently covered in lecture. Also note that most homework will be about reinforcing techniques from lecture, not specific algorithms or examples.