Approaches and Tools Used to Teach the Computer Input/Output Subsystem: A Survey

This paper surveys how the computer input/output (I/O) subsystem is taught in introductory undergraduate courses. It is important to study the educational process of the computer I/O subsystem because, in the curricula recommendations, it is considered a core topic in the area of knowledge of computer architecture and organization (CAO). It is also a basic knowledge to be acquired in order to work in areas such as human-computer interaction (HCI) or embedded systems. Examination questions, course syllabi, and textbooks were analyzed to identify which teaching approaches are being used. Individuals teaching the I/O subsystem could choose between the options explained here, according to their intended learning outcomes. In addition, a literature survey was conducted on the development and use of tools to improve student understanding of I/O and to make the topic less abstract and more attractive. A goal is to indicate to computing education researchers that the majority of the literature reports experiences in developing or using different resources or educational methodologies, but that these are not based on a theory of learning.

[1]  Mats Brorsson,et al.  MipsIt: a simulation and development environment using animation for computer architecture education , 2002, WCAE '02.

[2]  Carl Hamacher,et al.  Computer Organization and Embedded Systems , 1980 .

[3]  Luca Faust,et al.  Computer Organization And Architecture Designing For Performance , 2016 .

[4]  Rolf Drechsler,et al.  Computer architecture core of knowledge for computer science studies , 2015 .

[5]  Louise Nash QS World University Rankings 2013 published , 2013 .

[6]  Douglas A. Lyon,et al.  Computer Engineering 2004 – Curriculum Guidelines for Undergraduate Degree Programs in Computer Engineering: A Report in the Computing Curricula Series , 2004 .

[7]  J.P. Buzen,et al.  I/O subsystem architecture , 1975, Proceedings of the IEEE.

[8]  Isidro F. Aguillo Ranking Web of Universities: Status and practical issues of the Bosnia-Herzegovina universities , 2014 .

[9]  Veljko M. Milutinovic,et al.  A Survey and Evaluation of Simulators Suitable for Teaching Courses in Computer Architecture and Organization , 2009, IEEE Transactions on Education.

[10]  M. Morris Mano,et al.  Computer system architecture , 1982 .

[11]  Francisco Moya,et al.  Nintendo DS: A Pedagogical Approach to Teach Computer Architecture , 2009, ESA.

[12]  Greg W. Scragg Computer Organization, A Top-Down Approach , 1992 .

[13]  D. Ross,et al.  Times Higher Education World University Rankings , 2017 .

[14]  Michael Black,et al.  Emumaker86: a hardware simulator for teaching CPU design , 2013, SIGCSE '13.

[15]  Andrew S. Tanenbaum,et al.  Structured Computer Organization , 1976 .

[16]  Patricia J. Teller,et al.  Combining learning strategies and tools in a first course in computer architecture , 2003, WCAE '03.

[17]  Steve Roach,et al.  Computer Science curricula 2013: getting involved and getting ready , 2013, SGCS.

[18]  Javier Muguerza,et al.  Game-Console-Based Projects for Learning the Computer Input/Output Subsystem , 2013, IEEE Transactions on Education.

[19]  William Stallings Computer Organization and Architecture: Designing for Performance , 2010 .

[20]  Margo I. Seltzer,et al.  On the design of a new CPU architecture for pedagogical purposes , 2002, WCAE '02.

[21]  David A. Patterson,et al.  Computer Organization and Design - The Hardware / Software Interface (Revised 4th Edition) , 2012, The Morgan Kaufmann Series in Computer Architecture and Design.

[22]  William Yurcik,et al.  Distributed expertise for teaching computer organization & architecture , 2001, SGCS.

[23]  Richard M. Salter,et al.  DLSys: A Toolkit for Design and Simulation of Computer System Architecture , 2011 .

[24]  Kevin F. Collis,et al.  Evaluating the Quality of Learning: The SOLO Taxonomy , 1977 .

[25]  Hugh Osborne,et al.  Teaching computer organization/architecture with limited resources using simulators , 2002, SIGCSE '02.

[26]  Benjamin S. Bloom,et al.  Taxonomy of Educational Objectives: The Classification of Educational Goals. , 1957 .

[27]  Terry Scott Illustrating programmed and interrupt driven I/O , 2000 .

[28]  M. Gunnarsson QS World University Rankings , 2011 .

[29]  Daniel J. Ellard,et al.  Ant-32 Assembly Language Tutorial (for version 3.1.0b) , 2002 .

[30]  Nestor Garay-Vitoria,et al.  The Learning Outcomes of the Exam Question in the Input/Output Topic in Computer Architecture , 2013, 2013 Learning and Teaching in Computing and Engineering.

[31]  Dennis Brylow,et al.  Nexos: a next generation embedded systems laboratory , 2009, SIGBED.

[32]  Michael David Black,et al.  A full system x86 simulator for teaching computer organization , 2011, SIGCSE '11.