ABSTRACT
This paper describes our experience in using situated programming to deliver modern computer science concepts in the introductory programming course at Carnegie Mellon University. We used an artificial life simulation and taught object-oriented programming as well as more traditional material. The course was an experience, not an experiment, since many aspects of the course simultaneously changed from prior offerings. Nevertheless, what we saw was fundamental and potentially far-reaching. The most important result was that students were intellectually engaged. They came to grips with basic object-oriented programming, they mastered the topics of procedural programming, they learned first hand about computer simulation, they learned perhaps a bit about biology. Most importantly, through it all they used programming to express and explore their own powerful and novel ideas.
- 1."Situated Programming" was coined by Paul Horwitz of Bolt Beranek and Newman Inc. at the NSF's Application's of Advarw.exl Technologies Project Director's Meeting, June 23-25, 1993.Google Scholar
- 2.Koffman, E.P., Miller, P.L. and Wardle, C.E. Recommended Curriculum of CSI, 1984: A Report of the ACM Curriculum Committee Taskforce for CSI., Communications ofthe ACM, 27(10) pp. 998-1001, 1984. Google Scholar
Digital Library
- 3.Abelson, H. and Sussman, G. Structure and Interpretation of Computer Programs, Cambridge: MIT Press, 1985. Google Scholar
Digital Library
- 4.Claney, Michael J. and Linn, Marcia C., Ftmctional Fun, Proceedings of the Twenty.First SIGCSE Technical Symposium on Computer Science Education, February 1990. Google Scholar
Digital Library
- 5.Henderson, Peter B, and Romero, francisco, J, Teaching Recursion as a Problem Solving Tool Using Standard ML, Proceedings of the Twenty-Second SIGCSE Technical Sym. posium on Computer Science Education, M~Tch 1991. Google Scholar
Digital Library
- 6.Roberts, Eric, Using C in CSI: Evaluating the Stanford Experience, Proceedings of the Twenty.Fourth SIGCSE Technical Symposium on Computer Science Education, March 1993. Google Scholar
Digital Library
- 7.Ibid.Google Scholar
- 8.Denning, Peter J.; et. al., Computing as a Discipline. (Final Report of the Task Force on the Core of Computer Science), Conununications of the ACM, v32 p9(15) Jan 1989. Google Scholar
Digital Library
- 9.Cohen, B., The Inverted Curriculum, National Economics Development Council, London 1991.Google Scholar
- 10.Hilburn, Thomas B., ATop~Down Approach to Teaching an Introductory Computer Science Course, Proceedings of the Twenty-Fourth SIGCSE Technical Symposium on Computer Science Education, March 1993. Google Scholar
Digital Library
- 11.Stehlik, Mark, report for the panel Approaches to Progrmmning Assignments in CS i and CS2, Proceedings of the Twenty-Fourth SIGCSE Technical Symposium on Corn. purer Science Education, March 1993. Google Scholar
Digital Library
- 12.Meyer, Bertrand, Toward an Object-Oriented Curriculum, Journal of Object-Oriented Programming, v6 p76(6) May 1993,Google Scholar
- 13.Lima, Marcia C., and Clancy, Michael J. The Case for Case Studies of Programming Problems, Communications oftheACM, v35 p121(12) March 1992. Google Scholar
Digital Library
- 14.Decker, Rick and Hirshiield, Smart, Top-Down Teaching with OOE Proceedings of the Twenty.Fourth SIGCSE Techra'cal Symposium on Computer Science Education, March 1993.Google Scholar
- 15.Wu, C. Thomas, Teaching OOP to Beginners, Journal of Object-Orlented Programming. v6 p47(4) March-April 1993.Google Scholar
- 16.Meyer, Bertrand, Ibid.Google Scholar
- 17.Pattis, Richard E., Karel the Robot. A Gentle Introduction to the Art of Programming, john Wiley & Sons, 1981. Google Scholar
Digital Library
- 18.Brusilovslcy, Peter, Calabrese, E., Hvorecky, J., Kouchnierenko, A., Miller, P., Mini-languages: a way for learning the principles of programming. Workshop at CAL 93, University of York, Alxil 1993.Google Scholar
- 19.However, unlike Karel, SmallTalk is used for industrial programming in many parts of the country.Google Scholar
- 20.In addition to our ~intments in Computer Science at CMU we are a part of the Center for Light Microscope Imaging and Biotechnology, a National Science Foundation Science and Technology Center,Google Scholar
- 21.Miller, P. and Chsndhok, R. The Design and Implementation of the Pascal Genie, Proceedings of the Twentieth SIGCSE Technical Symposium on Computer Science Educat/o~ Louisville, KY, February 1989. Google Scholar
Digital Library
- 22.MacApp, ~ Apple Computer Co. 1984 - 1993.Google Scholar
- 23.Pattis, Richard E., Ibid.Google Scholar
- 24.Pane, J. and Miller, P. The ACSE Multimedia Science Learning Environment, International Conference on Computers in Education, Taipei, Taiwan, 1993.Google Scholar
- 25.Fazarinc, Zvonko, Overhead in Writing Physics Courseware, Proceedings of the Asia.Pacific Conference on Com. purer Education, October 26-28, 1988, Shanghai China.Google Scholar
Index Terms
Engaging students and teaching modern concepts: literate, situated, object-oriented programming
Recommendations
Engaging students and teaching modern concepts: literate, situated, object-oriented programming
This paper describes our experience in using situated programming to deliver modern computer science concepts in the introductory programming course at Carnegie Mellon University. We used an artificial life simulation and taught object-oriented ...
Teaching how to teach computational thinking
ITiCSE 2018: Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science EducationComputational Thinking is argued to be an essential skill for the workforce of the 21st century. As a skill, Computational Thinking should be taught in all schools, employing computational ideas integrated into other disciplines. Up until now, questions ...
Engaging Programming Assignments to Recruit and Retain CS0 Students: (Abstract Only)
SIGCSE '18: Proceedings of the 49th ACM Technical Symposium on Computer Science EducationMany universities offer an optional CS0 course taken prior to traditional CS1 and CS2 courses. Students enrolling in CS0 represent a variety of programming experience levels and majors. To more successfully recruit students to CS0 and retain students as ...






Comments