Game-console-based projects for learning the computer input/output subsystem

6
JOURNAL OF L A T E X CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 1 Game-Console-Based Projects for Learning the Computer Input/Output Subsystem Edurne Larraza-Mendiluze, Nestor Garay-Vitoria, Jos´ e I. Mart´ ın, Javier Muguerza, Txelo Ruiz-V´ azquez, Iratxe Soraluze, Jos´ e F. Lukas, and Karlos Santiago Abstract—The Input/Output (I/O) subsystem is an important topic within computer architecture (CA), because it determines how the computer interacts with its environment. For this reason, computer scientists and engineers must understand how the computer manages this interaction, which is usually taught in introductory CA courses. Of course, there are many different styles of teaching, ranging from purely theoretical to completely practical. The CA course considered in this paper has already applied a practical approach for some time. For the I/O sub- system, students must be able to describe what polling and interrupts are, and handle them through low-level programming. However, programming at this level in operating system (OS)- driven computers is not possible without being familiar with the kernel and drivers, which is not usually the case for students in an introductory course. Fortunately, there are many bare and specialized embedded systems around, that are not OS-driven. In this proposal, the Nintendo R 1 DS (NDS) console was used in a classroom setting. It proved to be an appropriate infrastructure for developing attractive and engaging projects and was useful in providing a better understanding of the mechanisms related to the I/O subsystem. At the same time, the teaching methods were altered to make the transition from classical, passive, lecture- based classes to an active project-based learning (PBL) approach. It has been a very rewarding experience to see students learning to control the NDS devices on their own. In addition to describing the implementation of the proposed changes in two subsequent school years, this paper also presents some data and conclusions. Index Terms—Computing education, game console, in- put/output subsystem; NDS, PBL I. I NTRODUCTION L EARNING the principles of how the Input/Output (I/O) subsystem of a computer functions is important for stu- dents taking computing degrees, not only because a computer engineer or scientist should not regard a computer as just a black box, but also because the management of the I/O subsystem can greatly affect the performance of a machine and is a major component of most embedded systems [1], [2]. This work was supported in part by the University of the Basque Country (UPV/EHU) under Grants SAE/HELAZ COD. 6254, and UFI11/45 and by the Department of Education, Universities and Research of the Basque Government. The authors would like to thank all the students that took part in the study. E. Larraza-Mendiluze, N. Garay-Vitoria, J. Mart´ ın, J. Muguerza, T. Ruiz and I. Soraluze are with the Department of Computer Architecture and Tech- nology, UPV/EHU, Donostia-San Sebastian, 20018 e-mail:{edurne.larraza, nestor.garay, j.martin, j.muguerza, txelo.ruiz, iratxe.soraluze}@ehu.es. J.F. Lukas and K. Santiago are with the Department of Research Methods and Educational Diagnose, UPV/EHU, Donostia-San Sebastian, 20018 e- mail:{jf.lukas, karlos.santiago}@ehu.es. 1 Nintendo is a registered trademark of Nintendo Co. Ltd. Manuscript received October 8, 2012; revised December 27, 2012. Due to the adoption of the European Higher Education Area (EHEA), the Computing degree program taught at the University of the Basque Country (UPV/EHU), Spain, has recently undergone several changes. Among these are that the I/O topic has moved from the second-year course “Computer Architecture I”, to the first-year course “Computer Structures”. Even in the second year of their studies, students had dif- ficulties understanding and familiarizing themselves with the I/O subsystem topic. Moving the topic to the first year was thus obviously of great concern. For this succeed, a change in teaching the methodology was needed. The practical exercises were traditionally personal computer (PC)-based. These exercises became more of a burden as the operating systems (OS) became more and more restrictive. Some of the peripheral control mechanisms, although accessi- ble, did not react properly to the changes expressed in the code. Moreover, in a first-year course, the students lack the necessary knowledge of the OS and kernel to overcome this difficulty, so virtual machines or simulators become necessary. Previously a trial was done where the exercises were performed on a virtual machine with old operating systems, but this was unattractive to the students and burdensome for both them and their teachers. Finally, a proposal to follow a project-based methodol- ogy, in which students would carry out a project using the Nintendo R 1 DS (NDS) machine as hardware, was pre- sented to the educational advisory service (SAE/HELAZ) of UPV/EHU, achieved educational innovation project status and was awarded a biannual grant. The goal of the research presented here was to analyze the effects of the twofold change, to the teaching methodology and the hardware platform, and to quantitatively assess the results obtained during the two school years in which the educational project has been run. In the Section II of this paper, some related work will be analyzed that considers the infrastructure and method- ological aspects of teaching computing architecture (CA) in introductory courses. Section III gives a brief history of the way in which the I/O topic has been taught in the Faculty of Informatics of UPV/EHU and how it was adapted to a methodology in which students have to develop a project to run on the NDS machine. In Section IV, the differences will be drawn between the experiences carried out during the 2010- 2011 and 2011-2012 school years as a basis for understanding the results presented in the Section V. Finally, Section VI will draw conclusions.

