Algorithm II


0. Course info


WU Xiaokun 吴晓堃

Course info

Computer Science - UG3/G
Course Algorithm
Term 2021H
Final Tba
Credits 2
Staff WU Xiaokun 吴晓堃
Lecture 32 hours

Short Intro

The objective of this course is to provide a complete introduction to algorithm design and complexity analysis techniques.

Topics overview

  • Basic concepts recap: tractability, asymptotic order, graphs.
  • Major algorithm design techniques: greedy algorithms, divide and conquer, dynamic programming, network flow.
  • Computational intractability: \mathcal{NP}, NP-Complete, PSPACE.
  • Dealing with intractable problems: identification of structured special cases, approximation algorithms, local search heuristics.
  • Randomized algorithms.

Prerequisites

Required

  • Sufficient programming experience.
  • Comfortable with mathematical proofs.

Recommended

  • Knowledge in computer science fundamentals: data structure, operating system, computer architecture, etc.
  • As much knowledge of mathematics as possible.
  • Insights in your own specific area of study.

Short survey: background statistics.

Evaluation

Evaluation guideline

  • Attendance & participation: 20%
  • Understanding of the topic: 40%
  • Final project: 40%
  • Honorable bonus: 10%

Presentation

Read the textbook on your own, then present the topic during our meetings.

  • Greedy Algorithms
  • Divide and conquer
  • Dynamic Programming
  • Network Flow

By the end of this course: read through the whole textbook.

  • Guided independent study.

Topics beyond the textbook are also welcomed.

Why you are asked to present?

  • It’s a proved best way of learning,
    • if you are motivated and disciplined.
    • Difficult problems can be discussed during the seminar.
  • It’s required by the Graduate Training Program.
    • You have to demonstrate the skill of independent study.

Evaluation criterion

  • Attendance & participation: 20%
  • Understanding of the topic: 40%
    • Presenting skill: 20%
      • Questions to the audience.
      • Questions to the presenter.
    • Assignments: 20%
  • Final project: 40%
    • Write an two-page essay of any topic related to your research.
  • Honorable bonus (mutual exclusive options, only admissive if you got at least 90% already): 10%
    • Creative solution including analysis to your own research topic.

Assignments

Solve problems on LeetCode (leetcode.com)

  • 4 basic design approaches
  • Design, implementation, analysis

Final Project

A short essay about your own research topic.

  • Design, implementation, analysis

Resources

  • It’s possible to find PDF files from the web for all textbooks listed above.
  • [Lecture Slides for Algorithm Design]1
  • [Lecture Slides for Algorithm]2
  • [LeetCode]3
  • [Course site]4

Questions?


  1. https://www.cs.princeton.edu/~wayne/kleinberg-tardos/↩︎

  2. https://algs4.cs.princeton.edu/home/↩︎

  3. https://leetcode.com/↩︎

  4. https://xkunwu.github.io/teach/Algorithm/2022H.html↩︎