July 26, 2021
July 26, 2021
July 19, 2022
Computers in Education
Introductory computer programming courses are essential in providing students with marketable skills; but in a fast-paced course, the transition into them can be daunting to new coders. As the number of sites students must access to find various course materials – such as coding environments, course notes, lecture videos, and assignments – increases, so does the complexity of the course. Without a central searchable repository for all course materials, students often waste time flipping through pages of printed notes or scrubbing through videos in an effort to find an answer to one of their many questions.
This project describes the creation of a live e-textbook which combines all of these course materials, including live coding windows, into a unified whole. More specifically, by organizing the live e-textbook following the course structure, students are able to move through the chapters in a front-to-back-cover manner that mimics traditional textbooks while providing access to all necessary resources in one place. The live e-textbook can be instantly exported into a PDF version, which still compiles all the course materials into one place. While interactive content, such as videos and coding windows, appears in an alternate static version, students are provided a QR code for each such instance, with which they can easily access the live content if desired. The platform used to create our e-book is PreTeXt, which is an XML-based markup language that combines the best of LaTeX and HTML, and that can output, amongst others, both web and PDF content. In-class activities, which range from brainstorming questions to entire coding problems, are embedded in the book. Auto-grading coding windows with our C-programming exercises are directly embedded into the HTML version of the textbook, where students can test code and check their work without needing to navigate away from the related notes and activities. The PDF version of the book contains the starter code provided to students for such a coding problem along with a QR code to quickly access the live version.
Short interactive coding videos introduce students to new content; at first sight these appear to be ordinary videos, but a closer look reveals that students can pause at any point and edit the code directly in the video being presented in order to better grasp the demonstrated concepts. At times during the course, there is a need for students to directly work on our Linux course servers. When those moments arise, embedded server windows allow students to use their single sign-on to log into the course server, directly from the relevant page of the textbook.
While the content of the book is organized into clearly marked chapters, ordered chronologically, an index in the book’s backmatter provides students with a list of important terms. Each item in the index is linked to a pop-up box that provides a quick definition or example for that particular term, with the option to be directed to the actual location in the book where the item is defined.
The HTML version of the e-book is hosted on a Runestone Interactive server, which provides additional functionality to both the students and instructors. For example, student responses to reading questions can be viewed, commented upon, and graded by the instructor, in-class activities can be monitored in real-time, and new code can be pushed out to students during class. An LTI integration is on the horizon. The book’s source (XML) code is modular and can easily be rearranged to accommodate other course structures. PreTeXt software is open source, making it possible to produce an interactive, flexible e-textbook with a print option for students free of charge. Runestone server software is open-source as well; hosting a Runestone book can either take place directly on Runestone or via acquisition of space on an independent server.
Student feedback will be collected and analyzed during the next course offering.
Bonfert-Taylor, P., & Oster, S. E. (2021, July), Work in Progress: A Seamless, Customizable e-Book for Introductory Programming Courses Paper presented at 2021 ASEE Virtual Annual Conference Content Access, Virtual Conference. https://peer.asee.org/38118
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2021 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015