1.2. Team entries – up to four people may enter as a team – all of them may attend the heats or the finals. Teams will be formed to represent their university.

1.3. A team may not have more than two members from a team that came first, second or third in the 2016 finals.

1.4. Teams that make it to the finals: a maximum of two team members may be replaced by substitutes following the heats, as long as the conditions set out in 1.1, 1.2 and 1.3 are met.

1.5. Teams from Standard Bank may also participate, but are not eligible for any of the prizes.

1.6. Lecturers or University representatives accompanying the university teams to the finals may not partake or give advice to the student teams during the competition. However, are invited to form a team and participate in the competition, in both or either phase, at the finals and are eligible to win prizes.

Detail of the Competition

2.1. The heats will take place on Saturday, 6 May 2017 at the team’s home university or a nearby facility. The heats will last four hours, starting at 10.00am.

2.2. The competition Finals will take place from Saturday 19th until Monday 21st August 2017 in Gauteng.

2.3. The format of the competition will follow three phases:

2.3.1. Heats – top performing teams will be invited to attend the finals

2.3.2. Finals –

HashBlock – answering of technical problems with binary answers.

IdeaChain – developing a prototype using Blockchain to solve a problem defined at the Finals

Detail of the Heats

3.1. Any one or any combination of the following programming languages may be used:

Java

C++11 (compiled with GCC)

Python 2

Python 3

3.2. The versions used for judging will be communicated to universities before the completion starts, but will at least include Oracle Java SE 8, GCC 5.4, Python 2.7 and Python 3.5.

3.3. As far as practicable, competition problems are related to blockchain, but no knowledge about blockchain is needed to solve them. The problems may vary in difficulty.

3.4. There may be problems to which access will only be given once another problem has been solved.

3.5. Solutions are required to follow a specified interface, or to produce output in a particular format. These solutions will then be tested in a judged run against hidden test data compiled by the judges. By default, a judged run is deemed successful by the judges if it processes the hidden test data correctly within the time and memory constraints that will be specified in the competition material.

3.6. The judges will advise if a judged run is not deemed successful. Any compiler error messages (for example, identifying where an error was detected) will also be returned if they do not compromise the integrity of the judges’ hidden test data. An unsuccessful judged run will be labelled with a phrase to indicate the reason for rejection, including for example, syntax error, run-time error, time limit exceeded or incorrect output.

3.7. The judges will not intentionally mislead competitors regarding the nature of their errors; neither will they guarantee to identify the true error of the programme. Normally, the first symptom of error will be noted and described by the most appropriate phrase.

3.8. Competitors can assume that the judges’ data will be in the correct format, unless the question explicitly asks competitors to check the format.

3.9. Solutions must not attempt to spawn new processes or threads, open files or sockets or otherwise attempt to interfere with the evaluation process. Teams submitting solutions like that may be disqualified.

3.10. Competitors may bring along and consult any source material intended for human use, for example:

printed (hard copy) books and manuals

printed (hard copy) programme listings

non-programmable calculators

Competitors may not:

load any material on their contest computers in advance

have access to the internet during the competition

bring the following into the contest area, nor may they remove it from the contest area if it was issued there:

All source material must be declared, and if there is any uncertainty as to whether the material is allowed, the Chief Judge’s decision will be final. Any violation of the ruling may lead to disqualification or a time penalty at the discretion of the judges.

3.11. Teams will randomly be assigned to particular rooms and computing facilities. While the judges will try to minimise the effect of hardware failures, they will not be liable for any hardware failures. Teams may under no circumstances change or interfere with the computing facilities provided without prior permission from one of the judges.

3.12. Teams may not accept help or advice on competition problems or rules from anyone except the judges who are authorised to give advice. The judges will also clarify any ambiguities, advise on system-related queries and explain error messages.

3.13. Questions to the judges must be submitted through the evaluation system, and must be phrased in such a way that they can be answered by “Yes” or “No”. Any team that believes a question is ambiguous may ask the judges to clarify it, using the competition software. The judge’s responses may then be viewed, using the competition software.

3.14. Only solution source files submitted through the contest submission system will be accepted.

3.15. Competition Managers will not be liable for any solutions that are not received during the heats – whether due to transmission delays or otherwise. Proof of transmission is not proof of receipt.

3.16. Up to ten questions may be asked.

3.17. Scores of other teams will be available on an electronic scoreboard. This scoreboard will not be updated during the last hour of the competition.

3.18. Only the top-scoring team at each university qualifies to attend the finals. Teams that do not solve any of the problems correctly, do not qualify. The top nine eligible teams will be invited to the final. If there are less than nine eligible teams, the competition organisers may invite additional teams based on performance. This decision is entirely at the discretion of the competition organisers and no debate will be entered into in this regard.

Detail of the Finals

4.1. The Finals will take place at the Standard Bank Global Leadership Centre

4.2. The Finals will take place in two phases:

4.2.1. HashBlock –

Each team from their university will partake in this phase in their original university team.

Up to 5 question may be asked

Each question will be released to the teams on the hour, each team will have one hour to answer each question.

From when the answers are submitted, the results of the answers will be released within the next hour, once judged.

The last two questions’ scores will not be released

The final scores will be announced at the prize-giving.

4.2.2. IdeaChain –

An unconference will be held

Teams of up to 6 people will be formed

Teams will be required to build an application prototype using blockchain

Teams will be required to pitch the app to a panel of judges.

4.3. Answering and programming of questions will take place within a specified time period as defined at the finals.

4.4. Should point 4.3 not be adhered to, results in immediate disqualification of the team.