Transcript of Game-console-based projects for learning the computer input/output subsystem

JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 1

Game-Console-Based Projects for Learning theComputer Input/Output Subsystem

Edurne Larraza-Mendiluze, Nestor Garay-Vitoria, Jose I. Martın, Javier Muguerza, Txelo Ruiz-Vazquez,Iratxe Soraluze, Jose F. Lukas, and Karlos Santiago

Abstract—The Input/Output (I/O) subsystem is an importanttopic within computer architecture (CA), because it determineshow the computer interacts with its environment. For this reason,computer scientists and engineers must understand how thecomputer manages this interaction, which is usually taught inintroductory CA courses. Of course, there are many differentstyles of teaching, ranging from purely theoretical to completelypractical. The CA course considered in this paper has alreadyapplied a practical approach for some time. For the I/O sub-system, students must be able to describe what polling andinterrupts are, and handle them through low-level programming.However, programming at this level in operating system (OS)-driven computers is not possible without being familiar with thekernel and drivers, which is not usually the case for studentsin an introductory course. Fortunately, there are many bare andspecialized embedded systems around, that are not OS-driven. Inthis proposal, the NintendoR©1 DS (NDS) console was used in aclassroom setting. It proved to be an appropriate infrastructurefor developing attractive and engaging projects and was usefulinproviding a better understanding of the mechanisms related tothe I/O subsystem. At the same time, the teaching methods werealtered to make the transition from classical, passive, lecture-based classes to an active project-based learning (PBL) approach.It has been a very rewarding experience to see students learningto control the NDS devices on their own. In addition to describingthe implementation of the proposed changes in two subsequentschool years, this paper also presents some data and conclusions.

Index Terms—Computing education, game console, in-put/output subsystem; NDS, PBL

I. I NTRODUCTION

L EARNING the principles of how the Input/Output (I/O)subsystem of a computer functions is important for stu-

dents taking computing degrees, not only because a computerengineer or scientist should not regard a computer as justa black box, but also because the management of the I/Osubsystem can greatly affect the performance of a machineand is a major component of most embedded systems [1], [2].

This work was supported in part by the University of the Basque Country(UPV/EHU) under Grants SAE/HELAZ COD. 6254, and UFI11/45 andby the Department of Education, Universities and Research ofthe BasqueGovernment.

The authors would like to thank all the students that took part in the study.E. Larraza-Mendiluze, N. Garay-Vitoria, J. Martın, J. Muguerza, T. Ruiz

and I. Soraluze are with the Department of Computer Architecture and Tech-nology, UPV/EHU, Donostia-San Sebastian, 20018 e-mail:{edurne.larraza,nestor.garay, j.martin, j.muguerza, txelo.ruiz, iratxe.soraluze}@ehu.es.

J.F. Lukas and K. Santiago are with the Department of ResearchMethodsand Educational Diagnose, UPV/EHU, Donostia-San Sebastian, 20018 e-mail:{jf.lukas, karlos.santiago}@ehu.es.

1 Nintendo is a registered trademark of Nintendo Co. Ltd.Manuscript received October 8, 2012; revised December 27, 2012.

Due to the adoption of the European Higher EducationArea (EHEA), the Computing degree program taught at theUniversity of the Basque Country (UPV/EHU), Spain, hasrecently undergone several changes. Among these are that theI/O topic has moved from the second-year course “ComputerArchitecture I”, to the first-year course “Computer Structures”.Even in the second year of their studies, students had dif-ficulties understanding and familiarizing themselves withtheI/O subsystem topic. Moving the topic to the first year wasthus obviously of great concern. For this succeed, a change inteaching the methodology was needed.

The practical exercises were traditionally personal computer(PC)-based. These exercises became more of a burden as theoperating systems (OS) became more and more restrictive.Some of the peripheral control mechanisms, although accessi-ble, did not react properly to the changes expressed in the code.Moreover, in a first-year course, the students lack the necessaryknowledge of the OS and kernel to overcome this difficulty, sovirtual machines or simulators become necessary. Previouslya trial was done where the exercises were performed ona virtual machine with old operating systems, but this wasunattractive to the students and burdensome for both them andtheir teachers.

