Abstract
TECHNOLOGY is a valuable instructional tool for teaching and learning fundamental concepts such as mathematics, reading, and writing. The teaching of advanced topics with abstract concepts can also benefit from instructional technology. For example, computer programming involves the design and development of problem-solving algorithms. Algorithms are inherently abstract ideas. The physical representation of algorithms can take on many forms (e.g., flowcharts, software, electronic voltages inside a computer) each of which is difficult to visualize and manipulate.
This paper discusses a three-step implementation of an instructional technology tool and associated pedagogy to support teaching and learning programming concepts. The first step is to identify a valuable learning activity that clearly benefits conceptual understanding. We report a pencil-and-paper within-subjects experiment that demonstrates flowcharts to be valuable conceptual tools for novice programmers. The second step is to design an instructional technology tool that supports self-paced, reflective learning activity. We present theFlowchartInterpreter (FLINT), an instruction technology tool to support novice programmers. The third and final step is to develop and assess a teaching pedagogy that integrates the technology tool into the curriculum. We describe a between-subject experiment involving a treatment group utilizing the FLINT tool within an appropriate semester long pedagogy. The findings of the second experiment suggest a measurable advantage over the traditional textbook approach. We conclude with a discussion of the process and its implications for future efforts in other advanced topic disciplines.
Similar content being viewed by others
References
Bergin, J., Stehlik, M., Roberts, J., & Pattis, R. (1997).Karel++:A gentle introduction to the art of object-oriented programming. New York: Wiley and Sons, Inc.
Bloom B. (1956).Taxonomy of educational objectives, the classification of educational goals — Handbook I: Cognitive domain. New York: McKay.
Brusilovsky, P., Calabrese, E., Hvorecky, J., Kouchnirenko, A., & Miller, P. (1997). Mini-languages: a way to learn programming principles.Education and Information Technologies. 65–83.
Calloni, B., Bagert, D., & Haiduk, H. (1997). Iconic programming proves effective for teaching the first year programming sequence.Proceedings of the Twenty-eighth SIGCSE Technical Symposium on Computer Science Education (pp. 262–266). San Jose, CA: ACM Press.
Computing Curriculum 2001,Ironman Report (2001, February). [On-Line]. Available: http://www.computer.org/education/cc2001/
Farrell, J. (1999).A Guide to programming logic and design. Cambridge, Thompson Publishing Co.
Jonassen, D., Peck, K, & Wilson, B. (1999).Learning with technology: A constructivist perspective. New Jersey: Prentice Hall.
Kafai, Y. (1995).Minds in play: computer game design as a context for children’s learning. New Jersey: Lawrence Erlbaum Associates.
Kammann, R. (1975, February). The comprehensibility of printed instructions and the flowchart alternative.Human Factors. 183–191.
Lajoie, S. (2000).Computers as cognitive tools: No more walls (Vol. II). New Jersey: Lawrence Erlbaum Associates.
Malik, M. (2000). Technical opinion: on the perils of programming.Communications of the ACM, (43)12, 95–97.
National Academy of Sciences. (1999).Being fluent with information technology. Washington, DC. [Online] Available: http://books.nap.edu/catalog/6482.html
Newby, T., Stepich, D., Lehman, J., & Russell, J. (2000). Instructional technology for teaching and learning: Designing instruction, integrating computers, and using media (2nd. ed.). New Jersey: Prentice Hall.
Papert, S. (1980).Mindstorms: Children, computers and powerful ideas. New York: Basic Books.
Pattis, S. (1981).Karel the robot. New York: Wiley & Sons, Inc.
Ramsey, H., Atwood, M., & Van Doren, J. (1983). Flowcharts versus program design languages: An experimental comparison.Communications of the ACM, 26(6), 445–449.
Robertson, L. (2000).Simple program design — A step-by-step approach (3rd ed.). Cambridge, MA: Course Technology.
Saret, L. (2001).Programming logic for business (4 th ed.). Boston: McGraw-Hill Irwin.
Scanlan, D. (1989, September). Structured flowcharts outperform pseudocode: An experimental comparison.IEEE Software. 28–36.
Shackelford, R. (1998).Introduction to computing and algorithms. Reading, MA: Addison Wesley Longman.
Shneiderman, B. (1975). Experimental testing in programming languages, stylistic considerations and design techniques.Proceedings AFIPS NCC, (pp. 653–656). Montvale, N.J.: AFIPS Press.
Sleeman, D. (1986). The challenges of teaching computer programming.Communications of the ACM, 29(9), 840–841.
Soloway, E. (1993). Should we teach students to program?Communications of the ACM, 36(10), 21–24.
Somekh, B., & Davis, N. (1999).Using information technology effectively in teaching and learning. New York: Routledge.
Spohrer, J., & Soloway, E. (1986). Novice mistakes: Are the folk wisdoms correct?Communications of the ACM, 29(7), 624–632.
Sprankle, M. (1998).Problem solving and programming concepts (4th ed.). New Jersey: Prentice Hall.
Vessey, I., & Weber, R. (1986). Structured tools and conditional logic: An empirical investigation.Communications of the ACM, 29(1), 48–57.
Wright P. & Reid, F. (1973, February). Written information: some alternatives to prose for expressing the outcomes of complex contingencies.Journal of Applied Psychology. 160–166.
Author information
Authors and Affiliations
Corresponding author
Additional information
ABOUT THE AUTHORS
Thad Crews is an Assistant Professor of Information Systems at Western Kentucky University. He teaches undergraduate and graduate courses in software development, systems analysis and design, database design and development, and electronic training environments. His research interests are in the areas of software tool support, human-computer interaction, and intelligent training systems. His publications include twenty journal articles and conference papers including theJournal of Artificial Intelligence in Education, theJournal of Informatics Education and Research, and theJournal of Educational Resources in Computing. Dr. Crews has worked professionally as a software engineer and is a regular consultant in the area of instructional technology. He currently serves as Chairman for the Committee on Technology in Education for the National Association of Information Technology Professionals.
Jeff Butterfield is an Associate Professor of Information Systems at Western Kentucky University. He teaches courses in database management, systems design, project management, local-area networking and management information systems. His professional interests include computer-aided training/testing, computer history, the management of technical professionals, and information system security. He has worked professionally as an electronic engineer, systems analyst, hardware manager, and trainer. He has also worked in Mexico with maquiladora manufacturing operations. Dr. Butterfield’s work has been published in a variety of journals and professional conference proceedings including theJournal of Systems Management, Information Systems Management, Team-Performance Management, and theJournal of Industrial Technology. His research focuses on information system strategy, methods of improving the design process, group-process management and technology education. He has served on the editorial board forJournal of Systems Management, Journal of End-User Computing, andInforming Sciences and regularly reviews for other journals and textbook publishers. Dr. Butterfield has consulted for a number of businesses in the areas of database design and system security.
Rights and permissions
About this article
Cite this article
Crews, T., Butterfield, J. Using technology to bring abstract concepts into focus: A programming case study. J. Comput. High. Educ. 13, 25–50 (2002). https://doi.org/10.1007/BF02940964
Issue Date:
DOI: https://doi.org/10.1007/BF02940964