380 likes | 516 Views
Digital Support for Abductive Learning in Introductory Computing Courses. Atanas Radenski Chapman University Orange, CA 92866, U.S.A. radenski@computer.org. Abductive Learning: Rationale. Today, the textbook market offers a wide variety of high-quality CS1/2 textbooks.
E N D
Digital Support for Abductive Learning in Introductory Computing Courses Atanas Radenski Chapman University Orange, CA 92866, U.S.A. radenski@computer.org
Abductive Learning: Rationale • Today, the textbook market offers a wide variety of high-quality CS1/2 textbooks. • These books are developed by talented computer science educators who employ their multifaceted experiences to motivate and support student learning. • Yet, there are reports that textbook popularity among teachers and students alike may be declining. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • A recent survey - conducted in six European universities in five countries - reveals that students and teachers alike give low ratings to textbooks [Lahtinen et al., ITiCSE'05]. • The same survey gives highest ratings to example programs. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • In our own surveys [Radenski, ITiCSE'06] conducted three times at Chapman University in California since 2004, CS1/2 students consistently rate paper textbooks among the least helpful resources. • Our students identify sample programs as most beneficial, exactly as European students do. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • In various forums, CS educators informally express their concerns about the increasing unwillingness of students to systematically read textbooks. • For example, the following message was sent by computer science professor to the SIGSE mailing list in April 2006: • "Alas, I find that one of the biggest challenges is the increasing inability (or willingness) of students to read. Witness my Alice lab this semester where a student looked at a page in the textbook (only half a page of text, since the top half was a picture, and large print at that), sighed, and said 'I'm just going to muddle through with the software because I don't have the patience to read these [ed: 4 or 5] sentences'." SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • I believe that low ratings of textbooks can be caused by discrepancies between: • the teaching preferences of textbook authors and instructors on one end, and • the learning preferences of students on the other. • While textbooks often focus extensively on general concepts and paradigms, entry-level computing students normally prefer to learn by concrete examples and experiments. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • For instance, many computing textbooks lead instructors to emphasize abstraction early in their classes, whereas beginning computing students often fail to connect to abstract concepts. • This issue is illustrated by the following message posted by an educator in the SIGSE mailing list. • "Increasingly I find [that] student's [sic] ability to understand, let alone write, even slightly abstract statements of any kind about programs is seriously deficient. All that many can relate to is numerous examples of program behavior." • Some educators even question students' willingness and ability to reason about the subject matter [SIGSE mailing list, 2006]. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • I believe that contemporary computing students do reason as well as we - their professors - do, but in a different way, as advocated in the rest of this talk. • We, the academics, by virtue of our profession, are masters of sound deduction. • Deduction is a reasoning process that involves the inference of conclusions from general premises. • Because many of us are at our best when we derive the specific from the general, we like to read and learn this way, and we often choose to write textbooks and to teach this way. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • Contemporary computing students grew up browsing and reading on the Web rather than reading paper books alone. • On the Web, our students have learned: • to surf rapidly from one piece of information to another, • to correlate a variety of observations, • to search useful facts quickly, and • to make relevant conclusions. • Contemporary students are particularly capable of abduction. • Abduction is a reasoning process that starts with a set of observations and then generates the best possible explanation of those observations. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • Abduction and induction are distinct forms of probable inference that have been initially studied by Charles Sanders Peirce in the 19th century. • In the computer age, abduction has been explored by philosophers and artificial intelligence researchers. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • While induction is typically used to generate predictions, abduction is used to generate explanations [Bell, JCAI'97]. • Example of induction: The sun rose today, yesterday, the day before yesterday, etc., therefore the sun will rise tomorrow as well. • Example of abduction: The sun rose today, yesterday, the day before yesterday, etc., because the earth rotates around its pivot. • Pierce advocated that abduction is the main method for generating new knowledge. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • Abductive reasoning occurs naturally in most disciplines. • For example, abductive reasoning in a computing class may: • begin with the study of a sample program then • continue with some experimental changes to the program, and finally • generate plausible explanations of various algorithmic and linguistic program features. • When a computing student says “I will figure it out by myself”, he is likely to apply abductive reasoning: • by first browsing through concrete samples and then • finding the best possible explanation for what has been observed. SIGCSE-07, Covington, Kentucky
Abductive Learning: Rationale • I use the general term abductive learning to refer to any form of active learning that triggers abductive reasoning. • Recall that abductive reasoning generates the best possible explanation of a set of observations. • Consequently, abductive reasoning is a learning process by itself because students actually learn the generated explanations. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • As educators, we do not have the ability to change the reasoning and learning preferences of entry-level computing students, but we can adapt to, and exploit these preferences. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • In order to adapt to, and exploit the abduction skills of entry-level computing students, I have developed integrated CS1/2 online study packs that support abductive learning. • The digital packs are published on a dedicated server at studypack.com. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • I am among those who advocate the benefits of two different languages for CS1 and CS2 [Radenski, ITiCSE'06]. • I have chosen Python forCS1 because it is simple to learn and because it offers an easy-to-use interactive mode that effectively promotes abductive learning. • I have chosen Java forCS2 because it is a mainstream commercial language that focuses on large scale OO software development. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • A digital study pack is all-in-one integrated resource, a collection of online topics. This is a snapshot of the Graphics topic from the Java study pack. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • A typical topic consists of e-text / tutorial, slides, lab assignment, report, and quiz. This is a snapshot of the e-text on Classes from the Pythonstudy pack. An e-text in a study pack is the digital equivalent of a paper book chapter. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • The lab assignment for each topic consists of a number of detailed self-guided labs. • The Python pack includes 62 labs, while the Java pack incorporates 41 labs. Self-guided labs are based on instructive sample programs. Completed labs are submitted online into the digital pack. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • Self-guided labs contain sufficient details to allow most students to work independently. Self-guided labs incorporate (1) necessarybackground information and (2) detailed sequences of instructions that walk students step-by-step through program exploration and development. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • By design, Python supports a highly interactiveprogramming style that gives students a great opportunity to learn through interactive experiments and exploration. In Python's interactive mode, students can type various statements and immediately observe and analyze the results from the execution. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • Interactive labs trigger abduction in a straightforward way. Students observe each statement as they type it and then analyze the result of its execution. When necessary, students browse and search digital resources included in the pack, such as e-texts and slides. While students experiment interactively, they generate plausible explanations of the form, meaning, and purpose of individual interactive statements. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation DrJava's interactive mode is very similar, visually and functionally, to the interactive mode of Python. • By design, Java is less interactive than Python. Yet, many Java IDEs support interactive exploration. This similarity helps for a smooth transition from the CS1's Python to the CS2's Java. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • Sample programs are designed to demonstrate new concepts or techniques. For example, the Transform Sequence sample program demonstrates the Java 2D Graphics translation transform by drawing a sequence of rectangles. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation A typical self-guided lab instructs the student to explore and experiment with the sample program. After exploration, the lab calls for a transformation of the sample program into a target program. • Non-interactive self-guided labs are based on sample programs. Students are free to follow the detailed step-by-step instructions or to try the lab independently. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • Non-interactive labs trigger abductive reasoning by drawing parallels between sample programs and target programs. The study of programs in transition, from samples to targets, is a powerful abductive learning method. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • This Java non-interactive lab triggers abduction by drawing a parallel between translation and rotation. • The lab teaches students, among other things, that translation and rotation are actually specific instances of the more general transform concept. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation* • Last, but not least, students naturally affirm their knowledge of step-wise program development - by simply following the recommended lab steps. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation Abductive learning through self-guided labs can be very stimulating. Students often choose to go beyond what is required by the lab. For example, one of our students went beyond the required lab activities to study constructive area geometry, in order to produce the stem and the leaves of his dancing flower. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • Students submit completed labs into the online study pack and receive provisional credit instantly, upon the completion of an honor lab report. The receipt of instant credit for a completed lab gives students an incentive to enthusiastically engage in the next lab. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • The study of each topic is completed with an online quiz which allows multiple submissions. To improve their scores with additional quiz submissions, students search, browse, and read e-texts, tutorials, and slides. To find answers to quiz questions, students experiment interactively, observe the results, and try to find the best possible explanation for what they see. SIGCSE-07, Covington, Kentucky
Abductive Learning: Implementation • Note that abductive learning does not eliminate other forms of learning, such as lectures and reading - it works in concert with them. • An abducted explanation may be initially imprecise or incomplete. • It is further refined and corrected through various activities, such as reading and interaction with the instructor. SIGCSE-07, Covington, Kentucky
Abductive Learning: Evaluation* • In 2004/5, draft versions of Python and Javadigital study packs were adopted in the CS1/2 courses at Chapman University. • In two years, the failure rate in the CS1/2 courses fell from 14% to 5%. SIGCSE-07, Covington, Kentucky
Abductive Learning: Evaluation* • In surveys conducted at Chapman University in 2005/06, students give high ratings to the Python and Java digital study packs and to their components. SIGCSE-07, Covington, Kentucky
Abductive Learning: Evaluation • This is how students from Chapman and Columbus State evaluated Python & Java packs in Fall of 2006. • Scale is from 1 to 5. SIGCSE-07, Covington, Kentucky
Abductive Learning: Evaluation • In early Summer of 2006, the first full editions of the packs were published at http://studypack.com. • Since then, several instructors at five institutions have adopted pack instances for their 2006/7 courses. The Python and Java packs can be adapted to various courses. SIGCSE-07, Covington, Kentucky
Abductive Learning: Announcements • Preview packs are available to educators at studypack.com. • A printed companion book Python First: The Joy of Success will be published in April 2007. • 3rd Summer Python Workshop will be held in June 18-21, Chapman University, Orange, California. • Tuition is free, $50 nominal registration fee. • Search Google: Python First Workshop at Chapman. • Ideas for future work? • Abductive learning of Ruby, C/C++, programming in other languages. Beyond CS: Math, Sciences, and more? • Contact: Radenski@chapman.edu. SIGCSE-07, Covington, Kentucky
Digital Support for Abductive Learning in Introductory Computing Courses Atanas Radenski Chapman University Orange, CA 92866, U.S.A. radenski@computer.org