Finally, a proposal to follow a project-based methodol-ogy, in which students would carry out a project usingthe NintendoR©1 DS (NDS) machine as hardware, was pre-sented to the educational advisory service (SAE/HELAZ) ofUPV/EHU, achieved educational innovation project status andwas awarded a biannual grant.

The goal of the research presented here was to analyze theeffects of the twofold change, to the teaching methodology andthe hardware platform, and to quantitatively assess the resultsobtained during the two school years in which the educationalproject has been run.

In the Section II of this paper, some related work willbe analyzed that considers the infrastructure and method-ological aspects of teaching computing architecture (CA) inintroductory courses. Section III gives a brief history of theway in which the I/O topic has been taught in the Facultyof Informatics of UPV/EHU and how it was adapted to amethodology in which students have to develop a project torun on the NDS machine. In Section IV, the differences will bedrawn between the experiences carried out during the 2010-2011 and 2011-2012 school years as a basis for understandingthe results presented in the Section V. Finally, Section VI willdraw conclusions.

JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 2

II. RELATED WORK

The work presented in this paper is mainly focused on thechange of infrastructure used to teach the I/O subsystem. How-ever, in assimilating new concepts the learning process is alsoimportant. A project-based learning (PBL) methodology waschosen for these experiences. Therefore, the literature reviewthat follows will be divided into two parts: the infrastructureand the methodology.

A. Infrastructure

Virtual machines and simulators are used to introducethe I/O subsystem during lectures. Several references in theliterature, sharing this study’s goal of avoiding the complexityof OS intervention in the management of low-level hardware,describe the use of simulators [3]-[6] or platforms specificallydesigned for teaching practical work in the area of CA usingFPGA-based developments or embedded systems [7]-[9]. Al-though the authors proclaim the benefits of these techniques,others [10] stress the importance of working directly with realhardware to allow students to learn details that are hidden insimulators. It is for this reason that a real machine was selectedfor this study.

Games and gaming platforms are also becoming moreimportant in educational environments. In computer scienceand computer engineering, the majority of the literature refersto games designed to teach computer programming [11]-[13].It is thus not surprising to find similar attempts in the area ofCA, such as a game that teaches computer memory concepts[14] and a study that used games as powerful motivators incomputer design courses [15]. Conversely, [16] is a referenceto an advanced course taught at the Georgia Institute ofTechnology that uses several gaming machines to teach thedifferences between the architectures in a higher-level subject.

The lecturers of the UPV/EHU’s Faculty of Informatics areaware of the increase in motivation when students use gamesto learn the I/O subsystem, having assigned the developmentofgames (ping-pong, cars races, Packman-like games, Arkanoid,and so on) in previous years when the laboratory practicalswere performed in assembler language and on old PCs runningDOS. However the rapid evolution of operating systems andvideo games meant the laboratory assignments soon lost theability to motivate students, so the decision was taken tochange the working platform, bearing in mind that videogames are a powerful means of attracting and motivatingstudents.

The NDS console was chosen on the basis of some previousstudies found in the literature. For example, [17] and [18]attempted this in introductory CA courses. The Game Boymachine used in [17] was the predecessor of that used here,and [18] also used the NDS console. Both of these studiesmention that student motivation increased, but only in [18]didthe results also improve. The difference between these and theproposal presented here is that while the work presented hereis focused on the topic of the I/O subsystem, [17] focuses onmachine language and assembly language, and in [18] the I/Owork was practically restricted to memory control.

B. Methodology

To improve the student learning process from a methodolog-ical point of view, project-based learning (PBL) is preferredas a teaching method over more traditional methodologiesin which lectures and traditional practical exercises prevailand students passively absorb the information transmittedbythe lecturer. In contrast, in PBL the students themselves takeresponsibility for their learning process and become promotersof their own learning. Their project should be relevant to thereal world, and they themselves have to obtain the relevantinformation and learn all the necessary concepts while thelecturer provides guidance and counseling during the process(i.e., they learn the concepts by doing). Thus, the projectstimulates learning. Moreover, PBL is a learning methodologybased on collaboration; students have to work in teams,which forces them to develop other skills. There are manyreferences in the literature to PBL that stress its importanceand effectiveness. For example, [19] provides a good list ofpossible projects to carry out in the area of CA, and [20]-[22]describe interesting implementations of the PBL methodologyin CA.

III. T RANSITION TO THE NDS-BASED PROPOSAL

Based on the two factors (a more friendly and attrac-tive learning style and a more engaging hardware platform)mentioned in the previous section, this section describes thetransition from the old teaching style to the new proposal inwhich the NDS machine is used in a PBL environment.

