Download - Mathematics and Computer Science Department

0 downloads 0 Views 2MB Size Report
Cullowhee, North Carolina (USA) .... Stallings. Resources tied to one of these texts are likely to be well received, .... William Stallings, Computer Organization.
ITiCSE 2000 Working Group Reports

Distributed Expertise for Teaching Computer Organization & Architecture Lillian (Boots) Cassel (Co-Chair)

Mark Holliday

Department of Computing Sciences Villanova University Villanova, Pennsylvania (USA) cassel @acm.org

Department of Mathematics & Computer Science Western Carolina University Cullowhee, North Carolina (USA) [email protected]

Deepak Kumar (Co-Chair)

John Impagliazzo

Department of Mathematics & Computer Science Bryn Mawr College Bryn Mawr, Pennsylvania (USA) dkumar@ brynmawr.edu

Department of Computer Science Hofstra University Hempstead, New York (USA) csejzi @Hofst ra.edu

Kevin Bolding

Murray Pearson

Department of Electrical Engineering Seattle Pacific University Seattle, Washington (USA) holding @spu.edu

Department of Computer Science The University of Waikato Hamilton (New Zealand) mpearson @cs.waikato.ac.nz

Jim Davies

Gregory S. Wolffe

Computing Laboratory University of Oxford Oxford, England (UK) Jim.davies @comlab.ox.ac.uk

Department of Computer Science & Information Systems Grand Valley State University Allendale, Michigan (USA) [email protected]

William Yurcik Department of Applied Computer Science Illinois State University Normal, Illinois (USA) wjyurci @ilstu.edu

represents a mid-point of an ongoing two-year study. Following a discussion of the currently identified needs, we discuss ways to address t h e m and conclude the report with a plan of action that will follow in the next phase of the project.

Abstract This report presents preliminary results from our project on creating distributed expertise for teaching computer organization & architecture course(s) in the undergraduate computer science curriculum. W e present the details of an online survey designed to gather information f r o m faculty on the current state of teaching this course. T h e survey also tries to identify specific areas of need for creating distributed expertise as reported by various faculty. W e also present several resources that h a v e been identified that are available for use by faculty teaching the course(s). This report

1. I n t r o d u c t i o n Basic principles about the organization and operation of a computer occupy a place in the core of most computing curricula. Because these topics m u s t be taught in virtually all programs, there are wide variations in the expertise and interests of faculty assigned to teach them. S o m e faculty w h o teach these subjects are deeply involved in the topic areas, others

111

ITiCSE 2000 Working Group Reports

h a v e substantial e x p e r i e n c e but a different p r i m a r y focus, a n d still others are clearly t e a c h i n g outside their area o f e x p e r i e n c e a n d expertise. In all cases, the faculty are c h a l l e n g e d to r e m a i n current in the topic a n d to address both the f u n d a m e n t a l p r i n c i p l e s a n d r a m i f i c a t i o n s o f recent d e v e l o p m e n t s . T h e goal o f this w o r k i n g g r o u p is to d e t e r m i n e the seriousness o f the p r o b l e m and to consider ways to s u p p o r t teachers. T h e u n d e r l y i n g a s s u m p t i o n h a s been that there are p e o p l e t e a c h i n g in this subject a r e a w h o are not entirely confident about the topic m a t e r i a l they are teaching. T h i s situation can arise for a n y o f the categories mentioned above. Even the most e x p e r i e n c e d a n d i n v o l v e d r e s e a r c h e r in c o m p u t i n g h a r d w a r e m a y not be current or c o n f i d e n t in s o m e subtopics considered significant for i n t r o d u c i n g students to the subject. C e r t a i n l y p e o p l e teaching outside their interest a r e a are likely to be m o r e in n e e d o f support t h a n others, but the need is widespread. T h e basic a s s u m p t i o n s w e r e investigated t h r o u g h a s u r v e y d e v e l o p e d a n d a d m i n i s t e r e d u n d e r a grant f r o m the United States N a t i o n a l Science F o u n d a t i o n ( N S F E H R / D U E 9951352). T h e s u r v e y was a n n o u n c e d at S I G C S E 2 0 0 0 at the N S F S h o w c a s e a n d further p r o m o t e d t h r o u g h m e s s a g e s to the S I G C S E m a i l i n g list. A n u m b e r o f p e o p l e sent m e s s a g e s saying they h a d h e a r d about the s u r v e y f r o m a colleague w h o s a w the notice on the S I G C S E list a n d h a d a question or a c o m m e n t . W e h a v e no w a y of t r a c k i n g h o w m a n y p e o p l e h e a r d about the s u r v e y f r o m those we contacted. T o date, 82 i n d i v i d u a l s h a v e c o m p l e t e d the survey. T h e s u r v e y r e m a i n s online I a n d n e w entries a p p e a r regularly. T h e s u r v e y a i m s to identify w h i c h topic areas are commonly taught in courses in computer o r g a n i z a t i o n / a r c h i t e c t u r e a n d w h e r e faculty, teaching those courses, h a v e low c o n f i d e n c e levels about their c o m m a n d of the topics. T h e s u r v e y also identifies topic areas that are not taught. T h e survey distinguishes between those w h o do not teach the topic because they do not h a v e a n y interest in i n c l u d i n g that topic in their course a n d those w h o w o u l d like to include a specific topic but do not for o n e reason or another. T h e survey a l l o w e d a c h o i c e o f faculty or text as the limiting factor. H o w e v e r , a n u m b e r o f s u r v e y participants said they would teach s o m e o f these topics if they h a d m o r e time.

