- What if for code organization and "design best practices" reasons I have broken my code up into multiple files? For example, if I use C++ to program the robot, I would have a separate header and code file for each class definition, and if I have multiple classes I would have multiple header and code files (this is just how you code in C++). Is the expectation that I must not use this coding paradigm? Another example is if I use an IDE to develop my code, there is likely going to be a project file the the IDE uses to manage the project contents in addition to the code. Can this rule instead be interpret as "1 program file directory", that is my USB drive contains a single directory that contains all the code, IDE project files, etc, that will program the robot?
- If I am using an Arduino to control the robot, it is likely that I am going to be using some libraries to control various components on the robot. These libraries are typically downloaded but the Arduino or PlatformIO IDEs, and technically are code files. that will be compiled and loaded onto the robot when the robot's code is built. How do these library code files factor in the rules outlined in section 6.c.? Technically these library files are "other files" and would be opened by the compiler when the robot's code is built.
Question on "Single Program File" Rule
-
- Member
- Posts: 5
- Joined: September 10th, 2023, 12:19 pm
- Division: C
- State: CA
- Has thanked: 1 time
- Been thanked: 2 times
Question on "Single Program File" Rule
I have a question on how the rules under section 6.c. of the Robot Tour rules will get interpreted. It say basically that we are allowed to impound and edit only 1 program file for the robots code. However, there are some scenarios I was hoping to get some clarity on:
Re: Question on "Single Program File" Rule
This is a very good question. This will require a FAQ to be submitted to get a true answer as anything posted here is only an opinion. I recommend this is submitted as an FAQ.
As an event supervisor who has run this event many times, here is my opinion:
- Rule 6.c.i should not include the word 'file'. Rule 2.a.i states "one robot program" and does not contain the word 'file'. A computer program can be a collection of source code files.
- As for the library or IDE question. A library on the laptop would not be modified by the students. The library is only referenced by the students' robot code which makes the use of a library as valid. An IDE is a software tool on the laptop. Tools are allowed.
- Rule 6.c.iii is referring to files not part of the robot's program. For example: students create a list of commands for their robot to execute or start modifying their program before their time slot. Then this file is opened and referenced during their time slot. This example should get the not impounded penalty (5000 points).
Rule 6.c. will be challenging for Robot Tour. Normally everything would be impounded before an event starts. For Robot Tour, this is not the case by design. To have a valid robot event, students need to use their own computers for many reasons. Impounding laptops was seen as a bad idea.
The goal of Rule 6 is that the code on the USB drive is the only source code modified or viewed by the students during their time slot. The USB drive or similar device must be impounded with the program code that the students start with and must be the only program code viewed or modified by the students.
Again this is a good question. Rule 6.c will need a FAQ. Once FAQ start being posted, I'm sure this will be one of the first ones.
As an event supervisor who has run this event many times, here is my opinion:
- Rule 6.c.i should not include the word 'file'. Rule 2.a.i states "one robot program" and does not contain the word 'file'. A computer program can be a collection of source code files.
- As for the library or IDE question. A library on the laptop would not be modified by the students. The library is only referenced by the students' robot code which makes the use of a library as valid. An IDE is a software tool on the laptop. Tools are allowed.
- Rule 6.c.iii is referring to files not part of the robot's program. For example: students create a list of commands for their robot to execute or start modifying their program before their time slot. Then this file is opened and referenced during their time slot. This example should get the not impounded penalty (5000 points).
Rule 6.c. will be challenging for Robot Tour. Normally everything would be impounded before an event starts. For Robot Tour, this is not the case by design. To have a valid robot event, students need to use their own computers for many reasons. Impounding laptops was seen as a bad idea.
The goal of Rule 6 is that the code on the USB drive is the only source code modified or viewed by the students during their time slot. The USB drive or similar device must be impounded with the program code that the students start with and must be the only program code viewed or modified by the students.
Again this is a good question. Rule 6.c will need a FAQ. Once FAQ start being posted, I'm sure this will be one of the first ones.
Last edited by brian9640 on September 10th, 2023, 6:50 pm, edited 1 time in total.
-
- Member
- Posts: 5
- Joined: September 10th, 2023, 12:19 pm
- Division: C
- State: CA
- Has thanked: 1 time
- Been thanked: 2 times
Re: Question on "Single Program File" Rule
FAQs can be found on the national website (https://www.soinc.org/events/frequently-asked-questions). I was told it could be another 2 to 3 weeks before the FAQs are open for the 2024 season.
Who is online
Users browsing this forum: No registered users and 0 guests