Due to the fact that many first-year students, especially after entrance to university and up to the first semester, do not have the ability of writing a computer program, there is no possibility of them taking part in programming competitions held by the Chapter. If it was possible to have first-year students take part in these competitions, in addition to being able to gain a better understanding of algorithms and problem solving, and also converting their solutions into practical computer codes, they would also be able to experience the fun and energetic atmosphere of the competitions.
The ACM Student Chapter set about solving this dilemma in the following way: As will be explained in the passages below, first year students were separated into three or four member groups. In a group meeting, and for a certain period of time they thought about the assigned problem, and shared their ideas. Having done this, with the aid of a capable programmer, who was a third- or fourth-year undergraduate student - chosen for and assigned to the group by the Chapter - they set about coding their solution. The programmers were advised that they could not comment on the algorithm suggested by the group, and would only answer questions regarding the game code, and call the functions, and as a whole, the conversion of the algorithm into the game code.
In the second part of this report, a description is presented of the game chosen by the Chapter members. In Section 3, the important reasons behind the selection of this specific game, and the goals we hoped to reach are given. Section 4 provides a description of the event and its staging. The report concludes with future plans that the Chapter aims to pursue with regard to these competitions.
- Description of the game
The game chosen by the Student Chapter of the ACM for the Fall 2010 competition was “Planet Wars”. This game was proposed in the artificial intelligence website of Google, at http://ai-contest.com and was open for contest in October and November 2010. Information regarding the specifications, and rules of the game can be obtained through the following link:
The site also provides a number of sample codes in a number of different programming languages to aid the programmers of the competition. These codes can be viewed at the following address: http://ai-contest.com/starter_packages.php
As with all the other artificial intelligence competitions of recent years held by this Student Chapter, the Graphical User Interface was totally implemented and given to the participants along with the game core. Subsequently, the only part which needed to be programmed during the competition was the game solution algorithm. This part, which was provided with the help of the participants, consisted of a series of defined functions which had to be called. Thus, the main decision made in the solution algorithm was the order in which these functions were recalled.
- Important reasons in the selection of this game
As highlighted in the Introduction, the main aim of staging this competition was to bring about an atmosphere to nurture creativity and active thinking among first year students in the Computer Engineering and IT department. The most important reasons for which this game was chosen for the freshmen competition were:
- This artificial intelligence problem didn’t have a simple solution, and we were aware of it’s complexities even for final-year undergraduate students. However, the advantage for the Chapter lay in the fact that student could provide a solution for each recall of the functions, and observe the result of their ideas during the competition. Given that the participants in this competition were first-year students who hadn’t been exposed to complex algorithms, they had to use their creativity, and through the process of finding the solution, helped develop simple algorithms.
- Due to the coding of the algorithms being performed by capable programming students, the inability - or weakness - of the first-year students didn’t act as a barrier in the implementation of their ideas.
- It being a group competition, the event helped bring about an atmosphere for sharing ideas and gaining better results, while aiding to foster team-work abilities and ethics, which is one of the main principles in Computer Engineering.
- Staging the competition
4.1 Competition Announcement
Since first-year Computer Engineering and IT student were the main focus of this competition, the call-out for the competition was given by Chapter members in the “Principles of Computing and Programming” class, and all students were encouraged to attend.
4.2 The Competition
The competition began at 12.30 PM, on 26th December 2010 in the computer hall of the department. Initially, the game was described fully to the students, and a sample version of the game was played by Chapter members, so as to resolve all ambiguities which remained. During this period, students were given the chance of forming three- or four-member groups, amongst themselves. Of the 52 participants, 14 were electrical engineering students. 15 groups were formed, and they dually presented their details to the event managers.
From 1 PM, the students were given one hour to debate amongst themselves the solution to the problem. This part of the competition ended at 2 PM. From then on, one competent programmer was randomly drawn from a pool of names, and assigned to each group. He/She had 90 minutes to convert the algorithm suggested by the group, into an executable code.
Afterwards, the students participated in an event staged by the Chapter in the department amphitheatre. In addition to first-year students, senior students who had been involved in the coding of the algorithms were also in attendance. Catering was provided for all participants.
During this gathering, information was given regarding the Student Chapter, and it’s activities, with more focus given to activities which first-year students would be able to partake in. An overview of the various programming and artificial intelligence competitions held in the faculty was also provided.
After this event which served as a refreshment period, competition began among the intelligent agents programmed by the groups. During the competition, the game screen and each team’s score was projected onto two screens in the computer hall of the department, so participants and other students could follow the competition. The games began with 4 round-robin groups. Three of the groups had 4 teams, and one had 3 teams. From each group, two teams qualified for the quarter-final, and competed in a sudden-death bout. Also worth mentioning is that each game between two teams was played out twice, so that in each, one could start the game. This was done so as to provide fairness for all teams involved.
At the end of the competition, the four members of the winning team were each presented with the competition mascot figurine.
Given the need to instill confidence, create motivation and nurture talent among first-year students and also give focus to the attractions of their major, we plan to stage similar annual competitions for newly-admitted students of Computer Engineering and IT, using the help and guidance of faculty members.