O f the respondents, 4 1 % use o n l y lectures for teaching, while 4 3 % use lectures a n d labs together. 16% r e p o r t e d u s i n g o n l y labs (open or closed) for teaching. T h i s implies that the m a j o r i t y o f resources s h o u l d be d e v o t e d to m a t e r i a l s to aid instructors in lecturing. A v a r i e t y o f g r a d i n g m e c h a n i s m s are used. T h e p e r c e n t a g e of the g r a d e o b t a i n e d f r o m e x a m s is a g o o d i n d i c a t o r o f the general structure of the course. T h e m a j o r i t y ( 6 5 % ) d e t e r m i n e between 5 0 % a n d 7 5 % o f the g r a d e f r o m e x a m s . 2 1 % o f the courses rely on e x a m s for less t h a n h a l f o f the grade, a n d 13% use e x a m s for m o r e t h a n t h r e e - q u a r t e r s of the grade. In general, projects m a k e up the b u l k of the r e m a i n i n g grade, with 6 9 % o f the classes d e t e r m i n i n g between 2 5 % a n d 5 0 % o f the g r a d e based on projects. F r o m these results, it is clear that resources that h e l p design e x a m s a n d projects would also be v e r y well received. A l m o s t all r e s p o n d e n t s use a t e x t b o o k in t e a c h i n g the course. A wide variety of texts a r e in use, but o n l y a f e w s e e m to be w i d e l y used. T h e table b e l o w lists the p e r c e n t a g e s o f r e s p o n d e n t s u s i n g p a r t i c u l a r texts for all texts that w e r e m e n t i o n e d m o r e t h a n once. T w o - t h i r d s o f the courses r e p r e s e n t e d in the s u r v e y are t a u g h t u s i n g either P a t t e r s o n / H e n n e s s e y , T a n e n b a u m , or Stallings. R e s o u r c e s tied to o n e o f these texts are likely to be well received, w h i l e t h o s e d e p e n d e n t on other texts will find s m a l l e r audiences. See section 5.2 for a list o f all the texts m e n t i o n e d b y s u r v e y responders.

Textbook Author

Percentage Using Text

D a v i d A. Patterson a n d J o h n L. I-Iennessey A n d r e w S. T a n e n b a u m W i l l i a m Stallings M. M o r r i s M a n o G r e g W. S c r a g g Carl Hamacher and Zvonko Vranesic All others

35% 19% 10% 4% 4% 3% 25%

T h e lab m a t e r i a l s used v a r y w i d e l y f r o m c o u r s e to course. A m a j o r i t y o f r e s p o n d e n t s use l o c a l l y d e v e l o p e d materials. H o w e v e r , several did m e n t i o n u s i n g the S P I M s i m u l a t o r (see section 5.8 on S i m u l a t o r s below) in their labs as well. It a p p e a r s that there is a g r e a t n e e d for s o m e s t a n d a r d lab m a t e r i a l s to h e l p in teaching computer organization. Overall, there 13 a wide v a r i e t y o f a p p r o a c h e s to t e a c h i n g this course. A b o u t the o n l y g e n e r a l i z a t i o n s that can be m a d e are 1) m o s t courses d e t e r m i n e a r o u n d o n e - h a l f o f the g r a d e f r o m e x a m s , a n d a r o u n d o n e third f r o m projects, and 2) m o s t courses use o n e o f the t h r e e m o s t c o m m o n textbooks, as s h o w n in the table above. Our project a i m s to p r o v i d e s u p p o r t for t e a c h i n g faculty without specifying h o w the faculty s h o u l d c o n d u c t their

2. O v e r v i e w of s u r v e y results T h e s u r v e y has two distinct parts, general i n f o r m a t i o n in the first p a r t a n d specific c o n f i d e n c e levels in the second part. T h i s section addresses general i n f o r m a t i o n about c o m p u t e r o r g a n i z a t i o n classes, while specific c o n f i d e n c e levels are a d d r e s s e d later in Section 6.

http://christie.netlab.csc.villanova.edu/survey.html

t12

ITiCSE 2000 Working Group Reports The most thorough approach requires three courses which are typically the following: I. A digital logic course (the s a m e course that electrical engineering and computer engineering students take), which covers digital logic and digital systems (AR1). II. A course on the p r o g r a m m e r ' s view of computer architecture; this course covers m a c h i n e level representation of data (AR2) and assembly level machine organization (AR3). This treatment includes topics such as linking and loading and the difference between RISC and C I S C instruction set architectures. III. A course on implementation of the instruction set architecture (AR4-AR6). The less thorough approach consists of a two course sequence that covers AR1-AR6. Different divisions are possible although these topics naturally divide as follows: the first course covers A R 2 and AR3 and lightly covers the other topics. The second course m o r e deeply covers the other topics (AR1, AR4-AR6). The least thorough approach teaches AR1 through AR6 in a single course. There are m a n y reasons for choosing one approach or another and for selecting the topics for a particular course. This project attempts to identify resources that will be of use in a particular course regardless of its design and its goals. T h e next section presents a comprehensive set of resources that are currently available through the World W i d e Web.

course. Thus, this is not a curriculum recommendation and no suggested syllabus is included. This report presents a comprehensive list of existing resources that faculty can use now. W e also present the list of topic areas, identified by our survey, that are most in need of support. Since this is a part of an ongoing project, this report represents a first analysis of the survey results; more will follow in future reports.

3. M o t i v a t i o n It is clear that a treatment of computer organization and architecture should be required in any curriculum for an undergraduate degree in computer science. For example, the Computer Science Accreditation Commission (CSAC) of the Computing Sciences Accreditation Board (CSAB) states in its Criteria for