For many years, the I/O subsystem topic was taught in anintroductory second-year CA course in the UPV/EHU Facultyof Informatics, along with other topics of the Von Neumannarchitecture: the central processing unit (CPU), comprisingthe control-unit and the arithmetic-logic unit; the memoryorganization; and the interconnection buses. During this time,the same classical teaching methods were used, but the resultswere not satisfactory. Now, following the adoption of theEHEA, the I/O topic is taught as part of the ComputerStructures course in the second semester of the first year ofstudies, where it shares center stage with assembly languageand low-level programming. The aim of this section is todescribe the changes to the teaching platform and teachingmethodology.

A. Previous Methodology

The conventional teaching methodology was based on lec-tures explaining a number of topics, including: the need forI/O controllers; how these controllers interact with the CPUvia registers that may or may not be memory mapped; differentsynchronization options (polling and interrupt), direct memoryaccess (DMA) and the change in machine performance withthe use of the different synchronization options. All this theorywas supported by paper exercises and PC-based laboratorysessions, explained in the next two subsections.

1) Paper exercises: These consisted of assignments todevelop a new PC-controlled system, which had severalperipherals other than the standard ones explained in theclassroom (screen, keyboard and clock). Students had to design

JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 3

a state machine (SM) that would meet the requirements of theassignment and then write the program needed to achieve auseful system, including the main program, with polling (ifrequired) and all the required interrupt service routines [23].

2) Lab sessions: Four or five lab sessions were conductedduring part of the course devoted to the I/O topic. The aimwas to teach students to directly control the standard peripheraldevices of PCs (i.e., the screen, keyboard and clock). All theselabs can be found in [23].

B. The I/O Subsystem in the NDS Console

Although the main objective of this study was to adapt thesubject matter to the use of the NDS machine, sometimes thefunctioning of the system had to be adapted to be suitable fora project to be undertaken by first-year students. To this end,students were given a handout with short-cuts and other systemspecifications not directly related to the I/O subsystem. Thissubsection shows the extent to which the NDS I/O subsystemwas used in this study, and will explain the various elementsinvolved in the I/O process. Finally, an example follows of howall this has been reflected in one of the projects. It should benoted that devkitPro tool-chains [24] were used to program theNDS machine, so some differences could appear were othertool-chains to be used.

1) The Memory: Students are required to draw a sprite pixelby pixel, using the functions from the handout, so they cansee that changing the content of a memory location changeswhat they get on the screen.

2) The double processor: Only the graphical processor(necessary to get text or images on the screen) is used. Luckily,this processor also has access to the timer and keyboardregisters.

3) The I/O registers: The I/O registers are the means bywhich the peripherals and the processor communicate witheach other, and are one of the main concepts to learn in I/O.I/O registers can be mapped into memory or into the I/O space.The latter is a more secure method and so is the one mainlyused in PCs. However, a gaming console is less prone to attack,and I/O registers need to be easily accessible, since peripheralsare widely used. These could be why the NDS console has allits I/O registers mapped into memory.

4) The interrupt management: One processor is devotedsolely to the inputs and outputs and, therefore almost all theI/O is controlled by polling, which thus becomes more naturaland therefore easier to understand for students. However,interrupt-driven control is also possible for some peripherals.A software interrupt controller, “The interrupt dispatcher”, canbe found in the devkitPro tool-chain. This is programmed inassembler and it is therefore useful for reviewing the conceptsexplained in the first part of the course.

For the projects the interrupt controller is used as receivedfrom the manufacturer, although it can be changed if desired.In this original state, the programmer sets the priorities of theinterrupts, which will be the same as the order in which theroutines for each interrupt request (IRQ) are set. Moreover,only single-level interrupts are accepted, that is, an interruptcannot be interrupted.

When coding the project it is also possible to use theInterrupt Master Enable (IME) register to accept or denyinterrupts in general, and the Interrupt Enable (IE) registerto accept or deny specific interrupts. The Interrupt Flag (IF)register is only used by the interrupt controller or dispatcherto know which interrupts have been requested.

5) The timer: The NDS console has four timers for eachprocessor. These timers are 16-bit counters that can be pro-grammed to produce an interrupt request when an overflowoccurs. The counting frequency is also programmable and,therefore, the interrupt frequency is controllable. It is alsopossible to connect the timers together to have a greater rangeof interrupt frequencies. All this can be done by changingsome bits in the control register. The data register can beused to establish the number from which the counter will startcounting.

In the project the students have to program at least one timerand code the Interrupt Service Routine (ISR) that will be runwhen the timer interrupts the CPU.

6) The keyboard: Some keys are controlled by polling andothers by interrupts; the students have to set the control registercorrectly to achieve this, and have to code the the polling andthe ISR.

