In November, Michigan Tech undergraduates begin submitting research proposals to the annual competition for Summer Undergraduate Research Fellowships—SURF—which are due the following February and awarded that spring.
Computer Science major Elijah Cobb was one of the many students to submit a SURF proposal this academic year. His was excellent, but so were many others, and the SURF funds were limited, so unfortunately Cobb missed out.
Enter Associate Professor Dr. Charles Wallace (Computer Science) and the College of Computing, which is providing additional funding to allow Cobb to join this summer’s cohort of SURF recipients.
Open to all Michigan Tech undergraduates who have at least one semester remaining after the summer, SURF recipients conduct a research project with a faculty mentor, prepare periodic progress reports, attend a series of professional development seminars over the summer, then present their research at Michigan Tech’s Undergraduate Research Symposium, or at a professional conference in their field. A modest stipend is also awarded.
Cobb will conduct his research project, “Designing Scaffolded Interactive Instruction in Discrete Mathematics,” with Dr. Charles Wallace, Associate Professor of Computer Science.
Watch the College of Computing blog, website, and social media channels for updates from Cobb and Dr. Wallace as their research moves forward.
Elijah Cobb is a fourth year Computer Science student at Michigan Tech. He describes himself as a passionate learner, and throughout his education he has challenged himself to explore learning opportunities outside of the classroom.
Cobb says he is thrilled to have the opportunity to participate in a research project with Professor Wallace. “Together, we will research and develop a new tool for undergraduate Computer Science students to use at Michigan Tech. Our research will focus on Alloy, a programming language used for modeling real-world systems.”
Because Alloy is so complex, Cobb explains that he and Wallace aim to produce an interactive drag and drop interface that will make this powerful programming language more accessible to undergraduate computer science students.
The Project: Designing Scaffolded Interactive Instruction
Discrete mathematics is a foundational Computer Science topic, and undergraduate computer science students enroll in a course at some point in their college career. The course focuses on topics including set theory, relational algebra, and predicate logic, extremely important concepts for beginning students as they form the basis of analysis in the field.
But Computer Science students typically do not get the kind of interactive practice with discrete math that they do with programming in languages like Java. As a result, misconceptions can persist, and students can develop an attitude that math has little relevance to their field.
To introduce the mathematical languages of relational algebra and predicate logic to undergraduate Computer Science students, Dr. Wallace and his colleagues have developed curriculum that uses the Alloy language and modeling tool. He notes that many progressive Computer Science departments across the nation have included programming-oriented exercises like these in their discrete math curricula.
“When I came to Michigan Tech and took discrete structures as a second-year student, the interactive element of the course with Alloy greatly benefited me in learning the course material,” confirms Cobb. “But it was also the most difficult part of the course for me. I knew what I wanted to do, but I could not replicate the thoughts in my head into the code required to run simulations.”
With his SURF project, Cobb aims to help other students with their learning of discrete math and eliminate some of the unnecessary confusion that may develop. He’ll develop a simple, easy to use graphical application that will allow undergraduate students to develop mathematical simulations without the need to fully understand the underlying programming language involved.
To introduce discrete mathematics–the mathematical languages of relational algebra and predicate logic–to undergraduate CS students, Dr. Wallace and his colleagues have developed curriculum that uses the interactive Alloy modeling tool. Wallace notes that many progressive CS departments across the nation have included interactive tools like these in their curriculum.
Alloy is both a programming language based on the mathematical languages of relational algebra and predicate logic, and an application for finding instances (situations) that follow (or break) the requirements set by an Alloy program. It is a powerful tool for “lightweight” modeling of complex systems, allowing designers to explore and gain insights early in the design process. In the classroom, Alloy can give students real-time feedback on their developing understanding of discrete math, and provide them with an authentic sense of how math is applied in the CS field.
“Alloy provides more feedback to students than traditional pencil-and-paper exercises, however the experience could be better for first-time students,” Cobb says. “When students work with Alloy, it can be daunting because as they are trying to develop models, they may encounter small, unfamiliar syntactical issues, and the error messages provided by Alloy can be confusing because they are written for experts, not first time users.”
So, first-time students need careful scaffolding to navigate the powerful Alloy tool. Cobb explains that scaffolding can be thought of as creating a base structure on which students can focus on the task at hand, without overloading them with distracting content.
Cobb’s SURF project will implement automated scaffolding to assist the student new to Alloy by:
(1) Providing a visual, block-based interface for the language, similar to introductory programming languages like Scratch and Snap! This has the potential to keep students focused on learning fundamental concepts of logic and relations, without distracting syntax problems.
(2) Developing automated detection and response for common problems in novice code. This follows from successful work in automated critique of Java programs using the WebTA tool, developed by Assistant Professor Dr. Leo Ureel for use in Michigan Tech’s introductory programming courses.
Cobb says his personal experiences have provided him with much expertise and motivation for a project like this. He notes, “After graduating high school I worked for start-up called Ampel Feedback. It was then that I learned Electron, ReactJS, Typescript, and many other technologies I aim to use for this research program.”
Cobb will begin his work in the second half of summer 2020, and continue its development in the 2020-2021 academic year, including pilot studies of the scaffolded tool. Feedback from the pilot studies will inform further development in summer 2021; Cobb and Wallace expect to introduce the new learning tool in the Michigan Tech Discrete Structures course in fall 2021.
Wallace is looking forward to the collaboration, noting that “it is gratifying to have a student like Elijah who is able to reflect on both what has been valuable and what has been challenging in his own learning experience, and act on those reflections to help future students.”