249x Filetype PDF File size 0.10 MB Source: dei.uc.pt
Proposal Title
TOPDEI – Training for Competitive Programming at DEI
Champion and Proponents
Luís Paquete (Associate Professor), Carlos M. Fonseca (Associate Professor), Alexandre D.
Jesus (PhD Student), and Gonçalo Lopes (PhD Student)
Description
We propose a set of activities that will allow the Department of Informatics Engineering
at the University of Coimbra to prepare a number of students for competitive
programming in a regular, intensive and sustained way. It is our goal to build and lead a
number of outperforming teams for national and international programming
competitions. We expect these teams to become role models for other university
students by bringing more attention to the relevance of good programming and problem-
solving skills.
During the first semester of each academic year, we would like to attract students that
are willing to invest time in learning about algorithms and programming, and training for
competitions. We propose to organize several internal programming competitions open
to all students from the University of Coimbra. Students that perform well, and are willing
to learn more and compete, will be invited to participate in the training sessions.
The training sessions will target two different types of competitions requiring different
problem-solving skills. For competitions of the International Collegiate Programming
Contest (ICPC) type, the teams will learn about the main data structures and algorithmic
approaches to problem solving, such as backtracking, branch and bound, dynamic
programming and greedy algorithms, and particular algorithms for applications such as
graph and computational geometry problems. For the Google Hash Code and similar
competitions, the teams will learn about the main heuristic paradigms, from constructive
heuristics and local search to more advanced techniques such as meta-heuristics. In
parallel, the teams will discuss efficient implementations of these algorithms and develop
effective strategies for teamwork. Theory contents will be complemented with intensive
practice of solving programming competition exercises. Formally, these training sessions
will take the shape of two non-degree courses in which the students must enrol. During
these courses, the students will be organized into teams and actively participate in
programming competitions and team-building events. In addition to the training sessions
and internal competitions, we propose a 3-day Programming Camp away from the
University as well as to organize the Inter-University Programming Marathon (MIUP, in
2022 and 2013), the most important national programming competition, which involves
students from all Portuguese universities.
As students complete the training courses, they will be invited to actively participate in
the setup of training sessions for newcomers as well as in mentoring activities. We plan
to bring some these activities to secondary schools, and to open the training courses to
professional programmers from Industry from the second year of this project onward.
Key Questions:
1. How will this project inspire people into the future?
Through the participation in competitions, such as ICPC and Google HashCode, our students
will be in contact with the best programmers of the world. This will encourage them to raise
their own bar, and to aspire at being better programmers. Through internal competitions
and training sessions, students will become aware that, in order to obtain excellent results,
commitment alone is not enough. A hard-working attitude and a strong sense of duty with
respect to individual and team goals are also required. The programming camp experience
will inspire students to bond within and among the teams, to respect and accept individual
differences, to trust in their own skills, and to be open to contributing to the community.
Participation in this project will also encourage them to seek positions at Industry that value
this experience. The exposure to advanced subjects that are not taught at BSc or MSc level
may also motivate them to pursue an academic career.
2. How will this project promote high standards and excellence?
The project aims to prepare students for the most challenging programming competitions,
which, in itself, sets the high standards to which we would like to adhere. We plan to attract
the best students to this project, taking into account not only their performance at internal
competitions and past experience, but also their motivation and willingness to learn and
make the effort. Luís Paquete and Carlos Fonseca are both active researchers in the field of
algorithms and heuristics, and have experience of preparing and organizing programming
competitions. Alexandre Jesus has great experience of programming competitions, and his
team qualified for the 2018 Google Hash Code finals in Dublin, from a total of more than
5000 teams. Gonçalo Lopes has also participated in several national and international
programming competitions. The training sessions will consist of discussing and solving the
most challenging problems from past ICPC and Google Hash Code editions. A number of
internationally renowned experts on programming and algorithms will be invited to teach
some of the contents.
3. How will this project take people out of their comfort zone?
The competitive programming activity naturally provides an environment "out of the
comfort zone", both for the students that participate and for the trainers that coach the
teams. From the students perspective, this activity involves studying topics that go beyond
what is taught in the usual curriculum at the University, training intensively, discussing
solutions with others, solving programming challenges that are far from being trivial, and
working in a team under great pressure. From the trainers perspective, training activities
require maintaining an in-depth and up-to-date knowledge of various algorithmic
techniques and programming languages, preparing a large amount of content and many
problems for the training sessions at a demanding pace, and motivating teams of students
with a very competitive profile.
4. How will this project promote giving back and growth feedback
loops?
Giving back is expected to arise throughout this project in several ways. We plan to invite
the students that complete a full year of training sessions to contribute to the setup of
internal competitions for the following year, to propose new contents for the training
sessions, and to act as mentors for the newcomers. We also plan to bring some of these
activities to secondary schools in Coimbra and beyond by promoting competitions and
programming workshops, with senior students actively participating in mentoring, teaching,
and organization tasks. In addition, after the first year, we would like to open the training
sessions to professionals at Industry with the aim of contributing to making the programme
self-sustainable in the long run.
The participation of female students and international students is likely to offer the greatest
amplification potential, and will be actively promoted without deviating from the goal of
making the programme available to all. Finally, good performance in programming
competitions impacts the University as a whole, and attracts great interest from national
media, bringing more attention to programming activities, and to IT in general.
Video
In preparation.
no reviews yet
Please Login to review.