7) The touch screen: Although this peripheral is onlyaccessible from the processor not being controlled in theproject, it is good for students to work on this, to preventthe project becoming too restrictive for them. The problemof its accessibility was overcome by making an abstractionof the communication process, where students could readthe resulting variable as if it were the data register of thetouch screen. This variable is a two-value datum (the x andy coordinates of where the screen was touched). If these twovalues are 0, it means that the screen has not been touchedand, therefore, a poll must be carried out to get these values;the students must program this poll.

Fig. 1 shows the state machine (SM) of one of the projectsdeveloped during the 2011/12 school year. The SM showswhen each input has to be controlled and the outputs theyproduce. The game board displays several faces and the playerhas to find the face missing an eye. The application starts inthe “MENU” state, showing a menu with two options: “game”and “credit”. By default the “game” option is selected. In the“MENU” state the option can be changed by touching theother option on the screen, and vice versa. As stated whileexplaining the touch screen, a poll must be performed in orderto know whether the screen has been touched and, if so, changethe image to display.

Keys need to be controlled in several states. In Fig. 1, onestar next to a key means the key is controlled by interrupt; iftwo stars then the key is controlled by poll.

When key “A” is pressed in the “MENU” state, if “game” isselected then the state changes to the “PLAY” state, showingthe game-board; if “credits” is selected it changes to the“CREDITS” state and shows the credits.

On the game-board, the touch screen is again controlled, butthis time together with the timer. If the right point is pressed onthe touch screen in time, then the “win” message will be shownand the state will change to “WIN”, waiting for the “start” key

JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 4

Fig. 1. The SM from a 2011/12 course project

to be pressed and before changing to the “CREDITS” state.Otherwise (when either the wrong point was touched or thetime, which is controlled by interrupt, has expired), the “gameover” message will be shown and the state will change to“GAME OVER”, waiting for the “start” key to be pressed andthen changing back to the “MENU” state. While the creditsare displayed, key “A” needs to be pressed in order to returnto the initial menu.

The students must write the code to control all thesefeatures.

Two key features of the PBL methodology, used for theentire learning process, are positive interdependence (membersof a group must believe that everyone in the group is essentialto reach the goal) and individual accountability (everybody inthe group is able to explain any aspect of the project). Theproject work-load was measured in order to ensure positiveinterdependence; that is, to confirm it is not possible tocomplete the entire project with a smaller group. All studentshave to get a minimum score (40%) in the exam for the projectscore to be considered for their final course mark. The examincludes questions on material covered during the entire courseof the project, so that individual accountability is ensured.

In this particular setting, a general project is assigned tostudents before relating it to any theoretical concept. Forex-ample, students had to implement vending machine simulatorsin the 2010/2011 academic year, and a simple game in the2011/2012 academic year.

While students are working on their first assignment, in-cluding a decision-making process and defining the particularcharacteristics of their project through a SM, a classroomdiscussion is conducted around the question “What do we needto know to complete the project?”. Among the many questionsposed, some not related to the topic, the students usuallyask about the communication required between computercomponents, how to control the timing, and the like. Oncethis exercise has been completed, the theoretical materialonthe I/O topic is given to the team members, following the

puzzle methodology.Before presenting the students with the development envi-

ronment and the specifications of the NDS console, the lectur-ers have already analyzed the designs for the first assignment,indicated to the team members where programming difficultiesmight cause problems when carrying out the projects, anddiscussed how these problems might be solved. Then, the stu-dents have to decide how to conduct their projects and dividethe work between team members. As a second assignment,each team member has to identify how each peripheral isgoing to be configured and controlled, according to the workdistribution in the team. The final assignment of the projectisa report in which the programs and the resources are presentedand documented, including source and executable files.

During this process, students also have to complete and handin at least one paper exercise to resolve a problem. The lecturerpresents the solutions to the whole class and explains the mainerrors encountered. The I/O topic is worth 45% of the finalpossible score for the course (35% for the project and 10%for the exam).

IV. STRUCTURE OF THE TWO COURSE OFFERINGS

Almost every course in UPV/EHU’s Faculty of Informat-ics is taught bilingually, in Basque and Spanish; some arealso taught in English. Computer Structures, being one ofthe Basque/Spanish bilingual courses, thus has two differentgroups that were used as an experimental group and a controlgroup.

Data were collected for the 2010-2011 and 2011-2012school years. The differences between the experience of thetwo years will be detailed as a basis for understanding theresults reported in Section V.

Table I shows the variables that change between the exper-imental and control group for in each year. The first variablewas the number of students enrolled in the course; this numberchanges every year. Researchers cannot control the enrollment,but this has a big influence since PBL methodology is difficultto use in big groups and where there are many teams needingguidance.

