ABSTRACT
"Objects-first" is an increasingly popular strategy for teaching object-oriented programming by introducing the concepts of objects, classes, and instances before procedural elements of a programming language. Still, this approach emphasizes coding rather than other critical aspects of software development, notably problem-solving and design. We propose a "design-first" curriculum, which subsumes an objects-first approach into lessons that also introduce object-oriented analysis and design, using elements of UML before implementing any code. We also present CIMEL ITS, an intelligent tutoring system that uses the design-first approach to help students of various learning styles in a CS1 course. It interfaces with an IDE we have chosen specifically to support the design-first curriculum, and CIMEL, multimedia courseware which has been shown to be effective in helping students learn object-oriented programming concepts.
- Aimeur, E. and Frasson, C. Analyzing a New Learning Strategy According to Different Knowledge Levels. Computers in Education, vol. 27, no. 2, 1996, pp. 115--127.]] Google ScholarDigital Library
- Allen, Eric, Cartwright, Robert, and Stoler, Brian. DrJava: A Lightweight Pedagogic Environment for Java. In Proceedings of the SIGSCE Conference on Computer Science Education, March, 2002.]] Google ScholarDigital Library
- Anderson, J.R. and Skwarecki, E..The Automated Tutoring of Introductory Computer Programming. Communications of the ACM, vol. 29, September 1986, pp 842--849, ACM Press.]] Google ScholarDigital Library
- Bailie, F., Courtney, M., Murray, K., Schiaffino, R. and Tuohy, S.. Objects First - Does It Work? Journal of Computing Sciences in Colleges, vol. 19, Issue 2 (December 2003), pp. 303--305.]] Google ScholarDigital Library
- Barnes, D. & Kolling M. Objects First With Java: A Practical Introduction Using BlueJ, Englewood Cliffs, NJ: Prentice Hall, 2002.]] Google ScholarDigital Library
- Blank, G. D., Barnes, R. F. and Kay, E. J.. The Universal Computer: Introducing Computer Science with Multimedia (McGraw-Hill/Primis, 2003/2004). Sample material at www.cse.lehigh.edu/ glennb/um/ and cimel.cse.lehigh.edu.]]Google Scholar
- Blank, G. D., Pottenger, W. M., Sahasrabudhe, S. A., Li, S., Wei, F., and Odi, H. Multimedia for computer science: from CS0 to grades 7-12, EdMedia, Honolulu, HI, June 2003.]]Google Scholar
- Bloom, B. S.. The 2 Sigma Problem: The Search for Methods of Group Instruction as Effective as One-to-One Tutoring. Educational Researcher, vol. 13, pp. 3--16, 1984.]]Google Scholar
- Chan T. W. and Baskin A. B.. Learning Companion Systems. In Intelligent Tutoring Systems: At the crossroads of Artificial Intelligence and Education (Edited by Frasson, C. and Gauthier, G.), Chap 1. Ablex, N.J., 1990.]]Google Scholar
- Dag, F. and Erkan, K.. Realizing of Optimal Curriculum Sequences for a Web Based General Purpose Intelligent Tutoring System, The IJCI Proceedings (ISSN 1304-2386, Vol. 1, No 1, July 2003, International XII. Turkish Symposium of Artificial Intelligence and Neural Networks (TAINN'2003).]]Google Scholar
- Hartley, J.R. & Sleeman, D.H. Towards more intelligent teaching systems. International Journal of Man-Machine Studies 2, 1973, pp. 215--236.]]Google ScholarCross Ref
- Kolling, M., Quig, B., Patterson, A. and Rosenberg, J., The BlueJ System and its Pedagogy, Journal of Computer Science Education, Special issue on Learning and Teaching Object Technology, vol. 13, no. 4, Dec 2003.]]Google Scholar
- Kumar, A.. Model-Based Reasoning for Domain Modeling in a Web-Based Intelligent Tutoring System to Help Students Learn to Debug C++ Programs, 6th International ITS Conference, Biarritz, France and San Sebastian, Spain, June 2002.]] Google ScholarDigital Library
- McCracken M., Almstrum, V., Diaz, D., Guzdial, M., Hagan, D., Yifat Kolikant, Y., Laxer, C., Thomas, L., Utting, I., Wilusz, T., A Multi-National, Multi-Institutional Study of Assessment of Programming Skills of First-Year CS Students. In Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education, December 01, 2001, Canterbury, UK]] Google ScholarDigital Library
- Mitrovic, A., Mayo, M., Suraweera, P. and Martin, B.. Constraint-Based Tutors: A Success Story. In Proceedings of the 14th Industrial and Engineering Applications of AI and Expert Systems Conference (IEA/AIE-2001), Budapest, Hungary, June 2001,pp. 931--940.]] Google ScholarDigital Library
- Palthepu, S., Greer, J., and McCalla, G.. Learning by Teaching. The Proceedings of the International Conference on the Learning Sciences, AACE, 1991.]]Google Scholar
- Sykes, E.R. and Franek, F.. A Prototype for an Intelligent Tutoring System for Students Learning to Program in Java. In Advanced Technology for Learning, vol. 1, no. 1, 2004.]]Google Scholar
- Ratcliffe, M. B.. Improving the Teaching of Introductory Programming by Assisting the Strugglers. The 33rd ACM Technical Symposium on Computer Science Education, Cincinnati, USA, March, 2002.]]Google Scholar
- Reiser, B.J., Anderson, J.R., Farrell, R.G.. Dynamic Student Modeling in an Intelligent Tutor for LISP Programming, Proc. of the Eighth Int'l Joint Conf. on Artificial Intelligence, pp. 8--14, Los Angeles, 1985.]]Google Scholar
- Woolf, B. and McDonald, D., Human-Computer Discourse in the Design of a PASCAL Tutor, Proceedings of Conference on Human Factors in Computing Systems, Boston, MA, 1983.]] Google ScholarDigital Library
Index Terms
- From objects-first to design-first with multimedia and intelligent tutoring
Recommendations
From objects-first to design-first with multimedia and intelligent tutoring
"Objects-first" is an increasingly popular strategy for teaching object-oriented programming by introducing the concepts of objects, classes, and instances before procedural elements of a programming language. Still, this approach emphasizes coding ...
Day one of the objects-first first course: what to do
SIGCSE '07: Proceedings of the 38th SIGCSE technical symposium on Computer science educationWhat should you do on the first day of your objects-first CS1 course? If you have been struggling with beginning an objects first course this special session will give you hints about how to avoid overload and make a smooth and effective start. The ...
Jeroo: a tool for introducing object-oriented programming
SIGCSE '03: Proceedings of the 34th SIGCSE technical symposium on Computer science educationJeroo is a tool that has been developed to help students in beginning programming courses learn the semantics of fundamental control structures, learn the basic notions of using objects to solve problems, and learn to write methods that support a ...
Comments