Cooperative Problem Solving & Competitive Programming
This is the official page for the Cooperative Problem Solving and Competitive Programming group at Ca’ Foscari University of Venice.
Meeting Style
We meet weekly. Our meetings are hands-on and interactive. Typically, they have the following structure:
- Kick-off (30 mins): A brief introductory talk by a RAVEN researcher on an algorithmic topic or technique.
- Lab (60 mins): Students work in small groups to solve a set of problems in the scope of the introduced topic.
After a batch of lectures (typically 3 or 4) with this structure, we hold friendly coding competitions.
What is the Purpose of this Group?
The group is meant for students who want to improve their theoretical and practical algorithmic knowledge. Our activities focus on the following:
- Complex Problem Solving: We focus on developing the skills required to tackle complex computational problems, usually by applying the most common algorithm design principles.
- Collaborative Work: We practice addressing complex problems in a group by effective collaboration.
- Deepening Algorithmic Knowledge: We go beyond the material of standard algorithms courses.
With our meetings we prepare teams to participate in international contests such as ITACPC, SWERC, and ICPC. Besides this, our meetings alo provide the perfect preparation for technical job interviews at top-tier tech companies (like Google or Meta).
Archive & Materials
This archive is updated weekly with the topics covered and relevant resources.
Winter Semester 2026
| Date | Room | Topic | Materials | Lecturer |
|---|---|---|---|---|
| Sep 17, 2026 | Dynamic Programming | |||
| Sep 24, 2026 | Graph Visits | |||
| Oct 1, 2026 | Minimum Spanning Trees | |||
| Oct 8, 2026 | Programming Contest |
Summer Semester 2026
| Date | Room | Topic | Materials | Lecturer |
|---|---|---|---|---|
| May 7, 2026 | 1B (Delta) | Linked Data Structures | Introduction, Slides | Alessio Campanelli |
| May 14, 2026 | B (Zeta) | Heaps and Priority Queues | Slides | Ruben Becker |
| May 21, 2026 | B (Zeta) | Union-Find Data Structure | Slides | Davide Cologni |
| May 28, 2026 | B (Zeta) | Programming Contest | Riccardo Maso | |
| Jun 4, 2026 | B (Zeta) | Complete Search | Slides | Ruben Becker |
| Jun 11, 2026 | C (Zeta) | Divide & Conquer | After the lecture | Davide Cologni |
| Jun 25, 2026 | Acadia (Zeta) | Greedy | After the lecture | Riccardo Maso |
| Jul 2, 2026 | Acadia (Zeta) | Programming Contest | Alessio Campanelli |