The second variable is the language spoken in the group.Randomly, the experiment was carried out in the Basque groupin the first year, and in the Spanish group in the second year.

The third variable is the infrastructure used either for theproject or for the laboratory. During the first year of the study,2010-11, the infrastructure was different in each group. Theexperimental group used the NDS console and the controlgroup used their PCs. The conclusion at the end of the yearwas that every topic addressed with the PC could also beaddressed with the NDS console, which was undoubtedly moreattractive to students. Thus the decision was taken that forthe2011-12 study, both groups would use the NDS console.

The methodology is the one variable that did not change.PBL was used for the experimental group, and the classicalmethodology for the control group, in both years. Althoughthe results of the 2010-11 experiment were satisfactory, theresearchers wanted to further explore the differences achievedin learning.

JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 5

TABLE IVARIABLES THAT CHANGED FROM ONE ACADEMIC YEAR TO THE NEXT.

2010-2011 2011-2012

Experimental Control Experimental Control

group group group group

Students enrolled 46 36 63 44

Language Basque Spanish Spanish Basque

Infrastructure NDS PC NDS NDS

Methodology PBL Classic PBL Classic

Project or Vending PC labs Game Game

practical exercise machine directed

Team-mates 5-6 2 4-5 2

The big change between years for the experimental groupwas that the 2010-11 students had to develop a vendingmachine simulator, while the 2011-12 students had to developa game. There were two main reasons for this change. The firstwas that the lecturers teaching the course in 2011-12 knewmore about the control of the graphical environment than didthose in 2010-11, and were able to set up moving sprites. Thesecond was the belief that it would be easier to involve thestudents in the topic if they had to develop a game.

For the control group, the big change was switching to theNDS console, although rather than using this to carry out aproject, they only used it to perform a practical exercise inwhich all the groups were led through the development of asimple game.

Team size also changed between years. Although havingmany groups could be very demanding for the lecturers,experience of 2010-11 had demonstrated that individual ac-countability could not be ensured in big groups. For 2011-12,therefore, teams were limited to a maximum of five members.

V. THE RESULTS

One motivation for this research is the poor student resultsin the I/O topic over the years. An analysis of 344 exams overthe school years 2003-2004 to 2009-2010 revealed that only44% of the students had passed the I/O topic (that is, hadsuccessfully completed at least half of the required material).In addition, 31% of the students did not sit the exam.

Fig. 2 shows the percentage of students who passed the I/Opart of the exam during the school years 2003-2010, comparedto the results for the school years 2010-2011 and 2011-2012school year, for the experimental group (40-44 exams) and thecontrol group (26-30 exams). The results for the experimentalgroup are better than the results for the control group and alsofor the previous school years.

Fig. 3 shows, for the same student groups as in Fig. 2, thepercentage of students who dropped the course and did not sitthe exam; the best results were obtained for the experimentalgroup.

In Section IV a hypothesis was set for the experimentalgroup: it would be easier to involve the students in the topicif they had to develop a game. This did prove to be true, andthe students tried very hard in their projects, but they spentmuch more time trying to develop an attractive game than inunderstanding what they were doing with the I/O subsystem.

Fig. 2. Percentage of students sitting the exam who passed the I/O topic (5out of 10)

Fig. 3. Percentage of students who did not sit the exam

The results show a decrease in the percentage of studentswho passed the I/O topic, and an increase in the percentageof students who dropped the course, from the first year tothe second. The lecturers who were monitoring the students’projects attribute the poorer results to the time students spenttrying to develop an attractive game.

Another point to remark on is the increase in the percentageof control group students who passed the I/O topic from thefirst year, showing that the use of the NDS console is reallybeneficial for learning the I/O topic.

VI. CONCLUSIONS

This paper has drawn attention to the relevance and diffi-culty of the I/O topic within the context of CA. An analysisof exams from previous years, 2003-2004 to 2009-2010, andthe difficulties found in teaching and learning the I/O topicledto a search for a setup that would attract and engage studentsand a methodology that would reinforce the learning process.

Using the NDS console increases the percentage of studentspassing the I/O topic and decreases the drop rate; this showsthat students do better when using the NDS machine, becausethey are more motivated. Moreover, the PBL methodologyreinforces this motivation and helps lower dropout rates.

However the project objectives must be very clearly set sothat the students do not put too much effort into the graphicaldesign of the project. Lecturers are advised to follow thiscombined strategy in order to enhance the students’ learningprocess.

Moreover, new strategies are being studied to further im-prove the results, such as analyzing mental models from

JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 6