Accrediting Programs in Computer Science in the United States, J1] adopted in January 2000, that "All students must take a broad-based core of fundamental computer science material ... The core materials must provide basic coverage of ... computer organization and architecture." Topics covered in the required course or courses have been stable for a number of years. For example, the list of topics in Computing Curricula 199112] and the draft C o m p u t i n g Curricula 200113] (current draft is dated March 6, 2000) closely overlap. The draft Computing Curricula 2001 report has been developed by the Joint Task Force on Computing Curricula of the IEEE Computer Society and of the Association for Computing Machinery. This report identifies what should be in the required core material on computer organization and architecture within its CS Body of Knowledge appendix. T h e m a i n topics listed are: AR1. AR2. AR3. AR4. AR5. AR6.

5. E x i s t i n g r e s o u r c e s In this section we review existing resources. Due to the large volume and diversity of materials, a key issue is how to categorize potential resources for these topics. W e decided to categorize resources by source type. Examples include curricular recommendations, textbooks, conferences, and simulators. These are described in the remainder of this section.

Digital logic and digital systems Machine level representation of data Assembly level m a c h i n e organization M e m o r y system organization I/O and communication CPU implementation

5.1 Curricula recommendations T h e primary current r e c o m m e n d a t i o n s for teaching computer organization and architecture in the undergraduate computer science curriculum are:

4. V a r i a t i o n s in c o u r s e d e s i g n There are several approaches to assembling the core material on computer organization and architecture into one or m o r e courses. Not recognizing the existence of these different approaches can cause confusion when discussing "the computer organization course" (especially when considering the appropriateness of a particular textbook). Beyond the required course(s), there are elective courses that typically do a more detailed treatment of uniprocessor m e m o r y and processor design, address parallel architectures, or focus on microcomputer interfacing. There are three c o m m o n approaches to the number and format of the required courses in computer organization and architecture within the undergraduate computer science curriculum.

113

I.

CSAC Criteria for Accrediting Programs in Computer Science in the United States [ 1]

II.

A C M / I E E E C o m p u t i n g Curricula 1991 [2] This is the current approved recommendation for the required coverage of computer organization.

III.

I E E E / A C M C o m p u t i n g Curricula 2001 report [3].

ITiCSE 2000 WorkingGroup Reports

