Virtual On line
June 22, 2020
June 22, 2020
June 26, 2021
Software Engineering Division
We often compartmentalize our academic life into the areas of teaching, research, and practice. In fact, there are many synergies to be realized by treating a course as a complete ecosystem, drawing from all three areas. In this paper, the author discusses how he has transitioned an advanced course into an opportunity for peer mentoring, a testbed for several Ph.D. research projects, and an occasion to practice the skills that he teaches.
The course in question is [redacted], an advanced undergraduate and masters-level course in software engineering. Many years ago, the author started assigning homework involving contributions to open-source projects. Soon he realized that he could include his own open-source project, an educational technology application used in the class, as a source of student projects. This offered several benefits: assignments were more “real world,” because they related to software that they had actually used; students could use their talents to improve the experience of students in later semesters; and the instructor was incentivized to pay careful attention to mentoring and evaluating student work, because it directly benefited his application.
That was only the beginning. With just a little bit of help, his Ph.D. students found AI and SE-related projects to improve the application. For three of those students, these projects formed a substantial part of their dissertations. They led to peer-reviewed papers in research conferences and journals, as well as education-related papers at ASEE Annual Conferences and Frontiers in Education. Indirectly, these projects led to an NSF grant of more than $1 million.
Meanwhile, independent-study students worked on improving the application itself. Initially, these projects did not achieve very much, as students struggled with poor design in code written by other students. Over time, we have incorporated better tools and practices to improve the code base, and this allows the students to make useful contributions much sooner in the semester.
As the course has grown in popularity, it has served as a recruiting platform for independent-study and masters-thesis students. As well as contributing to the author’s research, these students have helped design active-learning exercises for every class period during the semester. Every term, about the time that registration starts for the following semester, the author presents a list of independent-study topics to the class, and solicits student interest in each of them. One important independent-study topic is mentoring: mentors contribute to the application, help write the specs on open-source projects for the class, and meet weekly with project teams to check their progress and offer advice. This is one of the reasons that this course is frequently cited by students as instrumental in helping them get a job.
In summary, the course helps the author fulfill his teaching responsibility, serves as a test bed for software-engineering and SoTL research, and gives the author an opportunity to serve as a practitioner guiding the design of an application used by thousands of students.
Gehringer, E. F. (2020, June), A Course as Ecosystem: Melding Teaching, Research, and Practice Paper presented at 2020 ASEE Virtual Annual Conference Content Access, Virtual On line . 10.18260/1-2--33991
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: © 2020 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