Owen Astrachan, David Reed, AAA and CS1: The Apprenticeship Approach to CS1, SIGCSE'95
Abstract
We have developed an application-based approach to in- troductory courses in computer science. This approach follows an apprenticeship model of learning, where stu- dents begin by reading, studying, and extending pro- grams written by experienced and expert programmers. Applications play a central role since programming con- structs are motivated and introduced in the context of applications, not the other way around as is the tra- dition in most texts and courses. Under our applied approach, (1) students are able to learn from interest- ing real-world examples, (2) the synthesis of dierent programming constructs is supported using incremen- tal examples, and (3) good design is stressed via code and concept reuse. In this paper, we provide several examples of our method as well as pointers to all the material we have developed which is freely available electronically. The philosophy underlying this method transcends a particular programming language, but we present our examples using C++ since that is the lan- guage used in the CS 1 and CS 2 courses at Duke. This method has been used with equal success using ISETL at Dickinson.
A summary is available
Andrea Forte, Mark Guzdial, Computers for Communication, Not Calculation: Media as a Motivation and Context for Learning, HICSS'2004
Abstract
As the skills that constitute literacy evolve to accommodate digital media, computer science education finds itself in a sorry state. While students are more in need of computational skills than ever, computer science suffers dramatically low retention rates and a declining percentage of women and minorities. Studies of the problem point to the overemphasis in computer science classes on abstraction over application, technical details instead of usability, and the stereotypical view of programmers as loners lacking creativity. In spring 2003, Georgia Institute of Technology trialed a new course, Introduction to Media Computation, which teaches programming and computation in the context of media creation and manipulation. Students implement PhotoShop-style filters and digital video special effects, splice sounds, and search Web pages. The course is open only to non-computer science and non-engineering majors at Georgia Tech, such as liberal arts, management and architecture students. The course is supported through the use of a Webbased collaboration environment where students actively share and discuss their digital creations. The results have been dramatic. 120 students enrolled, 2/3 female, and only three students withdrew. By the end of the semester, the combined withdrawal, failure and D-grade rate had reached 11.5%--compared to 42.9% in the traditional introductory computer science course. 60% of the students who took media computation reported that they would be interested in taking an advanced version of the course; only 6% reported that they would otherwise be interested in taking more computer science. Results of the trial indicate that media computation motivates and engages an audience that is poorly served by traditional computer science courses.
A summary is available.
Mark Guzdial, Elliot Soloway, Computer science is more important than calculus: the challenge of living up to our potential, in one of the SIGCSE Bulletin issues
Provides more "practical" discussion of the approach
Clair Bradley, Tom Boyle, student evaluation of the use of learning objects in introductory programming, AACE 2004 - either EdMedia of eLearning
Abstract
This paper presents evaluation data that shows how students have used learning objects within higher education programming modules. It focuses on a large project that has incorporated learning objects as part of module delivery, with an overriding aim of improving student pass rates and retention. The project was implemented to over 600 students in the first year, with thorough evaluation taking place in parallel. The evaluation data gathered is presented here, to show how students have used the learning objects developed, and their opinions of them.
Esa Kujansuu, Tarja Tapio, Codewitz - An international project for better programming skills, AACE'2004
Abstract
The basic programming concepts remain often hidden for the students and thus they have difficulties in learning advanced features of programming. The difficult concepts for the students were examined in the survey of Codewitz project. The project was established to solve the problem by developing interactive learning objects for helping students in their learning process. These learning objects are showing to students how a structure is working and what is happening in the memory while the program is executed. The learning objects are developed according to the results from Needs Analysis and other surveys. With the interactive web-based user interface students can explore examples step -by -step whenever having problems in learning process. The project is open to any institution having programming courses. The project is based on sharing the examples, experiences and research results for free.
Brenton Faber, Educational models and open source: resisting the proprietary university, SIGDOC'02, 31-38
Abstract
This paper presents an educational model derived from open source methods for computer programming. The article places this search for an alternative model within a framework of proprietary educational practices that are driven by a need for efficiency and rationalization. As an alternative model, the paper suggests that an open source derived educational process would emphasize collaborative problem based learning, working through drafts, risk taking, mentoring, user testing, releasing early and often, developing in collaboration with users, and rewarding and building from failure.
At the same time, the paper notes that such a system would have much in common with existing theories of project-based or activity-based learning and with traditional methods of research and publication in scientific endeavors. However, the paper also argues that such a method is different from the open-course or open-curriculum projects recently publicized by several well-known universities as these practices appear to emphasize derived content rather than an open representation of process, or how the content was developed.
Collaborative, problem-based learning provides constructive approaches for building corporate and community partnerships on university campuses. At the same time, the model teaches students about collaborative work practices, working as part of a larger community, and the nature of collaborative knowledge building. As such, the model reconnects knowledge creation to research communities and to communities of users and it complicates the belief that sustainable, useful innovation can occur within proprietary systems.
Maria Feldgen, Osvaldo Clua, Games as a motivation for freshman students to learn programming, Frontiers in Education Conference, Oct 20-23, 2004
Abstract
- Programming is a difficult skill to acquire. It is best learned by practice and, if students are to learn effectively, at least some of this practice will have to be self-directed. Instructor's key role is to persuade our students to do this and thus to motivate them. In the past, our students identified programming as a vital skill in demand by industry. Consequently they were motivated to acquire a useful skill that would be relevant in some future job or lucrative career. Nowadays, our WEB age students have no idea why they have to study programming. Programming courses are seen simply as mandatory parts of the degree course to be negotiated. Their world of computing is multithreaded computer programs with impressive human interfaces for games and WEB. They cannot relate them with the classical programming exercises that ask for single-threaded programs performing a sequence of calculations. Given this, we decided to introduce our students in problem solving using what they view as real-world problems such as games and WEB-programming.
Isabel Huet, Osvaldo Pacheco, Jose Tavares, George Weir, New challenges in teaching introductory programming courses: a case study, Frontiers in Education Conference,
Abstract
The Department of Educational Sciences and the Department of Electronic & Telecommunications at the University of Aveiro (Portugal) have been working together with the Department of Computer & Information Sciences at the University of Strathclyde (UK), with the aim of improving the teaching quality of introductory programming courses and, indirectly, the academic success of their students. Over the past two years, data has been collected through interviews and questionnaires, to better understand the organization of the different courses and approaches to teaching. The present paper discusses how the organization of introductory programming courses in each institution reflects the teaching philosophy of the members of staff and also how course organization and teaching strategy relate to the students’ attitudes to learning and their motivation for course involvement.
Leica Jane Barker, Kathy Garvin-Doxas, Diane Sieber, What can computer science learn from a fine arts aproach to teaching?, Proccedings of the 36th SIGCSE Technical Symposium on Computer Science Education, 421-425
Abstract
This paper compares two curricular information technology programs, one that graduates a much higher percentage of women than the other. Although the two programs center on IT, they are quite different in how they are structured and how students are assessed. This paper compares the programs on two dimensions, knowledge sharing and assessment techniques, then suggests ways that CS instruction might borrow from the other in order to increase retention of women in CS. These include
- allow students to hear each other articulate what they are learning;
- begin lectures by telling students about the practical application of what will later be described at the abstract level; and
- require that students display their solutions to the class and require that their classmates give them feedback.
Esko Nuutila, Seppo Torma and Lauri Malmi, PBL and Computer Programming - The Seven Steps method with adaptations, Computer Science Education, 15(2), 123-142
Abstract
Problem-Based Learning (PBL) method emphasizes students’ own activity in learning about problems, setting up their own learning goals and actively searching for and analyzing information. In this paper, we describe and discuss our experiences on applying PBL, especially the seven steps method widely used in medical faculties, in an introductory computer programming course. We explain how the method is implemented, give examples and identify different kinds of PBL cases, and describe how the method is supplemented by other learning methods in our course. According to our experience, the PBL method increases the commitment of the students which results in a significantly lower drop-out rate: the average is 17% versus 45% in our traditional programming courses. In addition to computer programming, students also learn generic skills related to group work, collaborative design work, independent studying, and externalization of their knowledge.