Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/330908.331852acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
Article
Free access

Toolkits in first year computer science: a pedagogical imperative

Published: 01 March 2000 Publication History

Abstract

Traditional first year computer science courses teach the principles of computing using the basic features of some chosen programming language such as C, C++, Java, Ada, Scheme, Eiffel, etc. Abstraction and encapsulation focus on entities such as algorithms, functions, data structures, classes, objects, and closures that can be built directly on top of the raw language. If a facility such as windows and graphics is not directly available in the language then it is not used. This means that student exercises tend to look inward at computer science issues rather than outward to the exciting applications that show the breadth and power of computing.
The fundamental thesis of this article is that teaching students in the framework of powerful toolkits is essential to maintain student interest and is pedagogically important precisely because toolkits are a rich source of examples that illustrate the principles of computation. We hope to convince computer science faculty that the use of toolkits is imperative in a modern first year curriculum.
We will first discuss in general why toolkits are important. We will spice this discussion with some simple illustrations and with references to the use of toolkits by faculty at other institutions.
We will then describe the toolkits we have developed at Northeastern University and explain both what they do and why they are pedagogically valuable. We will see how toolkits enable students to do more interesting and effective work and how principles of design and algorithms can be demonstrated by the key components of the toolkits.
We will conclude with some general remarks and explain why the arguments made against toolkits do not have sufficient weight to change our conclusions. We will also give the web site address where our toolkits are available.

References