both the students’ and lecturers’ points of view [25] andalso analyzing exam questions to find the relevance of, andconnections between, related concepts in I/O [26].

REFERENCES

[1] ACM/IEEE-CS, “Computer Science Curriculum 2008: AnInterim Revision of CS 2001,” Report from the InterimReview Task Force. Association for Computing Machin-ery, IEEE Computer Society. December 2008. Available:http://www.acm.org/education/curricula/ComputerScience2008.pdf

[2] IEEE-CS/ACM (2004). “IEEE-CS/ACM Joint Task Force on Com-puting Curricula. Computer Engineering 2004. Curriculum Guidelinesfor Undergraduate Degree Programs in Computer Engineering.”IEEEComputer society Press and ACM Press, December 2004. Available:http://www.acm.org/education/education/curricvols/CE-Final-Report.pdf

[3] N. Fujieda, T. Miyoshi, and K. Kise, “SimMips A MIPS SystemSim-ulator,” In Proc. 2009 Workshop on Computer Architecture EducationWCAE2009, New York, 2009, pp. 32–39.

[4] S. Than, “Use of a Simulator and an Assembler in Teaching Input-OutputProcessing and Interrupt Handling,”Journal of Computing Sciences inColleges, vol. 22, no. 4, April 2007, 75–81.

[5] B. Nikolic, Z. Radivojevic, J. Djordjevic, and V. A. Milutinovic, “Surveyand Evaluation of Simulators Suitable for Teaching Courses in ComputerArchitecture and Organization,”IEEE Transactions on Education, vol.52, no. 4, November 2009, pp. 449–458.

[6] M. Black, and P. Komala, “A Full System x86 Simulator for TeachingComputer Organization,” InProc. 42nd ACM technical symposium onComputer Science Education SIGCSE’11, Dallas, 2011, pp. 365–370.

[7] D. Brylow, “An Experimental Laboratory Environment for TeachingEmbedded Hardware Systems,” InProc. 2007 Workshop on ComputerArchitecture Education WCAE2007, San Diego, 2007, pp. 44–51.

[8] M. Benjamin, D. Kaeli, and R. Platcow, “Experiences with the BlackfinArchitecture in an Embedded Systems Lab,” InProc. 2006 Workshop onComputer Architecture Education WCAE2006, Boston, 2006, pp. 3–9.

[9] C. Teuscher, J.O. Haenni, F.J. Gomez, H.F. Restrepo, and E. Sanchez,“A Tool for Teaching and Research on Computer Architecture andReconfigurable Systems,” InProc. 25th EUROMICRO Conference, Milan,1999, pp. 343–350.

[10] D. Davcev, B. Stojkoska, S. Kalajdziski, and K. Trivodaliev, “ProjectBased Learning of Embedded Systems,” In Proc. 2nd WSEAS Int.Conf. On Circuits, Systems, Signal and Telecommunications CISST’08,Acapulco, 2008, pp. 120–125.

[11] P.Sancho, R. Fuentes, P.P. Gomez-Martın, and B. Fernandez-Manjon,“Applying multiplayer role based learning in engineering education:Three case studies to analyze the impact on students’ performance,”International Journal of Engineering Education IJEE, vol. 25, no. 4,2009, pp. 665-679.

[12] W.T. Wong, and Y.M. Chou, “An interactive Bomberman game-basedteaching/learning tool for introductory C programming,” inProc. 2nd int.conf. On Technologies for e-learning and digital entertainment, HongKong, 2007, pp. 433–444.

[13] J. C. Burguillo, “Using game theory and Competition-based Learning tostimulate student motivation and performance,”Computers & Education,vol. 55, 2006, pp. 566–575.

[14] M. Papastergiou, “Digital Bame-Based Learning in high school Com-puter Science education: Impact on educational effectiveness and studentmotivation,” Computers & Education, vol. 52, 2009, pp. 1–12.

[15] E. Brunvand, “Games as Motivation in Computer Design Courses,” inProc. 42nd ACM technical symposium on Computer Science EducationSIGCSE’11, Dallas, 2011, pp. 33–38.

[16] CS4803, “Design and Programming of Game Consoles,” Spring2011.Available: http://www.cc.gatech.edu/˜hyesoon/spr11/

[17] A.E. Tew, B. Dorn, W.D. Leahy Jr., and M. Guzdial, “Context as Supportfor Learning Computer Organization,”Journal on Educational Resourcesin Computing (JERIC), vol. 8, no. 3, 2008, pp. 8:1–8:18.

[18] M. J. Santofimia, and F. Moya, “Nintendo DS: A PedagogicalApproachto Teach Computer Architecture,” inProc. International Conference onEmbedded Systems and Applications ESA 2009, Las Vegas, 2009, pp.269–273.

