CSCI3270 Advanced Programming Laboratory — Fall 2022

News

Information

Lectures
Thu 2:30-4:15pm SHB 102
Live Zoom lectures: 989 9353 8881
(CUHK-authenticated Zoom account required)
Prerequisites
Having solved 100 problems in programming contests or online judges
Instructor
Siu On CHAN Office hours: Mon 2:30-4:30pm
Teaching assistant
Bohao PENG bhpeng22@cse
Online judges
Forum
Please sign up on Piazza
Grading
30% homeworks, 40% presentations, 30% finals (mini-competition)

Topics

This course is seminar-based. Lectures consist of students’ 45-min presentations on the following topics that frequently appear in programming contests. Students’ grades are based in part on their presentations. Presenters are also expected to suggest 1-2 related problems on online judges that will serve as exercises or homework problems.

Grading rubrics for presentations (when normalized to 100%):

Lectures

Tentative schedule
Date Topic
1 Sep 8 Introduction & mini-competition (Courtesy of Hiu Tsun Ng)
2 Sep 15 Bohao Peng: AC automaton
3 Sep 22 Kelvin Chow: Graph algorithms
4 Sep 29 Ethen Yuen: Number theory
5 Oct 6 Thomas O: Group and counting
6 Oct 13 Gabriel Liu: Suffix automaton
7 Oct 20 Fuzen Ng: Alien trick
Thomas O: Order theory
8 Oct 27 Ryan Lee: Centroid decomposition
Hei Chit Cheng: Heavy-light decomposition
9 Nov 3 Bryan Chung: Flow
10 Nov 10 Ka Hei Wai: Fast Fourier transform
11 Nov 17 King Kai Chan: Segment Tree Beats
Ethen Yuen: Advanced Greedy
Nov 24 Congregation
12 Dec 1 Ka Yee Hui: Game theory
Eagle Zhen: Square-root decomposition
Dec 14 Final exam (mini competition; 7pm-12pm, venue: 924)

Homework

There will be 10-12 homework assignments. Solve assigned problems at the online judges above and submit your programs (together with your ID/handle on the corresponding online judge) to the TA by the deadline. Homework assignments are typically released on Thursday and will be due at 23:59 the next Wednesday.