Abstract
In 1995, my team and I decided to create an outreach project that would use our research on functional programming to change the K-12 computer science curriculum. We had two different goals in mind. On the one hand, our curriculum should rely on mathematics to teach programming, and it d exploit programming to teach mathematics. All students - not just those who major in computer science - should benefit. On the other hand, our course should demonstrate that introductory programming can focus on program design, not just a specific syntax. We also wished to create a smooth path from a design-oriented introductory course all the way to courses on large software projects.
My talk presents a checkpoint of our project, starting with our major scientific goal, a comprehensive theory of program design. Our work on this theory progresses through the development of program design courses for all age groups. At this point, we offer curricular materials for middle schools, high schools, three college-level freshman courses, and a junior-level course on constructing large components. We regularly use these materials to train K-12 teachers, after-school volunteers, and college faculty; thus far, we have reached hundreds of instructors, who in turn have dealt with thousands of students in their classrooms.
Supplemental Material
- }}C. Eastlund, D. Vaillancourt, and M. Felleisen. ACL2 for freshmen-first experiences. In Proc. 7th ACL2 Workshop, pages 200--211, 2007.Google Scholar
- }}M. Felleisen and S. Krishnamurthi. Why computer science doesn’t matter. Commun. ACM, 52 (7): 37--40, 2009. Google Scholar
Digital Library
- }}M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi. How to Design Programs. MIT Press, 2001.Google Scholar
- }}M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi. The TeachScheme! project: Computing and programming for every student. Computer Science Education, 14: 55--77, 2004.Google Scholar
Cross Ref
- }}M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi. The structure and interpretation of the computer science curriculum. Journal of Functional Programming, 14 (4): 365--378, 2004. Google Scholar
Digital Library
- }}R. B. Findler, J. Clements, C. Flanagan, M. Flatt, S. Krishnamurthi, P. Steckler, and M. Felleisen. DrScheme: A programming environment for Scheme. Journal of Functional Programming, 12 (2): 159--182, Mar. 2002. Google Scholar
Digital Library
- }}M. Flatt and PLT. Reference: Racket. Technical report, PLT Inc., June 2010. http://racket-lang.org/tr1/.Google Scholar
- }}R. L. Page. Software is discrete mathematics. In International Conference on Functional Programming, pages 79--86, 2003. Google Scholar
Digital Library
- }}R. L. Page, C. Eastlund, and M. Felleisen. Functional programming and theorem proving for undergraduates. In Functional and Declarative Programming in Education, pages 21--30, 2008. Google Scholar
Digital Library
Index Terms
TeachScheme!: a checkpoint
Recommendations
TeachScheme!: a checkpoint
ICFP '10: Proceedings of the 15th ACM SIGPLAN international conference on Functional programmingIn 1995, my team and I decided to create an outreach project that would use our research on functional programming to change the K-12 computer science curriculum. We had two different goals in mind. On the one hand, our curriculum should rely on ...
Work in progress - UTeachEngineering: innovative program to train qualified K-12 engineering teachers
FIE'09: Proceedings of the 39th IEEE international conference on Frontiers in education conferenceThe University of Texas at Austin's Cockrell School of Engineering, College of Education, UTeach Natural Sciences program and the Austin Independent School District are collaborating to develop and deliver UTeachEngineering, an innovative, design-based ...
TeachScheme!
SIGCSE '11: Proceedings of the 42nd ACM technical symposium on Computer science educationIn 1995, my research team and I decided to create TeachScheme!, an educational outreach project, with the hope that our work on programming languages could effect a dramatic change in K-12 computer science. Specifically, we envisioned a virtuous cycle ...







Comments