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 | Acadia (Zeta) | Dynamic Programming | Slides | Ruben Becker |
| Sep 24, 2026 | Acadia (Zeta) | Graph Visits | Slides | Riccardo Maso |
| Oct 12, 2026 | Acadia (Zeta) | Minimum Spanning Trees | Davide Cologni | |
| Oct 19, 2026 | Acadia (Zeta) | Programming Contest |
Summer Semester 2026
| Date | Room | Topic | Materials | Lecturer |
|---|---|---|---|---|
| May 7, 2026 | 1B (Delta) | Introduction | Slides | Ruben Becker |
| Linked Data Structures | 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 | Slides | Davide Cologni |
| Jun 25, 2026 | Acadia (Zeta) | Greedy | Slides | Riccardo Maso |
| Jul 2, 2026 | Acadia (Zeta) | Programming Contest | Alessio Campanelli |
