With a student-first focus on fostering motivation and support within the classroom, Margaret Ellis shares invaluable insights honed throughout her career in this exclusive interview. As an Associate Professor of Practice in the Department of Computer Science at Virginia Tech, Ellis emphasizes the importance of creating an encouraging environment for students. Being a Virginia Tech alumna herself with a B.S. in Mathematics and an M.S. in Computer Science, she joined the faculty after working in industry and a stint in secondary teaching. Notably, she pioneered the initiative, Broadening Undergraduate Research Groups in Systems (BURGS), which provides promising students with a community to learn, grow, and connect. What began with the Computer Systems Genome project now includes five different projects advised by stacks@CS faculty. Beyond her academic endeavors, Ellis’s commitment to ethics curriculum, academic integrity, and outreach reflects her dedication to shaping future generations of computer scientists.
In honor of her many achievements, she has received the 2024 Mary Kenneth Keller Computer Science and Engineering Undergraduate Teaching Award for, “…outstanding contributions to undergraduate education through teaching and service creating an inclusive community of experiential undergraduate mentorship.“
Throughout your years in education, what strategies have you learned are most effective in creating an encouraging environment for students that fosters motivation and support?
Students are motivated and feel supported when they know what to expect. It is important to build a curriculum and course infrastructure that provides this for students at their preparedness level. An instructional team that is approachable encourages students to engage and persist in the field. One key to student motivation is their belief that they can be successful, and we can bolster this by providing many opportunities for practice, role models, positive reinforcement, and a supportive environment. Instructional strategies that incorporate scaffolding, mirroring, and specific feedback impact student success and motivation. When students think what they are learning is useful and interesting, their motivation is also piqued, so incorporating current technologies and practices improves student engagement. With many courses being taught at scale, consideration for student motivation and support needs to be embedded into course design and management.
Honor your colleagues’ achievements. Nominate Someone for a Major Award Today!
You’re well known for designing amazing student programs. Could you share insights into the practical skills and problem-solving course you designed for students after their first CS course? How does it expose them to various subfields of computer science?
Some students come to their coursework with significant computing experience, while others are discovering programming for the first time. Our Problem Solving in Computer Science course is designed to give all students exposure to a variety of subfields of computer science and practice with corresponding skills and problem-solving early in the curriculum. We provide introductory units on security, algorithms, software engineering, human-computer interaction, networking, databases, and machine learning. Students gain early exposure to using the command line, version control, SQL, and data analytics in conjunction with their core programming courses — all to help bridge the gap for students coming to computing for the first time. The goal is to reduce intimidation and increase student self-efficacy. Addressing current topics in computing helps demystify concepts such as algorithms or machine learning and prepares students to explore and tinker.
I developed this course in parallel with advising undergraduate research students. Working with undergraduate research students helps me identify concepts to cover in our required curriculum to better prepare them for careers in industry and research. For example, we recently updated the course development environment and added more exposure to version control and containers. One of the final course project options is based on a research project and gives students practice in using an API to access computer systems performance data for analysis.
Tell us about the Broadening Undergraduate Research Groups in Systems (BURGS) initiative. How does the program create an accessible and welcoming environment for students, and what impact has it had on them?
This Broadening Undergraduate Research Groups in Systems (BURGS) initiative began with the Computer Systems Genome project and currently includes five different projects advised by stacks@CS faculty. We recruit students early in their academic careers and provide them with a supportive community that explicitly values relationship-building skills acquisition and research experience. We design a supportive on-ramping experience, including how to set up one’s development environment, which can often be a major hurdle when joining a new project! Students work in teams along with a partner and have peer mentors, in addition to regular communication with me and their advisor(s). Students have the opportunity to work on large codebases and cooperate with team members, gaining an appreciation for design, testing, style, documentation, and communication. Students enjoy working on open-ended projects, asking research questions, and exploring state-of-the-art technologies. We regularly bring all the research teams together to get to know each other, present their work and discuss challenges, host alumni panels, teach research methods lessons, and have industry tech talks. They also participate in university and department-level undergraduate research symposia.
You are highly engaged in your department’s initiatives focusing on ethics curriculum, academic integrity, and outreach. Can you share a specific example of an initiative that you are most proud of?
I am especially proud of my participation in the Techgirls program. This is an initiative of the U.S. Department of State’s Bureau of Educational and Cultural Affairs that has been hosted at Virginia Tech for many summers. Initially, the program was for teenage girls from the Middle East and North Africa, who spent several weeks in the United States for STEM career exploration. It has since expanded. I developed lessons and activities for the girls in collaboration with my colleagues and teaching assistants. The girls arrive with a broad range of previous computing and academic experiences and are experiencing a cultural explosion. Their enthusiasm and their drive to meet the many challenges they face are inspiring to me. And helping them evolve during a short but intense period is very rewarding. In some cases, we have ongoing communication. During the COVID-19 pandemic, I participated in Zoom meetings with program alumni. I especially value university outreach, as I was a benefactor of it myself as a high school teacher inspired to pursue a graduate degree in computer science.
How do you envision the continued impact of your work in these domains (mentioned above) and what challenges or opportunities do you foresee for the future?
My industry experience inspires my desire to expose students to practical computing skills earlier in their academic careers to improve their self-efficacy and sense of belonging. I hope for students to be, and feel, well prepared for industry or graduate school. With our evolving field, the ability to adapt and learn new skills is critical, so it’s important for students to feel comfortable in that space. On research teams, undergraduate students can explore and study approaches and expand their exposure to technologies and practices. Having industry experience also gives me a broad perspective to help prepare students for the landscape of customers, vendors, managers, and collaborators they may encounter. My research in both computer systems and computer science education allows me to channel my entrepreneurial spirit to creatively implement and study progressive solutions.
Can you share some key connections you’ve made throughout your computing journey? How have they influenced your career?
When I attended an AP CS teacher training program to encourage girls in computer science, the instructors were very supportive and encouraged me to return to graduate school. This was pivotal in my career. In graduate school, I made some lifelong friends with both peers and faculty. Manuel Pérez-Quiñones has been an ally who first offered me the opportunity to update the university-level curriculum. He also continually expands my perspective on how we can broaden participation in computing.
When I joined the Virginia Tech Department of Computer Science faculty, I was fortunate to coordinate and collaborate with well-known educators Steve Edwards and Cliff Shaffer. Cliff Shaffer had taught and encouraged me during my undergraduate career. When I first attended SIGCSE, I realized that we needed more experience reports about the CS education work in our department, so we could reach more instructors.
My collaboration with Kirk Cameron significantly expanded and influenced my career as I became more involved in computer systems research. The partnership I have with Kirk Cameron and Godmar Back has generated novel work and opportunities for dozens of students via BURGS. We also recently collaborated with the SC23 35th anniversary team on our “Hidden Figures” project.
I have had several collaborations with researchers outside of the field of computer science who have expanded my work and perspective. My collaboration with Brett Jones has been especially influential. I reached out to him because I was interested in using his MUSIC model of motivation to help me understand the students in my course, especially those who are not CS majors. Over the years I have updated the course based on the feedback of this instrument. Our latest intervention is an NSF-funded project to implement and study a CS Teaching Assistant Program to provide a caring environment in which students believe that they can succeed in the course.
Sara Hooshangi, director of our new Master of Engineering degree at the Virginia Tech Innovation Campus in Northern Virginia also shares my passion for broadening participation in computing, and we have been able to collaborate on research and interventions, such as building educational tools.
How important do you think mentorship is in the field of computer science, and have you had any influential mentors or mentees who have played a significant role in your career?
I have had countless mentors who have been critical to my persistence and success in the field. I joined the CS faculty through a side door and many of my colleagues mentored me in navigating an academic position. I’m especially grateful to Cal Ribbens and Barbara Ryder, who hired me as an unconventional faculty member and nurtured my career. As a minority in the field, it is especially helpful to have supportive voices making you feel like you belong.
I am inspired by my mentees. They impress me with their ideas, passion, and dedication. Early in the CS Genome project, I worked with strong student leaders who were also my UTAs and helped build the foundation for the project and the culture of peer support. I continue to work with undergraduates over many semesters and witnessing how they build their skills and confidence and evolve into leaders is the best reward.
More About Margaret Ellis
Margaret Ellis is an Associate Professor of Practice in the Department of Computer Science in the College of Engineering at Virginia Tech. Margaret earned her B.S. in Mathematics and M.S. in Computer Science from Virginia Tech. She joined the faculty after doing work in industry and a stint in secondary teaching.
On the heels of initiatives to broaden participation in CS0 and CS1 courses, Professor Ellis has dedicated her teaching, research, and service to the student experience inside and outside the classroom after those courses. She redesigned the CS2 course at Virginia Tech to be taught at scale using innovative tools to increase student engagement. Through her involvement in coordinating CS2 and studying student motivation, she is implementing and researching CS teaching assistant training to provide a caring environment in which students believe that they can succeed in the course.
Professor Ellis also designs and coordinates a practical skills and problem-solving course for students after their first CS course, exposing them early to subfields of Computer Science and preparing them for internships and research. In conjunction with this effort, she has developed an undergraduate research program focused on exposing early undergraduates to computer systems research. The Broadening Undergraduate Research Groups in Systems (BURGS) initiative creates an accessible and welcoming environment for students to build their competencies and inspire their curiosity. The Computer Systems Genome Project was the seminal project of this initiative.
Over the past five years, the Computer Systems Genome Project has recruited a diverse group of over 70 students and provided them with a scaffolded experiential learning opportunity to research and develop a public repository of computer systems performance data. In 2023, this team cooperatively developed and showcased their Hidden Figures sub-project with the “I am HPC” theme of SC23 for the 35th-anniversary exhibit.
Professor Ellis is also highly engaged in her department initiatives focusing on ethics curriculum, academic integrity, and outreach.