[19] U. Ramachandran, and W. D. Jr. Leahy, “An Integrated Approach toTeaching Computer Systems Architecture,” inProc. 2007 Workshop onComputer Architecture Education WCAE2007, San Diego 2007, pp. 38–43.

[20] T. Urness, “Teaching Computer Organization/Architecture by Building aComputer,” InProc. 2007 Workshop on Computer Architecture EducationWCAE2007, San Diego, 2007, pp. 44–51.

[21] T. D. Stanley, L. K. Wong, D.Prigmore, J. Benson, N. Fishler, L. Fife andD. Colton,“From ArchiTorture to architecture: Undergraduate studentsdesign and implement computers using the Multimedia Logic emulator,”Computer Science Education, vol. 17, no. 2, pp. 141–152.

[22] A. Martinez-Mones, E. Gomez-Sanchez, Y.A. Dimitriadis, I.M. Jorrın-Abellan, B. Rubia-Avi, and G. Vega-Gorgojo, “Multiple Case Studies toEnhance Project-Based Learning in a Computer Architecture Course,”IEEE Transactions on Education, vol. 48, no. 3, 2005, pp. 482–489.

[23] N. Garay, E. Larraza, J. Martın, T. Ruiz and I. Soraluze.“Arquitectura de Computadores” OCW, UPV/EHU. Available:http://ocw2010.ehu.es/file.php/103/arquitectura/arquitectura com/Courselisting.html

[24] devkitPro. Available: http://devkitpro.org (Last visited: 3/25/2013)[25] E. Larraza-Mendiluze, and N. Garay-Vitoria. “A comparison between

lecturers’ and students’ concept maps related to the input/output topicin computer architecture”, inProc. 12th Koli Calling InternationalConference on Computing Education Research Koli Calling’12, Koli,Finland, 2012, pp. 57–62.

[26] E. Larraza-Mendiluze, and N. Garay-Vitoria. “The learning outcomesof exam questions in the Input/Output topic in Computer Architecture”,in Proc. 2013 Learning and Teaching in Computing and Engineering(LaTiCE 2013), Macau, China, 2013.

Edurne Larraza-Mendiluze received a M.S. degree in computer engineeringfrom the UPV/EHU, in 1999, and an M.S. in ICT applied to Education fromMondragon Unibertsitatea (MU), in 2004. Currently she is pursuing the Ph.D.degree in Computer Engineering at the UPV/EHU. Her research interestsinclude education of the Input/Output subsystem.

Nestor Garay-Vitoria has a M.S. degree in informatics and a Ph.D. incomputer science from the UPV/EHU (Extraordinary Award in October2002). He is an Associate Professor in the Computer Architecture andTechnology Department of the UPV/EHU. He is the Academic Director ofthe Master degree on Assistive Technology for the Personal Autonomy givenin UPV/EHU. His research interests include Human-Computer Interaction forSpecial Needs, in Egokituz, a high performance research group for the BasqueGovernment.

Jose I. Mart ın received the M.S. and Ph.D. degrees in computer science fromthe UPV/EHU in 1990 and 1994, respectively. He is an Associate Professorin the Computer Architecture and Technology Department of theUPV/EHU.His research interests include data mining and pattern recognition.

Javier Muguerza received the M.S. and Ph.D. degrees in computer sciencefrom the UPV/EHU in 1990 and 1996, respectively. He is an AssociateProfessor in the Computer Architecture and Technology Department of theUPV/EHU. His research interests include data mining, web mining, patternrecognition and high performance computing.

Txelo Ruiz-Vazquezreceived the M.S. degree and Ph.D. degree in industrialengineering from University of Navarra, in 1982 and 1988, respectively. Sheis an Associate Professor of computer architecture and technology with theFaculty of Informatics, UPV/EHU. Her research interests include embeddedsystems.

Iratxe Soraluze received the Ph.D. degree in computer science from theUPV/EHU in 2004. She is currently an associate professor of computer scienceat the UPV/EHU. Her research interests include distributedalgorithms andsystems, fault tolerance, and ubiquitous computing.

Jose F. Lukas has a Ph.D. in philosophy and educational sciences fromthe UPV/EHU. He is an Associate Professor in the Department ofResearchMethods and Educational Diagnose at the UPV/EHU. His research interestsare in the evaluation of educational programs and schools.

Karlos Santiago has a Ph.D. in philosophy and educational sciences fromthe UPV/EHU. He is an Associate Professor in the Department ofResearchMethods and Educational Diagnose at the UPV/EHU. His research interestsare in the evaluation of educational programs and schools.