[1]
Astrachan, O., Berry, G., Cox, L., and Mitchener, G., Design Patterns: An Essential Component of CS Curricula, SIGCSE Bulletin, March 1998, Vol. 30(1), 153-160.
[2]
Astrachan, O., and Reed, D. AAA and CSI: The Applied Apprentice Approach to CS1, SIGCSE Bulletin, March 1995, Vol. 27(1), 1-5.
[3]
Astrachan, O., Smith, R., and Wilkes, J., Applicationbased Modules using Apprentice Learning for CS2, SIGCSE Bulletin, February 1997, Vol. 29(1), 233-237.
[4]
Bergin, J., Brodlie, K., Goldweber, M., Jim6nez-Peris, R., Khuri, S., Patifio-Martinez, M., McNally, M., Rodger, S., and Wilson, J., An Overview of Visualization and its Use and Design, 1TiCSE '96, Barcelona Spain. SIGCSE Bulletin Vol. 28(3), September 1996, 192-200. (See http://www.cs.utexas.edu/users/ almstrum/iticse/iticseby-year.html)
[5]
Brown, C., Fell, H., Proulx, V., and Rasala, R., Instructional Frameworks: Toolkits and Abstractions in Introductory Computer Science, Proceedings of ACM Computer Science Conference, Indianapolis, IN, February 1993.
[6]
Carlson, D., Gruzdial, M., Kehoe, C., Shah, V., and Stasko, J., WWW Interactive Learning Environments for Computer Science Education, SIGCSE Bulletin, March 1996, Vol. 28(1), 290-294.
[7]
Cohoon, J., and Davidson, J., C++ Program Design: An Introduction to Programming and Object-Oriented Design, 2nd Edition, McGraw Hill, 1999.
[8]
Fell, H., Proulx, V., and Resale, R., Scaling: A Design Pattern in Introductory Computer Science Courses, SIGCSE Bulletin, February 1998, Vol. 30(1), 326-330.
[9]
Freund, S., and Roberts, E., THETIS: An ANS1 C Programming Environment for Introductory Use, SIGCSE Bulletin, February 1996, Vol. 28(1), 300-304.
[10]
Horstmann, C., and Cornell, G., Core Java 1.2, Vol. 1, Prentice-Hall, 1999.
[11]
Naps, T., Algorithm Visualization on the World Wide Web - The Diffbrence Java Makes/, SIGCSE Bulletin, Vol. 29(3), 59-61.
[12]
Naps, T., Algorithm Visualization Served off the Worm Wide Web: Why and How, SIGCSE Bulletin, June 1996, Vol. 28 Special Issue, 66-72.
[13]
Naps, T., Bergin, J., Jimenez-Peris, R., McNally, M., Patino-Martinez, M., Proulx, V., and Tarhio, J., Using the WWW as the Delivery Mechanism for Interactive Visualization-Based Instructional Modules, Integrating Technology into Computer Science Education ITiCSE 97, Working Group Reports and Supplemental Proceedings, ACM 1997, 13-26.
[14]
Parlante, N, Teaching with Object Oriented Libraries, SIGCSE Bulletin, February 1997, Vol. 29(1), 140-144.
[15]
Proulx, V., Recursion and Grammars for CS2 SIGCSE Bulletin, Vol. 29 Special Issue, June 1997, 74-76.
[16]
Proulx, V., Fell, H., Rasala, R., and Brown, C., Interactive Animations in Computer Science, in Proceedings, Frontiers in Education '93, 23rd Annual Conference (Engineering Education: Renewing America's Technology), November 6-9, 1993, Washington, DC, IEEE Press, 786-790.
[17]
Proulx, V., Rasala, R., and Fell, H., Foundations of Computer Science: What Are They and How Do We Teach Them?, SIGCSE Bulletin, June 1996, Vol. 28 Special Issue, 42-48.
[18]
Rasala, R., Automatic Array Algorithm Animation in C++, SIGCSE Bulletin, March 1999, Vol. 31(1), 257- 260.
[19]
Rasala, R., Design lssues in Computer Science Education, Invited Editorial, SIGCSE Bulletin, December 1997, Vol. 29(4), 4-7.
[20]
Rasala, R., Function Objects, Function Templates, and Passage by Behavior in C++, SIGCSE Bulletin, February 1997, Vol. 29(I), 35-38.
[21]
Rasala, R., Proulx, V., and Fell, H., From Animation to Analysis in Introductory Computer Science, in Proceedings of ACM Computer Science Conference, Phoenix, AZ, March 1994, 61-65.
[22]
Roberts, E., Tools for Creating Portable Demonstraaon Programs, SIGCSE Bulletin, June 1996, Vol. 28 Special Issue, 78-80.
[23]
Roberts, E., Programming Abstractions in C: A Second Course in Computer Science, Addison Wesley, 1997.
[24]
Roberts, E., A C-based Graphics Library for CS1, SIGCSE Bulletin, March 1995, Vol. 27(1), 163-167.
[25]
Roberts, E., The Art and Science of C: A Library- Based Approach, Addison-Wesley, 1995.
[26]
Stein, L., Rethinking CS101: Innovations In Introductory Computer Programming {textbook to appear}.
[27]
Wolz, U., and Koffman, E., Problem Solving With Java, Addison Wesley Longman, 1998.
[28]
Wolz, U., and Koffman, E., simplelO: A Java Package for Novice Interactive and Graphics Programming, Proceedings oflTiCSE 99, 139-142.

Cited By

View all
  • (2013)A portable graphics library for introductory CSProceedings of the 18th ACM conference on Innovation and technology in computer science education10.1145/2462476.2465590(153-158)Online publication date: 1-Jul-2013
  • (2003)Region-based hierarchical operation partitioning for multicluster processorsACM SIGPLAN Notices10.1145/780822.78116538:5(300-311)Online publication date: 9-May-2003
  • (2003)A compiler framework for speculative analysis and optimizationsACM SIGPLAN Notices10.1145/780822.78116438:5(289-299)Online publication date: 9-May-2003
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '00: Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
May 2000
429 pages
ISBN:1581132131
DOI:10.1145/330908
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2000

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SIGCSE00
Sponsor:

Acceptance Rates

SIGCSE '00 Paper Acceptance Rate 78 of 220 submissions, 35%;
Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)63
  • Downloads (Last 6 weeks)19
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media