Ilwww.cs.wisc.edul-smolerlx86text.html (ISBN# 019-512-376X)

5.2 T e x t b o o k s Many books could and have served a~s textbooks for computer organization courses (too many to list here). The goal of this subsection is to provide a representative list of currently used textbooks. We focus on textbooks for the required undergraduate computer organization course(s) and not on textbooks intended for undergraduate elective or graduate computer architecture courses. As an example of this distinction, Patterson and Hennessy's Computer Organization and Design, Second Edition[5] .is. widely used for a required first course in computer organization while Hennessy and Patterson's Computer Architecture: A Quantitative Approach, Second Edition is usually used for a more advanced undergraduate elective or graduate course.The following list is derived from responses in our survey (in alphabetical order): I.

Kenneth J. Ayala, The 80251 Microcontroller, Prentice Hall, 1999 (ISBN: 0139075518). Specific architecture focus (80251)

II.

Sivarama P. Dandamudi, Introduction to Assembly Language Programming: From 8086 to Pentium Processors, Springer Verlag, 1998 (ISBN: 0387985301). Specific architecture focus (Intel)

III.

IV.

V.

VI.

VII.

Irv Englander, The Architecture of Computer Hardware and System Software: An Information Technology Approach, John Wiley & Sons, 2000 (ISBN: 0471362093). Undergraduate general focus

X.

David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, Second Edition, Morgan Kaufmann, 1997 (ISBN: 1558604286). http ://www.mkp.com/ books_catalog/catalog.asp?ISBN= 1-55860-428-6 Undergraduate focus, often considered advanced

XI.

G-~eg W. Scragg, Computer Organization: A Top-Down Approach, McGraw Hill, 1992 (ISBN:0070558434). Undergraduate general focus

XII.

William Stallings, Computer Organization and Architecture: Design for Performance, 5 th edition Prentice Hall, 2000 (ISBN: 0-13-0812943). h ttp://WilliamStallings.com/COA5e.html Undergraduate general focus

XIII.

Andrew S. Tanenbaum, Structured Computer Organization 4 th Edition, Prentice Hall, 1998 (ISBN: 0130959901). http://cw.prenhall.com/bookbindl pubbooks/tanenbaum2/ Undergraduate general focus

XIV.

David Weaver and Tom Germond, The SPARC Architecture Manual Version 9, Prentice Hall 1993 (ISBN: 0130992275). Specific architecture focus (SPARC)

Future subcategorization of textbooks by the following categories is under development. (Watch the project web page[6] for updates):

James R. Goodman and Karen Miller, Programmers View of Computer Architecture: With Assembly Language Examples from MIPS, RISC Architecture, HBJ College and School Division, 1993. (ISBN: 0195131096). Specific architecture focus (MIPS)





Carl Hamacher and Zvonko Vranesic, Computer Organization 5 th edition, McGraw Hill, 2000, (ISBN: 0071143092). Undergraduate general focus

• • •

Vincent P. Heuring and Harry F. Jordan, Computer Systems Design and Architecture, Addison-Wesley, 1997 (ISBN: 080534330X). Undergraduate general focus

the AR1-AR6 categories in the Computing Curricula 2001 CS Body of Knowledge instruction set architectures (for example, MIPSbased versus Intel-based) type of supporting software provided the degree of inclusion of digital logic, assembly language, and operating system content publication date

A cross listing of course links and author links with these textbooks is also under development. (Watch the project web page[6] for updates).

Kip R. Irvine, Assembly Language for lntelBased Computers 3 ra Edition, Prentice Hall, 1998 (ISBN:0136603904). Specific architecture focus (Intel)

5.3 C o n f e r e n c e s

VIII.

Morris Mano, Computer System Architecture 3 ra Edition, Prentice Hall, 1992 (ISBN: 0131755633) Undergraduate general focus

Various computer science education conferences and workshops either focus on computer architecture education or host sessions on the topic. Some examples follow:

IX.

Karen Miller, An Assembly Language Introduction to Computer Architecture, Oxford University Press, 1999. http:

I.

114

Workshop on Computer Architecture Education (WCAE). These workshops are held in

ITiCSE 2000 Working Group Reports

II.

conjunction with the International S y m p o s i u m on High Performance Computer Architecture (HPCA) and/or International Symposium on Computer Architecture (ISCA): the first one was held in 1994. I E E E Computer Society's Technical C o m m i t t e e on Computer Architecture (TCCA) publishes proceedings of some workshops in the T C C A Newsletters. Links to some of the workshop p r o g r a m s are available from the project web page[6].

links to m a n y manufacturers can be found at: http:// www.cs .wisc.edu/~ arch/www/commercial.html.

A C M Special Interest Group on Computer Science Education (SIGCSE) Sponsored Conferences2:

C P U Info Center (http://bwrc.eecs.berkeley.edu/CIC/)

L

Tom's Hardware Page (http://www. tomshardware, com/)



II.

AnandTech (http://www.anandtech. corn/index, html)

A m o r e exhaustive list with live links will be m a d e available through our project web site (http://christie.netlab.cse.villanova.edu-results/). The following are third party product review web sites that can also serve as a useful resource:

S I G C S E Technical S y m p o s i u m on Computer Science Education • Conference on Innovations and Technology in C o m p u t e r Science Education (ITiCSE) http://www.cs.utexas.edu/users/cs ed/iticse/ III. Compilation of Research Conferences http://www.cs.wise.edu/~arch/wwwleonferences.ht m (maintained by University of Wisconsin Computer Architecture Group)

Storage Review (http ://www.storag e review, corn/) 5.7 Course material repositories Several repositories have been developed to contain links to course material developed by instructors. S o m e of these are applicable to C o m p u t e r Organization:

5.4 Computer architecture course database This database 3, maintained by Edward Gehringer of North Carolina State University, contains approximately six hundred problems ( m a n y with answers) used by instructors from around the world. The database is only accessible by registered users who are usually instructors. Registered users are able to search the database and download problems without charge. Registered users are also encouraged to submit problems that they have developed.

I.

Computer Science Education links (maintained by Renee McCauley). This repository is organized by subject area and contains links to course materials developed by instructors. T h e web p a g e for this repository can be reached through www.acm.org/sigcse.

II.

Computer Science Education Resources (maintained by Lewis Barnett). This repository contains links to resources relevant to computer science education in a broader sense than the other repositories listed in this section. A web page for this repository can be reached through www.acm.org/sigcse.

HI.

Computer Science Teaching Center (CSTC). T h e C S T C is a digital library of reviewed resources for teaching computer science. C S T C is currently a f r a m e w o r k for developing and distributing visualization tools, computing laboratories, and multimedia resources but will be expanded to include a variety of other resources such as curriculum development, test banks, lecture notes, and syllabi. A m o n t h l y newsletter keeps subscribers informed about the latest additions to the library. C S T C is partially funded by the National Science Foundation and by the A C M Education Board. C S T C web pages can be found at: http:l/www.cstc.org/

IV.

National Science Foundation Computer Science Courseware Repository (NSFCSCR). N S F C S C R has been established to provide a means to electronically disseminate the results of educational computer science p r o g r a m s and

5.5 General computer architecture websites T h e Computer Architecture H o m e Page 4 contains a comprehensive list of web-accessible resources of m a n y different types focused primarily on computer architecture research. While m u c h of this material is probably too advanced for an introductory computer organization course, it does provide an overview of the current state-of-the-art.

5.6 Vendors and product review sites C o m m e r c i a l sites contain a wealth of information that is product specific or that addresses the current features of a class of products. Product review sites compare and contrast different vendor products in illuminating ways. A web page (maintained by University o f Wisconsin Computer Architecture Group) that provides 2 http://www.acm.org/sigcse/conference info.html 3 http://wwwassign.physics.ncsu.edu/compareh/ 4 http ://www.cs. wisc.edu/-arch/www/

115

ITiCSE 2000 Working Group Reports II.

projects funded by NSF. This repository contains links to resources for computer science education that has been developed as part of a National Science Foundation grant. T h e web pages for the NSFCSCR can be found at: http://www, education.siggraph.org/nsfcscr/nsfcscr. home.html

Professional organizations

T h e professional c o m p u t i n g organizations have links to publications, conferences and other resources that m a y be o f use to instructors developing computer organization courses. T h e s e organizations include:

I.

T h e A C M (http://www.acm.org). T h e A C M Digital Library can be found at http:/Iwww.acm.org/dl/. Note that some content m a y require a subscription. II.

III.

I.

V.

S I G M I C R O ( A C M Special Interest Group on Microarchitecture and M i c r o p r o g r a m m i n g ) . S I G M I C R O 6 specializes in the study o f computer microarchitecture including instruction -level parallelism and its implications on compiler design.

Library

T h e T C C A (Technical C o m m i t t e e on C o m p u t e r Architecture) Newsletter. T h e T C C A is involved with research and d e v e l o p m e n t in the integrated h a r d w a r e and software design of general and special-purpose uniprocessors and parallel computers. The TCCA annually sponsors the International S y m p o s i u m on Computer Architecture and publishes a newsletter periodically c o n t a i n i n g meeting reports, abstracts o f technical reports, call-forpapers, and other a n n o u n c e m e n t s . A web page for the TCCA can be found at

5.9 Simulators Current software t e c h n o l o g y enables rich learning environments for visualization and active learning o f computer organization using a n i m a t e d simulators. Students can learn the fundamentals o f c o m p u t e r organization/architecture by visually observing and interacting with animated data flow within a particular hypothetical or real machine. V i e w i n g highlighted operations within a computer and in slow m o t i o n can be a powerful teaching tool. A representative sample o f simulators used in teaching is s u m m a r i z e d in Table 1.

S I G C S E ( A C M Special Interest Group on C o m p u t e r Science Education). S I G C S E provides a f o r u m for problems c o m m o n among educators working to develop, implement, and/or evaluate c o m p u t i n g programs, curricula, and courses, as well as syllabi, laboratories, and other elements o f teaching and pedagogy. S I G C S E also publishes a bulletin that can be found at: http://www.acm.org/sigcse/bulletin/ SIGMETRICS (ACM Special Interest G r o u p for C o m p u t e r / C o m m u n i c a t i o n System Performance). S I G M E T R I C S s promotes research in p e r f o r m a n c e analysis techniques as well as the advanced and innovative use o f known methods and tools.

Society Digital

http:l/www.computer.org/tab/ tcca/index.htm

S I G A R C H ( A C M Special Interest Group on C o m p u t e r Architecture). S I G A R C H serves a unique c o m m u n i t y o f computer professionals working on the forefront of computer design in both industry and academia. It is A C M ' s p r i m a r y f o r u m for interchange of ideas about t o m o r r o w ' s h a r d w a r e and its interactions with compilers and operating systems. T h e web pages can be found at http://www.acm.org/sigarch/.

IV.

Computer

Note that some content requires a subscription. T h e May/June 2000 issue of the I E E E M i c r o M a g a z i n e is a special issue dedicated to computer architecture education. It can be found at http://computer.orglmicrolindex.htm III.

5.8

IEEE

(http://www.computer.org/publicationsldlibl).

5 . 1 0 Computing history A d d i n g elements o f c o m p u t i n g history can provide motivation and context for the rest o f a c o m p u t e r organization course. A recent publication entitled "History in C o m p u t i n g C u r r i c u l u m " [6] shows h o w o n e can integrate history in the curriculum. It also provides a list o f books, periodicals, videos web sites, courses and other information o f interest that m a y be useful to teachers and students. T h e following associated web site also provides a c h r o n o l o g y o f historical events: http://www.Hofstra.edu/ComputingI-tistory. 6. P r e l i m i n a r y n e e d s a n a l y s i s - s u r v e y r e s u l t s T h e first step in providing distributed expertise in any subject area is to d e t e r m i n e w h e r e such assistance might be desired. In this section, we attempt to identify the areas within c o m p u t e r organization/architecture w h e r e survey respondents feel they are most in need of assistance. As described previously, we use instructors' r a n k i n g s o f their own

I E E E C o m p u t e r Society (www.computer.org)

5 http://www, sigmetrics.org/ 6 http://www, acm.org/sigmicro

116

ITiCSE 2000 Working Group Reports capabilities and confidence in their ability to teach particular topics and sub-areas within those topics. 6.1 C o n t e n t

areas

Section 3 defines the main topics recommended as fundamental to computer organization/architecture courses. Each of the major topics is broken down into several subareas. W h e n instructors indicated that they teach in a major area, they were surveyed in more detail about each of the subareas. T h e more detailed sections of the survey

117

ITiCSE 2000 Working Group Reports

Simulator

OS's Supported

Type

Features

Easy CPU

Windows

Instruction Level

LC2

Unix

Instruction Level

Little M a n

Web Based

Simple Instruction Level

SPA

Windows

SPIM

Unix and Windows

Instruction Level Instruction Level

Suitable for teaching an undergraduate assembly-language progrmnrning course Uses an X86 like instruction set. Instructions shown in a s s e m b l y language format in the computers memory. Web page: http://www.cteh.ac.il/departments/education/cpu.htm Developed to support the teaching of EECS 100 at the University of Michigan. Assembler available. Has simple scripting language to facilitate in the testing and grading of programs W e b page: http://www-personal.engin.umich.edu/-postiffm/lc2/lc2.html V e r y simple single accumulator based architecture with a small number o f instructions, Suitable for a first course in Computer Science. Has built in assembler W e b page: h t t p : / / 1 3 8 . 8 7 . 1 6 9 . 3 0 / l m c / d e f a u ] t . h t m Shows very simple CPU datapath; Suitable for a first course in C o m p u t e r Science W e b page: http://www.spasoft.co.uk/cpusim.html A self-contained simulator for running MIPS R2000/R3000 a s s e m b l y language programs. The simulator provides a basic set of operating systems services. W i d e l y used to support courses based on Patterson and H e n n e s a y " C o m p u t e r Organization: The Hardware/Software Interface" and G o o d m a n and M i l l a r "Programmers View of Computer Architecture". W i n d o w s version has a graphical user interface while the Unix version uses a textual interface W e b page: h t t p : / / w w w . c s . w i s c . e d u / - l a r u s / s p i m . h t m l

THR Siml 1

Windows

Instruction Level

DLX Sim

Unix

Instruction Level

Micro Architecture

Mac

Register Transfer Level

RTLSim

Unix

Register Transfer Level

MIPSim

Unix

Instruction Level

A simulator f o r the Motorola 6 8 H C l l A 8 micro controller. Suitable f o r a course on micro controllers where the emphasis is on interfacing to other devices W e b page: h t t p : / / w w w . h c l i . d e m o n . n ] / t h r s i m l l / t h r s i m 1 1 . h t m Described in Hennessy and Pattersons Book, Computer Architecture: A Qualitative approach. W i l l c o l l e c t s t a t i s t i c s o n I n s t r u c t i o n a n d f u n c t i o n a l u n i t u s a g e etc. ; H a s a b u i l t i n a s s e m b l e r a n d d e b u g g i n g f a c i l i t e s ; A C c o m p i l e r c a l l e d d l x c c is a v a i l a b l e for t h e a r c h i t e c t u r e . V a r i o u s e x t e n d e d versions of the simulator exist W e b page: http://www.mkp.eom/books catalog/ca/hp2e res.hlm

M o d e l s a m i c r o p r o g r a m m e d architecture similar to the one described in the book Structured Computer Organisation by A n d r e w T a n e n b a u m (Prentice Hall). Contains visual representation o f the datapath. Allows single stepping at the Instruction or Microinstruction level W e b site: http://www,ka~i,com/fab/msim.html R T L level simulator for a simple non-pipelined MIPs C P U where the user acts as the control unit setting control signals to get the data-path to perform required operations, Contains a visual representation of the data-path Web site: http://www.cs.waikato:ac.nzlcs/Teaching/O657.201/Simulators A self-contained simulator for running MIPS R2000/R3000 asl programs Contains peripherals: two serial ports, a timer, eight switches and a seven segment display Web page: http://www.cs.waikato.ac.nz/Teaching/0657.20 l/Simulators.html

T a b l e 1: A s a m p l e o f s i m u l a t o r s a v a i l a b l e for u s e in t e a c h i n g c o m p u t e r o r g a n i z a t i o n a n d a r c h i t e c t u r e

118

ITiCSE 2000 Working Group Reports •

queried respondents as to their confidence in teaching specific content sub-areas within these main topics. The sub-areas are listed below.

Alternative architectures • •

Digital logic • • • • • • •



basic logic elements and switching theory minimization and implementation of functions propagation delays and hazards technologies; flip-flops devices (demultiplexers, decoders, comparators) memories (ROM, PROM, R A M ) analysis/synthesis of synchronous circuits; asynchronous circuits

In an attempt to characterize an individual's assessment of their confidence in teaching each of the main topics covered in a computer organization/architecture course, we have developed a metric called the self-confidence index. W e use this index to identify those topics where instructors m i g h t benefit from convenient access to quality resources.

register transfer notation finite state machines tri-states and bus structures iterations decomposition, trade-offs, economics block diagrams, timing diagrams, transfer language

• • • • •

The index is calculated by averaging survey respondents' self-confidence rankings across each of the sub-areas within a topic. A L o w self-confidence ranking in a sub-area was assigned a value of 1, a Medium ranking was given a value of 2, and High rankings were assigned a value of 3. I f a respondent selected "Not taught" or "Would teach i f ' for a particular sub-area, it was not included in the index. (At this point, it is not possible to infer a selfconfidence ranking from these "non-answers".)

Machine level representation of data • • •

numeric data representation (binary, hexadecimal) non-numeric data (ASCII, Unicode) basic organization (yon Neumann, data paths, control paths) functional units (ALU, memory, registers)



To illustrate how the index was calculated, consider the following example. The topic of Digital Systems includes the following sub-areas: register transfer notation, finite state machines, tri-states and bus structures, iterations, decomposition and trade-offs, and block diagrams/timing diagrams. I f an individual ranked their abilities in these sub-areas as Medium, Medium, Low, Not taught, Low, and Medium, respectively, their self-confidence index for the course topic of Digital Systems would be 1.6 ((2+2+1+1+2)/5).

Assembly level machine organization •

• • • • • •

CISC, RISC parallel architectures (VLIW, SIMD, M I M D ) tight coupling

6.2 Self-confidence index

Digital systems •

external storage, physical organization and drives

instruction sets and types assembly and machine language addressing modes (direct, indirect, register) control unit, instructions and operand fetch, execution I/O and interrupts hardware realization m i c r o - p r o g r a m m i n g formats and coding

An overall confidence ranking of an individual was then assigned based upon the following ranges:

Memory system organization and architecture •

• • • •



storage systems and technology coding, data compression, data integrity space allocation and hierarchy main m e m o r y organization, bus operations, selection and addressing cache memory, read/write virtual m e m o r y

Interfacing and communication •

• • • •

Confidence Ranking

Range

Low

Index < 1.5

Medium

1.5 < Index < 2.5

High

Index > 2.5

Therefore, the individual in the hypothetical example given above (self-confidence index = 1.6) would be ranked as having a Medium self-confidence level in the topic of Digital Systems.

bus systems and control, D M A fault handling, reliability I/O control methods, interrupts interrupt acknowledgment synchronization, open loop, handshaking

A self-confidence index was calculated for each individual for each of the seven m a i n topics. To gain

119

ITiCSE 2000 Working Group Reports insight into the distribution of responses within a topic area, the individual index values were grouped to construct histograms. T h r e e bins were selected for each h i s t o g r a m , using the previously defined ranges as the cutoffs.

3O

25 Analysis o f the self-confidence index h i s t o g r a m s showed three general patterns e m e r g i n g . Survey respondents as a whole either felt e x t r e m e l y confident o f their ability to teach a topic, felt adequately p r e p a r e d to teach it, or clearly indicated a need for assistance.

5 0

Low

6.3 C o n f i d e n c e l e v e l s M s u b - a r e a s

IVl~ium

Hgh

Salf-oanfidant~ ImIIe~

For each m a j o r area, resutts are broken d o w n by subarea. For e a c h subarea, the n u m b e r of respondents w h o reported c o n f i d e n c e levels o f "low," " m e d i u m , " or " h i g h " is shown. A l s o the n u m b e r o f respondents w h o did not teach in that subarea is shown. T h e "not t a u g h t " portion is calculated by s u m m i n g the n u m b e r of r e s p o n d e n t s w h o did not teach in the m a j o r area (eg. digital logic) with the n u m b e r w h o teach in the m a j o r area, but not in the subarea (eg. m e m o r i e s ) . For this reason, the h e i g h t o f each bar is always equal to the total n u m b e r of instructors w h o r e s p o n d e d that they taught a n y of the areas.

S u r v e y r e s p o n d e n t s a p p e a r to feel a d e q u a t e l y p r e p a r e d to teach digital logic in general. H o w e v e r , t e a c h i n g resources i n v o l v i n g p r o p a g a t i o n delays, hazards, a n d s y n c h r o n o u s and a s y n c h r o n o u s circuits w o u l d be wellreceived by s o m e instructors.

6.4 Confidence level results and analysis

Tead~ng a ~ Lo~e -q~_~meaSe@-Oorldnnoe

W e n o w describe the results of the on-line survey for each of the m a j o r topics. Within each topic we first present an analysis o f the self-confidence index, followed by the detailed sub-area results.

mD hN ~ TaJ~it nHgh nt| Medum |N BLow Bb

6.4. 1 Digital logic Analysis of the self-confidence index h i s t o g r a m for digital logic shows that survey r e s p o n d e n t s as a whole felt t h e m s e l v e s adequately p r e p a r e d to teach this topic. T h e p e r c e n t a g e o f r e s p o n d e n t s with a L o w selfconfidence index was 19%, and m o s t individuals' i n d e x fell in the r a n g e we c a t e g o r i z e as M e d i u m .

%

W i t h i n the sub-areas, we found that basic logic is taught by n e a r l y all r e s p o n d e n t s a n d the vast m a j o r i t y feel confident in their abilities to teach the subject. T h e r e m a i n i n g sub-areas of digital logic are taught by oneh a l f to two-thirds of the respondents. T w o areas of need stand out: P r o p a g a t i o n D e l a y s / H a z a r d s and S y n c h r o n o u s / A s y n c h r o n o u s circuits. E i g h t out o f 25 instructors w h o p r o p a g a t i o n delays a n d h a z a r d s indicated a low level o f self-confidence. Likewise, ten out o f 25 instructors indicated that they teach s y n c h r o n o u s / a s y n c h r o n o u s circuits, but h a v e low confidence in their abilities. It is also notable that very few instructors rated themselves with "high" confidence in those two areas.

eo

6.4.2 Digital s y s t e m s In contrast to digital logic, digital systems is representative o f an area w h e r e s u r v e y r e s p o n d e n t s clearly did not feel confident o f their level o f p r e p a r e d n e s s to teach the topic in general. The p e r c e n t a g e o f r e s p o n d e n t s with a L o w self-confidence index was 32%. Also, the self-confidence indices w e r e evenly distributed a m o n g the three r a n k i n g s (Low, M e d i u m , High), as o p p o s e d to b e i n g c o n c e n t r a t e d in the M e d i u m range.

120

ITiCSE 2000 Working Group Reports Since machine-level representation of data is one of the most basic areas of computer organization, it would be expected that most instructors would be very confident of their teaching abilities in all sub-areas within this topic. It would appear that instructors in general are not in need of additional resources in this area.

The topic in general is taught by relatively few instructors. With the exception of Register Transfer Notation, all sub-areas were mentioned by fewer than one-third of those surveyed. Because of the small number of instructors that teach these sub-areas, it is difficult to m a k e m a n y conclusions about needs. For example, it is notable that most instructors who teach Decomposition and Trade-offs consider themselves to be poorly qualified in that sub-area, but this material is often taught in a separate digital logic design class.

TeachingI V l a ~ m ~ r - ~ ~kxl ~ SelNoonlidks~Lewis

We conclude that although a large percentage of those respondents teaching digital systems are in need of assistance, they m i g h t be better served searching for resources developed for logic design classes.

t~Na Taug~ OHgh II IV~urn

%%%% % % \ %

Digital Systems

~,~

30

~,

O-Oo ~

25

2o

5 0

Medium

Low

30

High

25

Self-confidence Index

g'a~ ~. 15 • 10 ii~

Teaching Digital Sy~enn6 Subarea Self-confidence Lewis

5

// // //

0

Low ohm • M~lium

IVl~trn

Hgh

8elf~~dex

J

6.4.4 Assembly-level machine organization

~,~.

,..

~.

The topic of assembly-level machine organization is another one that survey respondents in general felt adequately prepared to teach. The percentage of respondents with a L o w self-confidence index was only 13%. Most individuals' index fell in the range we categorize as Medium.

~..

6.4.3 Machine-level representation of data The topic in general is taught by almost all instructors, with the exception being m i c r o p r o g r a m m i n g , which is taught by very few. The sub-areas of Addressing Modes, I/O and Interrupts, and Hardware Realization all have significant "low" self-confidence responses. Hardware realization, in particular, has a large percentage of non-confident instructors.

Machine-level representation of data was the area in which survey respondents indicated the highest degree of self-confidence in their ability to teach the topic. The percentage of respondents whose self-confidence index was Low was only 7%. Furthermore, it was the only histogram in which most respondents' index fell in the High range.

1'Z1

ITiCSE 2000 Working Group Reports

6.4.5 Memory architecture

Analysis a n d correlation of the results for this topic is rather c o m p l e x . U p o n e x a m i n a t i o n of the detailed subarea results, it is e v i d e n t that instructors likely r a n k e d t h e m s e l v e s with " h i g h " confidence in the areas o f Instruction Sets, A s s e m b l y L a n g u a g e , A d d r e s s i n g Modes, a n d Control Unit. T h e " h i g h " r a n k i n g s in these areas, w h e n c o m b i n e d with the " l o w " r a n k i n g s reported for I / O & Interrupts and Hardware Realization, still result in at least a M e d i u m confidence r a n k i n g for the topic as a whole. W e conclude that even though the topic in general received a M e d i u m ranking, because o f the l a r g e n u m b e r s o f instructors teaching a n d i n d i c a t i n g difficulties with the sub-areas o f I / O & Interrupts and H a r d w a r e Realization, it would be useful to p r o v i d e access to resources directed at those topics.

system

organization

and

Memory system organization and architecture is a n o t h e r topic w h e r e survey r e s p o n d e n t s i n d i c a t e d a satisfactory level o f confidence. T h e p e r c e n t a g e o f r e s p o n d e n t s with a L o w self-confidence i n d e x was 21%, but again, m o s t i n d i v i d u a l s ' self-confidence i n d e x fell in the r a n g e we c a t e g o r i z e as M e d i u m . M o s t sub-areas within M e m o r y S y s t e m s are taught by o n e - h a l f to two-thirds o f all respondents. C o d i n g , D a t a C o m p r e s s i o n & D a t a I n t e g r i t y is t a u g h t b y the fewest instructors, a n d of those w h o teach it, the m a j o r i t y indicated a "low" self-confidence.

Assend0~level Maddne Organization 3O

gm .-n

g I,I.

M~lu~ Low

Medium

H~

I-igh

Self-co~dence Index

t~tmren t~tf-tx~dlmea I . a t ~

I,mD Nc~Tau~W DHQh iMBcIum Low

10 ,~9

"

.....

;

a

%

@ ,x'~

IBt.~

Oo.~

~ . o_ ~.

%- ~'o. v%. "%_"'>0.~%,.

,-%

% . % % "-o,. % ~ % % oo ,-.4. ~^ ~ . ~,, ,-,,_%. .

%

%

~'-,. M a i n M e m o r y O r g a n i z a t i o n a n d C a c h e M e m o r y are taught by m o s t instructors a n d are m u c h better understood, but still stand out as areas w h e r e instructors could use additional resources.

122

ITiCSE 2000 Working Group Reports

6.4.6 Interfacing and communication

I ~ n g

Interfacing and Communication is the second topic in which survey respondents indicated they did not feel confident teaching the topic in general. The percentage of respondents with a Low self-confidence index was 38%. Self-confidence indices were more evenly distributed a m o n g the three categories, and more respondents had a Low self-confidence index than had a High index. Interfacing and Communication as a topic is taught by fewer than one-half of the respondents. Of those who do teach it, significant percentages of instructors reported low self-confidence in all sub-areas.

and Oomrmric~ion

Low

Ivl~um

Hgh

Self-co~dence Indax

Fault Handling & Reliability and Synchronization & Handshaking are apparently poorly understood, but are taught by only a small percentage of instructors. However, we do recommend that additional resources be provided to assist instructors in the sub-areas of Bus Systems & DMA, I/O Control Methods, Interrupts, and External Storage. These sub-areas are taught by about one-half of respondents and the Low self-confidence index of a large portion of them indicates this is an area where instructors could use help.

Teaching Interfacingand Communication Subarea Self-confidenceLevels

4~

15

,

,o ol

,

[]Not Taught OHigh [Medum mLow

!m ,

%,o

,

,

,

,

"o.o % % % % %. % %% %

6.4. 7 Alternative architectures Survey respondents indicated a satisfactory level of confidence in the general topic of Alternative Architectures. There were m o r e individuals with a Low self-confidence index than with a high, but the majority of the indices fell in the Medium range. The sub-areas within this topic are taught by very few instructors, with the exception of CISC/RISC concepts. About one-half of the respondents teach Parallel Architectures, although a significant percentage have little confidence in this area. Tight Coupling is skipped by most instructors. In general, the low number of instructors that teach these subjects does not indicate a need to provide m o r e resources for these topics within the context of a computer organization/architecture course.

123

ITiCSE 2000 Working Group Reports

resources, a s k i n g students w h o h a v e t a k e n such a course, a n d obtaining f e e d b a c k f r o m those "in the know."

• ~a'nati've ,~n:l'~zctures

In an a t t e m p t to d e t e r m i n e the types o f resources instructors w o u l d be m o s t likely to use, we c o n d u c t e d a second survey. T h i s p r e s e n t e d a list o f t e a c h i n g resources: Re$o~rc~ Textbook resources ( A u t h o r ' s s u p p o r t p a g e s )

Low

MEdurn

S e l f ~

Hgh

li-ti~;,(

Teaching AJtemative Architecture Subarea Self-confidence Levels

[] Not TaughI ]

[] His h

I

• Medium [] Low

O t h e r s ' lecture notes Others' programming assignments Others' laboratory assignments P r o b l e m / S o l u t i o n sets "White papers" Posters/diagrams C o m m e r c i a l W e b sites Simulators Animations Videos/movies On-line FAQ Discussion g r o u p / C h a t r o o m Email colleagues/experts G u e s t lecturers Attendees were asked: if/when they h a d to t e a c h a n e w course, which of the a b o v e types o f r e s o u r c e s h a d they used in the p a s t a n d w h i c h w o u l d they use i f they w e r e easily available?

,