programming class contest

20
Reprograma-me Contest CIPFP Batoi Reprograma-me Contest CIPFP Batoi Alcoi (Alacant) Spain Alcoi (Alacant) Spain http://webprogrammingclass.cipfpbatoi.org/ http://webprogrammingclass.cipfpbatoi.org/

Upload: toni-santos

Post on 17-Dec-2014

63 views

Category:

Education


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 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/

Page 2: Programming Class Contest

Índex:Índex:

●ConceptConcept

●StepsSteps

●Problem modelsProblem models

●Hardware and software requirementsHardware and software requirements

●OrganizationOrganization

●TrainingTraining

Page 3: Programming Class Contest

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.

Page 4: Programming Class 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

Page 5: Programming Class Contest

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.

Page 6: Programming Class Contest

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.

Page 7: Programming Class Contest

Steps:Steps:

The resultsThe results

* The results are managed by the validator:* The results are managed by the validator:

Page 8: Programming Class Contest

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.

Page 9: Programming Class Contest

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.

Page 10: Programming Class Contest

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.

Page 11: Programming Class Contest

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

Page 12: Programming Class Contest

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.

Page 13: Programming Class Contest

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)

Page 14: Programming Class Contest

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.

Page 15: Programming Class Contest

Organization:Organization:

Manager

Assistant judges Technical department Team Assistants Auxiliar Services

Page 16: Programming Class Contest

Training:Training:

You can register on your own into our platform:You can register on your own into our platform:

Page 17: Programming Class Contest

Training:Training:

Here it is the battery of exercises:Here it is the battery of exercises:

Page 18: Programming Class Contest

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:

Page 19: Programming Class Contest

Training:Training:

Finally you get your scoreboard and your position:Finally you get your scoreboard and your position:

Page 20: 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/