Download - Programming Class Contest
Reprograma-me Contest CIPFP Batoi Reprograma-me Contest CIPFP Batoi
Alcoi (Alacant) SpainAlcoi (Alacant) Spain
http://webprogrammingclass.cipfpbatoi.org/http://webprogrammingclass.cipfpbatoi.org/
Índex:Índex:
●ConceptConcept
●StepsSteps
●Problem modelsProblem models
●Hardware and software requirementsHardware and software requirements
●OrganizationOrganization
●TrainingTraining
Concept:Concept:
The final contest is a two-tiered competition The final contest is a two-tiered competition
among teams of students representing VET among teams of students representing VET
schools: one regional and another national schools: one regional and another national
contest. contest.
Steps:Steps:
Applying for joining to Programa-Me ContestApplying for joining to Programa-Me Contest
Teams are composed by three membersTeams are composed by three members
Each contest has up to sixteen teamsEach contest has up to sixteen teams
Steps:Steps:
Competing in the ContestCompeting in the Contest
* There is a battery of * There is a battery of ten problemsten problems and and four four
hourshours to solve them to solve them
* Teams will be ranked by * Teams will be ranked by number of solved problemsnumber of solved problems. .
* In case of a tie, teams with * In case of a tie, teams with less total submission time less total submission time
are ranked first. are ranked first.
* If there's another tie, the team that * If there's another tie, the team that first submitted its first submitted its
last accepted problemlast accepted problem is ranked higher. In case a tie still is ranked higher. In case a tie still
remains, the team that first submitted its second-last remains, the team that first submitted its second-last
accepted problem is ranked higher, and so on. accepted problem is ranked higher, and so on.
* Finally, it will be determined * Finally, it will be determined by chanceby chance if tie isn't solved. if tie isn't solved.
Steps:Steps:
Competing in the Contest (II)Competing in the Contest (II)
* There is an automated judge * There is an automated judge
(domJudge) which evaluate the (domJudge) which evaluate the
solutions for each problem.solutions for each problem.
* Once you have made a * Once you have made a
submission of a problem, you will submission of a problem, you will
see the judgment in a short while, see the judgment in a short while,
produced by domJudge. produced by domJudge.
* Contestants will be able to send * Contestants will be able to send
clarification to judges, which will clarification to judges, which will
be answered in a timely manner.be answered in a timely manner.
Steps:Steps:
The resultsThe results
* The results are managed by the validator:* The results are managed by the validator:
Steps:Steps:
Giving awardsGiving awards
* In the national contest, there are prizes for the * In the national contest, there are prizes for the
best three teams and for each VET school of the teams.best three teams and for each VET school of the teams.
* The two best teams reach the national contest* The two best teams reach the national contest
*In the national one, there are awards for the best two *In the national one, there are awards for the best two
teams and VET schools.teams and VET schools.
Problem models: Robot problemProblem models: Robot problem
* They are based on real business problems in areas * They are based on real business problems in areas
such as manufacturing, accounting, warehouse such as manufacturing, accounting, warehouse
location, …location, …
* Here, there is an logistics example:* Here, there is an logistics example:
We are in the robotics lab and, in order to avoid We are in the robotics lab and, in order to avoid
problems, we have to implement software capable problems, we have to implement software capable
of preventing any option to get out of the of preventing any option to get out of the
fundamental rules of robotics. fundamental rules of robotics.
Problem models: Robot problemProblem models: Robot problem
* Movement rules* Movement rules
● The robot can move only in two dimensions.The robot can move only in two dimensions.
● Movements can be north, south, east or west.Movements can be north, south, east or west.
● The robot can move around a grid defined by the The robot can move around a grid defined by the
maximum and minimum of columns and rows.maximum and minimum of columns and rows.
● You can not go beyond the limits.You can not go beyond the limits.
● In the case of an order which involves In the case of an order which involves
transferring a limit in either direction, only move transferring a limit in either direction, only move
the robot to the maximum possible at that the robot to the maximum possible at that
address.address.
● The motor of the robot can be stopped or The motor of the robot can be stopped or
running.running.
Problem models: Robot problemProblem models: Robot problem
* Robot commands* Robot commands
● STOP_ENGINESTOP_ENGINE
● START_ENGINESTART_ENGINE
● Nx Move northbound x positions.Nx Move northbound x positions.
● Sx Move southbound x positions.Sx Move southbound x positions.
● Ex Move eastbound x positions.Ex Move eastbound x positions.
● Wx Moving westbound x positions.Wx Moving westbound x positions.
● x is an integer, positive or negative.x is an integer, positive or negative.
● The system must distinguish between uppercase The system must distinguish between uppercase
and lowercaseand lowercase
Problem models: Robot problemProblem models: Robot problem
* Data input* Data input
● We assume that the robot is with the engine We assume that the robot is with the engine
running and at position -1, 3 (-1 be the column running and at position -1, 3 (-1 be the column
and 3 the row).and 3 the row).
● As the initial position shown in the image with As the initial position shown in the image with
one of each of the following commands cause the one of each of the following commands cause the
robot moves to the position shown in the imagerobot moves to the position shown in the image
● the order b c d e f g .... For example, after the the order b c d e f g .... For example, after the
robot would S1 to position b, after the robot W-1 robot would S1 to position b, after the robot W-1
happen to position c, etc.happen to position c, etc.
Problem models: Robot problemProblem models: Robot problem
* Data input (II)* Data input (II)● S1 (b)S1 (b)
● W-1 (c)W-1 (c)
● E1 (d)E1 (d)
● E25 (e)E25 (e)
● S2 (f)S2 (f)
● W3 (g)W3 (g)
● E-6 (h)E-6 (h)
● S2 (i)S2 (i)
● N-1 (j)N-1 (j)
● E1 (k)E1 (k)
● S20 (l)S20 (l)
● E4 (m)E4 (m)
HW/SW requirements:HW/SW requirements:
* At the contest, all the teams will * At the contest, all the teams will
have a similar working environment.have a similar working environment.
HardwareHardware::
A server with contains the domJudge A server with contains the domJudge
validator and a terminal for each validator and a terminal for each
team with the same configurations.team with the same configurations.
SoftwareSoftware: Debian Wheezy based : Debian Wheezy based
Linux Distribution with GNOME as Linux Distribution with GNOME as
window manager. IDE's, browsers, window manager. IDE's, browsers,
editors, compilers and debuggers.editors, compilers and debuggers.
Organization:Organization:
Manager
Assistant judges Technical department Team Assistants Auxiliar Services
Training:Training:
You can register on your own into our platform:You can register on your own into our platform:
Training:Training:
Here it is the battery of exercises:Here it is the battery of exercises:
Training:Training:
And the validator allows you to code within C, C++ or Java:And the validator allows you to code within C, C++ or Java:
Training:Training:
Finally you get your scoreboard and your position:Finally you get your scoreboard and your position:
Reprograma-me Contest CIPFP Batoi Reprograma-me Contest CIPFP Batoi
Alcoi (Alacant) SpainAlcoi (Alacant) Spain
http://webprogrammingclass.cipfpbatoi.org/http://webprogrammingclass.cipfpbatoi.org/