4.5. Teams will have up to 10 mins to pitch their prototypes, as well as another 5 mins for questions from the judging panel.

4.6. Participants may use any documentation they would like, in paper form or on the Internet. Participants may also use any computer they have access to run their code. Participants are not allowed to, and may be excluded from the Competition, if they solicit or receive support of a third party.

Scoring of the competition at the HEATS

5.1. Competitors will receive sample data and sample output with each question to help clarify the required format for input and output, and should therefore be read as part of the question. It is important to note that the sample data only implies that a correct programme, given the sample data, should produce the sample output. In particular, it does not imply that the judges will use that data to test the programme, or that the sample data will necessarily check for any or all special cases that the question may require.

5.2. The positions are based in the first instance on the number of successful judged runs. In the case of equal numbers of successful judged runs, the order is determined by the least amount of total elapsed time for all the successful runs.

5.3. A time penalty of 20 minutes will be added for every unsuccessful judged run on problems that are eventually completed successfully, with the exception of compilation errors, for which there is no penalty.

Scoring of the competition at the FINALS

6.1 HashBlock will be a binary scoring system, answers are either right or wrong. Questions will be marked by a judging system as decided by the judges. Points will be awarded according to first correct submission. As an example:

First correct answer: 12 points

Second correct answer: 11 points

Third correct answer: 10 points

And so forth.

6.2 The 3 top scoring teams will receive prizes.

6.3 IdeaChain will judged by a panel of 5 judges.

6.4 The judges will judge the teams on the following criteria:

Working Prototype: 50%

Applicability of Technology: 15%

Originality: 15%

Team Collaboration: 10%

Pitch & Presentation: 10%

Prizes

7.1. The following prizes will be awarded:

7.1.1. HashBlock –

First prize – R125 000 to the university the team represents, and prizes to the members of the team.

Second Prize – R65 000 to the university the team represents, and prizes to the members of the team.

Third Prize – prizes to the members of the team

7.1.2. IdeaChain –

First Prize – R8 000 to each team member

Second Prize – R4 000 to each team member

Third Prize – R1 000 to each team member.

General

8.1. For the purposes of this Competition, “Source Code” shall mean the computer code, programming statements and instructions and technical information, whether in human-readable or machine-readable form, in respect of the Problems, which is necessary to enable a reasonably skilled programmer to translate into machine readable object code in order to maintain, amend, modify, develop and enhance the code or to develop an application without reference to any other person or document, but excludes source code created under an open source license.

8.2. For the purposes of this Competition, Intellectual Property shall mean all trademarks, trade names, service marks, and trade dress, whether registered or unregistered, and all goodwill associated therewith; patents, designs, copyrights and copyrightable works (including drawings, designs, graphics, artworks, whether in physical form or in analogue or digital form, and all drafts or preliminary versions of any of the foregoing); trade secrets, know-how, inventions, specifications, and processes; moral rights; ideas, methods, concepts, proof of concept, (the nature of which is not limited by the specific reference to the aforegoing items) (“Intellectual Property”). For the avoidance of doubt, Intellectual Property excludes the Source Code, as defined.

8.3. By entering the Competition, you hereby:

8.3.1 assign, cede and transfer, to the Standard Bank, all the rights, title and interest in and to all Intellectual Property produced, created, compiled, devised, or brought into being during the Competition and Standard Bank accepts the transfer of these rights from you (“Competition Intellectual Property”); and

8.3.2 acknowledge that you have no rights to use and/or exploit the Competition Intellectual Property, provided that:

8.3.2.1 the Student may approach Standard Bank and request its written consent to use an/or commercialise any Competition Intellectual Property, at no cost; and

8.3.2.2 Standard Bank shall have the sole discretion to grant and/or to refuse such request.

8.4. Ownership of all Source Code generated during the Competition, for the Competition, shall remain the property of the Student and/or Team that created the Source Code.

8.5. The Prize may not be exchanged for any other item. We do however reserve the right to substitute the Prize with any other prize of a similar commercial value.

8.6. We assume no risk and/or liability whatsoever for the failure of any technical element in the Competition which may result in an entrant’s entry not being successfully submitted and/or the Prize winner not successfully receiving or taking up the Prize. Once the Prize winner accepts the Prize, such Prize winner accepts such Prize at his/her own risk.

8.7. You warrant that:

8.7.1. the Competition Intellectual Property and the use thereof do not infringe the Intellectual Property rights of any third party; and

8.7.2. in creating the Competition Intellectual Property and the Source Code, you have observed and complied with all laws, rules and regulations applicable, including, but not limited to compliance with the terms of any open source code licenses.

8.8. You indemnify Standard Bank against any claim, losses and/or costs made against Standard Bank in respect of the exercise and/or exploitation by it of the Competition Intellectual Property, insofar as such claim relates to matters warranted by you.

8.9. We assume no liability whatsoever for any direct or indirect loss, harm or damage arising from an entrant’s participation and/or any Prize awarded in the Competition or for any loss or damage, howsoever arising. All persons, whilst participating in this Competition, indemnify and hold us harmless for any loss, damage, harm or injury (whether arising from negligence or otherwise) which

may be sustained as a result of any claim, costs, expense, loss or damages which may be made by any third party.

8.10. If required by the Minister of Trade and Industry, the National Consumer Commission or for whatever other reason, we will have the right to terminate this Competition with immediate effect and without notice of such termination. In such event, all entrants hereby waive any rights, which they may have against us and hereby acknowledge that they will have no recourse or claim of any nature whatsoever against us.