Hosted by Dr. Kristin Stephens-Martinez at Duke University. This is a podcast where we talk about teaching computer science, with computer science educators, to learn about teaching and classroom management.
In this teaching practice byte (TPB), we bring you Professor Andrew Begel to discuss how to support communication for project teams through the lens of supporting our neurodivergent students. We first discuss briefly why there is a greater awareness of neurodiversity. Then we go into how to support student communication within a team setting, regardless of your students' neurotype, since it turns out all students need to be taught how to communicate more effectively! This TPB discusses concrete ways to identify hidden communication activities and how to scaffold them so students aren't guessing and doing them poorly. See the transcript on the website (https://csedpodcast.org/blog/s4e10_tpb_team_communication_neurodivergence/)
Dr. Valerie Taylor from Argonne National Laboratory joins us in this episode to talk about mentoring in academia. Mentoring, at its core, starts with asking questions and seeking advice, as opposed to finding a mentor. In this episode, we discuss the ins and outs of mentoring through Valerie's many amazing stories from her career, from identifying what questions to ask and how to say no. See the transcript on the website (https://csedpodcast.org/blog/s4e9_academic_mentoring/)
Dr. Luther Tychonievich from the University of Illinois Urbana-Champaign shares with us his multi-step Q&A process where he solicits questions from his students to get more diverse questions and strongly signals to them that he wants questions. Dr. Tychonievich goes into detail about how to shorten the exercise if you have less time, as well as considerations and ways to respond to the questions when an answer is not necessarily appropriate. See the transcript on the website (https://csedpodcast.org/blog/s4e8_tpb_multi_part_q_a/)
In this episode, we got to continue talking to Dr. Beth Simon about peer instruction from the prior episode's peer instruction Teaching Practice Byte. Our host, Kristin Stephens-Martinez, shares her experience with peer instruction and asks Beth for help to improve. The episode ends with three main takeaways that Kristin has since used in her course. See the transcript on the website (https://csedpodcast.org/blog/s4e7_peer_instruction/)
Peer instruction is a way to move the easy-to-learn content to before lecture, so you can spend more time during lecture on developing understanding. In this teaching practice byte, we talk to Dr. Beth Simon from UC San Diego about peer instruction, what context she's used it in, how she does it, and nuanced details that aren't always discussed when reading about this active learning technique. See the transcript on the website (https://csedpodcast.org/blog/s4e6_tpb_peer_instruction/)
In this episode, we have Dr. Barbara Ericson, assistant professor from the School of Information at the University of Michigan. Our topic is Parson's Problems, which are like mixed-up code chunks that students need to put in the correct places. We discuss the research behind them, how she uses them in her class, and her current work investigating how to use Parson's Problems to improve student learning. See the transcript on the website (https://csedpodcast.org/blog/s4e5_parsons_problems/)
Philip Guo, an Associate Professor of Cognitive Science at the University of California, San Diego, built Python Tutor, which is neither just for Python nor really a tutor. It's actually a tool to visualize what code is doing! In today's episode, he talks about the other programming languages it supports (Java, C, and C++), gives examples of how he uses it, and explains the nuances of when to use it. See the transcript on the website (https://csedpodcast.org/blog/s4e4_tpb_coding_tutor/)
In this episode, we talk with Professor Adam Blank, Teaching Professor of Computing and Mathematical Sciences at Caltech. Our conversation focuses on college teaching faculty that only have a master's degree by discussing how the job title should be about a person's skills and knowledge, as opposed to the degrees they hold. We start off by defining terms, then move on to what a teaching faculty actually does and needs to know to do the job and how a Ph.D. is a proxy for signals that could be seen with different evidence. See the transcript on the website (https://csedpodcast.org/blog/s4e3_teaching_faculty_job_title/)
Teaching Practice Byte (TPB): In our first TPB episode we invite Colleen Lewis back to the podcast to talk about her physical models of Java that help her teach students how Java objects work. Colleen was originally on our podcast way back in Season one! We go into detail about what kinds of classes she uses these models in, what the models are, how she uses them, where they would and would not work, and where the idea came from. See the transcript on the website (https://csedpodcast.org/blog/s4e2_tpb_physical_java_models/)
We are kicking off season 4 with a deep conversation on academic misconduct with Dr. Oluwakemi Ola from the University of British Columbia, Vancouver Canada, and Dr. Mia Minnes from the University of California, San Diego. This episode was inspired from a panel we were on at the 2023 SIGCSE Technical Symposium called "Who's Cheating Whom: Changing the Narrative Around Academic Misconduct." In this episode, we go into more detail as we discuss how academic misconduct is handled at our respective institutions, how it impacts us, how our thinking about misconduct has changed over time, what we do to teach our students about misconduct, and how the systems around us influence our and the students' decisions around misconduct. See the transcript on the website (https://csedpodcast.org/blog/s4e1_academic_misconduct/)
Hello All! This is the CS-Ed Podcast. A podcast where we talk with educators about teaching computer science! We are gearing up for season 4 and we have big plans! First, we've created a Patreon! Yes, that's right, the podcast is moving to become self-sustaining through audience support. If you'd like to keep this podcast ad and sponsor free, please consider becoming a Patreon member. Of course, please only chip in within your financial abilities. Think of it as buying the podcast a coffee or lunch once a month. I try to keep costs down to a minimum, but there are still costs to producing this podcast, even if I'm not paying myself. Your support would be much appreciated. Patreon members will get direct access to me to give feedback on the podcast, and I'll post exclusive content on what's coming up! You can find us at patreon.com/csedpodcast, that's patreon.com/csedpodcast. The link is also in this podcast description and on our website. In addition, mixed in with our usual long-form deep conversations, we are going to bring in a new kind of episode TPB's, teaching practice bytes, that's bytes with a Y! Where I talk with a fellow CS educator about a practice they have in their classroom. And this is where you come in, my dear audience members. If you have or know someone with a good teaching practice, I'd love to hear about it! Please reach out to the podcast's email address at csedpodcast@gmail.com or my own email address at ksm@cs.duke.edu And that's it for now. Please look out for the first episode of season 4 coming out soon. We are talking academic misconduct! Also, consider joining our Patreon at patreon.com/csedpodcast, and please reach out if you've got a good teaching tip or practice you'd like to share. Take care of yourself, and you'll hear from me again in this podcast feed soon.
How do you infuse a class to engage students with socially responsible computing? Kathi Fisler from Brown University discusses Brown's undergraduate teaching assistant (UTA) program, where they hired UTAs to specifically focus on finding ways to do just that in the classes they were embedded in. In this episode, we talk about the program, how she teaches socially responsible computing in her intro computer science (CS) classes, and how her goal is to get students to ask the right questions. While she also lets go of needing to know the answers or even how to answer the questions.
This episode features Amy Ko et al.'s online book Critically Conscious Computing: Methods for Secondary Education. We discuss with Amy what is in the book, who the book is for, and how educators can use the book in their own teaching. The book focuses on contextualizing the history of computer science and how that history shows that computing is not neutral. In addition, it provides unit sketches to help teachers bring in more design critical conscious discussion into how they teach CS that will hopefully help all of our students better understand how computing affects our world.
Join us in a conversation with Iris Howley from Williams College about Primarily Undergrad Institutions (PUIs). Where we talk about what a PUI is, the research and teaching expectations, what the interview cycle is like, and compare a PUI professor with a teaching track professor. The biggest takeaway from this episode is that PUIs exist, they don't look like the school someone is getting their Ph.D. at, and they are an option post-graduation. More info is at http://bit.ly/cspui-jobs Finally, make sure to check the deadlines soon. They usually interview in the fall!
In this episode, Sarah Heckman from North Carolina State University and our host discuss the Peer Teaching Summit at SIGCSE Technical Symposium 2022. We cover what a peer teacher is, more commonly known as an undergraduate or graduate teaching assistant, and how they support student help-seeking. The summit brought together many people with peer teachers at their schools where they discussed what they can and cannot do, and how every school is unique. Afterward, we focused on office hours and how there was a surprising variety of handling them, including what information students see in the office hour queuing app while they wait in the queue, what information peer teachers see, and the rules the peer teachers use to decide who is pulled off the queue next.
AIICE stands for Alliance for Identity Inclusive Computing Education. It is an organization dedicated to "empowering the next generation of computer scientists by eliminating systemic barriers." This episode is with Dr. Shaundra (Shani) B. Daily, Ph.D., the backbone director of the organization. We discuss how she and her Co-PI, Dr. Nicki Washington, Ph.D., and past podcast guest, wrote the grant that started it all, how we should stop trying to "fix" students, that we should instead focus on fixing the systems that "requires" "fixing" students, and about their 3C program, a professional development program that is part of trying to make systemic change.
In this episode, we talk with Amogh Mannekote, a Ph.D. student at the University of Florida. He and others analyzed class forum data from three very different classes and discovered that a lot of factors influence how students use the class forum, including the kind of class assignments, the accessibility of other sources of help, and how the instructor or TAs answer questions on the class forum. After doing this work, he also strongly believes that instructors should download and analyze their data or we should create more "out of the box" open source tools that do this for instructors. In addition, students need to be encouraged to use the class forum effectively and TAs need explicit instructions on how to interact with students on the class forum.
Here's episode two of our two-part series on teaching associates! A teaching associate is a teaching support staff position here at Duke University. This episode is a conversation with Yesenia Velasco. We talk about how her role is different than Kate O'Hanlon from our last episode, reflect on how Duke did at its first attempt at such a position, and look towards the future of where such a position can go.
Teaching Associate, what's that? In this two-part series's first episode, we talk with Kate O'Hanlon, a teaching associate in the computer science department at Duke University. Teaching associates are department staff positions that support the large enrollment classes. We discuss the four primary teaching associate responsibilities: project manager, student outreach, developer, and instructor. In addition, we discuss the underlying goal when Duke created the position and the needed flexibility within the role. This episode is part of a two-part series. The second episode will be with another teaching associate, Yesenia Velasco, to reflect on Duke's first attempt at such a position and some future thinking about where the position can go.
Today's episode is with Richard Ladner from AccessComputing and AccessCSforAll, Professor Emeritus from the University of Washington. Our discussion focuses on accessibility. How do we improve accessibility in our teaching? What do AccessComputing and AccessCSforAll do? And how do we be considerate of our students that are hard of hearing, blind, or have some other accessibility need? Edited by Michael Ball
In this episode, we talk with Michael Ball from the University of California, Berkeley. Our focus is on undergraduate teaching assistants (TAs), which Berkeley has a long history of. Michael goes into detail about what Berkeley TAs do, the TA hierarchy, and TA training. We learn about a small core group of students that make an undergraduate career out of being TA. Another question we focus on is advice to an institution that is just starting its TA program. Finally, throughout our talk, we discuss how things are different from before the pandemic and now.
In part two of our episode series with Kevin Lin and Brett Wortzman from the University of Washington, we dig into the details of how they implement their alternative grading systems. Brett outlines their ESNU system that stands for exemplary, satisfactory, not yet and unaccessible, as well as the components of his grading system for his large CS1 course, and Kevin talks about his version from his CS2 and other data structures courses. We discuss trading off complexity for precision and how much differentiation in grades is actually feasible and necessary. We also talk about grading workload and balancing the convenience of autograding with the depth of feedback from manual grading. Kevin emphasizes how grading “bundles” can provide more clarity for students on what the expectations are for each grade. Finally, both Kevin and Brett emphasize considering constraints, priorities, and tradeoffs in choosing a grading system for your own class. If you haven't yet, consider listening to the first episode of the series on why to consider alternative grading and the potential systems to choose from!
In a two-part episode series, we talk with Kevin Lin and Brett Wortzman from the University of Washington about alternative grading practices. In this episode, we focus on the purposes and goals of grading and discuss different types of grading systems. We dig into the philosophy of Kevin and Brett's grading approach, how it can work in very large courses, and how to get buy-in from students on an unfamiliar system. Kevin mentions the importance of focusing on equity and defining what exactly that means, and Brett emphasizes that grading should align with the course's learning outcomes. We close by thinking about what we can hope to gain by implementing a new grading system and who our choices impact. Be sure to listen to part two as well!
Hello, everyone! We are going to have a season 3! But we are going to try something new. Rather than six episodes released every few weeks, we are going on an irregular schedule. We're picking a theme and running with it until we run out. This season's theme is “What's next?” where we focus on how we've rethought our teaching since covid-19. We've got a few episodes lined up and the goal is to release an episode on average every other month. So make sure to subscribe, so you don't miss an episode!
For this season's last episode, we talk with Jacqueline Smith, an Assistant Professor of the teaching stream in the Department of Computer Science at the University of Toronto. We talk about U of T's large flipped CS1. We started with the class's specifics, how it's flipped, and their "prepare, rehearse, and perform" cycle. Then we discussed their decision to have a synchronous part of the class despite remote teaching. We spent the rest of the episode on her thoughts on how best to flip a class, which included reconsidering if video is the right medium, flipping doesn't need to happen all at once, and colleague buy-in from all others that could teach the course is important. https://sites.duke.edu/csedpodcast/2021/03/15/season-2-episode-6-large-flipped-cs1/
In this episode, we talk to Leigh Ann DeLyser, co-founder and executive director of CSforAll. Our topic is the need to reform systems for sustainable equity. We discuss what it means and what CSforAll does. We also discussed the specific difficulties our host, Kristin Stephens-Martinez, has with her CS1 class and how it's actually a systems problem. https://sites.duke.edu/csedpodcast/2021/03/01/season-2-episode-5-systemic-change/
Joining us today is Joe Feldman, author of Grading for Equity and the CEO of Crescendo Education Group. We discuss the historical overview of grading and why now is a good time to rethink our grading process to make it more equitable. We got concrete by discussing our host's, Kristin Stephens-Martinez's, syllabus for her class and changes she was considering after reading Grading for Equity. One significant point Joe made is that grades should only convey the student's level of mastery, not their behavior. Finally, we closed the episode with him pointing out we should do small experiments, iterate, and over time transition our classes to be more equitable, as well as discussed ways to normalize the new practices in the classroom. If you are interested in learning more, there is not only the book but also an online class. https://sites.duke.edu/csedpodcast/2021/02/15/season-2-episode-4-grading-for-equity/
In this episode, we talk with Nicki Washington, a full Professor of the Practice at Duke University, about cultural competence. We discuss the definition of cultural competence. Its history, why we should care, and what it means in the context of computer science. We also talked about Nicki's new class on this topic and her 3C Fellows program. Finally, we close with a call to action. Many people and organizations have started learning, reading, and making commitments. What needs to happen next is to start executing plans and iterating on them quickly (agile method style). We need to hold people accountable because reading and planning aren't enough. Our discussion did not close with a too long; didn't listen segment, except simply "get uncomfortable and listen to the whole episode." Nicki mentioned many resources during our discussion. We have done our best to link to them in the transcript. https://sites.duke.edu/csedpodcast/2021/02/01/season-2-episode-3-cultural-competence-in-computer-science/
Our guest today is Jared O'Leary, the Director of Education and Research at BootUp PD. Jared creates computer science curriculum and professional development and is also the creator of the CSK8 podcast. Our topic was what K–12 and higher education computer science education can learn from each other. We discussed Jared's philosophy and curriculum design process, as well as why K–12 and higher education do not communicate as much as would be ideal. In Jared's too long; didn't listen summary, Jared discussed the importance of reading and learning from outside of the field and how we need to figure out better ways to communicate and learn from each other. Transcript and links to resources: https://sites.duke.edu/csedpodcast/2021/01/18/season-2-episode-2-what-k12-and-higher-ed-cs-can-learn-from-each-other/
In this episode, we talk with Manuel Pérez-Quiñones, a Professor at the University of North Carolina at Charlotte. Our topic is supporting students of color. We discussed why this support matters and the differences between professors versus students and equality versus equity. We also discussed how he changed his grading practices for his remote class. He even shared about changing his syllabus to specification grading, which he reflects on in his blog now that the semester is over (see the website post for the link). For his too long; didn't listen summary, Manuel talked about how we need to acknowledge the history that got us here and what is happening right now and then consider the repercussions that appear in our classroom. Transcript and links to resources: https://sites.duke.edu/csedpodcast/2021/01/04/season-2-episode-1-supporting-students-of-color/
We are launching season 2 of The CS-Ed Podcast on January 4th, 2021! The year 2020 has caused so much disruption and calls for change, which led us to make this season's theme "Where should we go from here?" Join us for this season as our host, Kristin Stephens-Martinez, discusses with her guests about pedagogy and inequality in hopes it will give us all an opportunity to reflect rather than react to our present situation. This season has 6 episodes. The first will come out on January 4th and we'll release subsequent episodes every other Monday: 1/4 - Manuel Pérez-Quiñones from University North Carolina at Charlotte on how to support students of color 1/18 - Jared O'Leary from BootUp PD on what can K12 and higher education computer science learn from each other 2/1 - Nicki Washington from Duke University on cultural competency 2/15 - Joe Feldman joins me to talk about his book Grading for equity 3/1 - Leigh Ann DeLyser from CSforAll on systemic change 3/15 - Jacqueline Smith from University of Toronto shares how to teach a large flipped class
In this episode, we talk with Colleen Lewis, Associate Professor of Computer Science at Harvey Mudd College. She specializes in computer science education and diversity issues, as well as is the creator of http://csteachingtips.org/, which we at the CS-Ed Podcast post about often. This conversation was a question and answer with Colleen. Our topics included: peer instruction, how she structures her lecture and class, how becoming a better and better teacher is a marathon, cheating on assignments, the pros and cons of splitting students based on prior experience, and where to hold office hours. Colleen's “something awesome in computer science” was another podcast, Modern Figures Podcast. It highlights the work of black women in computing. The audience is geared towards teenage girls interested in computer science. Colleen's Too Long; Didn't Listen (TL; DL) was two tips. First, was survey your students and respond to that feedback. The second focused on how your teaching practices should allow for opportunities to see into student thinking and that's really what active learning is meant to be.
In this episode, we talk with Armando Fox, Professor of Computer Science and Faculty Advisor to the MOOCLab at UC Berkeley. With David Patterson, he co-designed and co-taught Berkeley's first Massive Open Online Course (MOOC) on “Engineering Software as a Service,” offered through edx.org. It is now a professional certificate in “Agile Development Using Ruby on Rails.” Our conversation touched many topics involving MOOCs. We discussed the history of MOOCs, how he got into it, creating Small Private Online Courses (SPOCs), how MOOCs call into question established teaching habits, some experiments he's planning that break those habits, and how to get student buy-in when using a MOOC in the classroom. When asked about something awesome in computer science, Armando talked about his love for the history of computing. One thing he observed is how much ideas get recycled in computer science. He even has a web page called “Master geek theater” of his recommended documentaries ranging from five minutes to three hours. Armando's Too Long; Didn't Listen (TL; DL) focused on MOOCs' long-term legacy. He does not think they will replace instructors. Instead, they will enable instructors to use their time more creatively because they have well-curated, interactive, battle-tested exercises available to them. Moreover, they will help us think about how to get the non-deep content experts involved in helping the students or their peers in learning the material.
In this episode, we talk with Mark Guzdial, Professor of Electrical Engineering and Computer Science, with a courtesy appointment in the School of Information at the University of Michigan. Our conversation focused on live coding, which is programming in front of the class as the students would program. Mark emphasized that the most essential part of live coding is modeling process. The second part is modeling how to manage mistakes. And the third is to create opportunities for students to make predictions. For his “something awesome in computer science,” Mark talked about how he loved that computer science can be anything else. That computer science can look like and behave like any other discipline. Mark's Too Long; Didn't Listen (TL; DL) broadened our original conversation by pointing out that, while live coding is useful, it's one method among many and not necessarily the most important one. Other teaching methods he thought were also important included peer instruction, contextualized computing education, and generally, to start with a problem.
In this episode, we talk with Amy Ko, an Associate Professor at the University of Washington Information School. She directs the Code & Cognition Lab and studies human aspects of programming. Our conversation focused on how to teach students to debug, a skill many of us undoubtedly struggle to get our students to do effectively. Amy suggests: step 1 is to have students articulate what is happening versus what should happen (current output versus correct output). Step 2 is brainstorm different ways (hypotheses) that might be causing the discrepancy and exploring each idea to see if it is the cause. If a student runs out of ideas before they find the bug, go back to step 1 and confirm they understand what should and should not be happening. When asked to share something awesome in computer science, Amy talked about her interest in computer science history and Donald Knuth. Knuth is one of the originators of many core algorithms in computer science. He also spent 10 years cataloging every mistake he made while working on the typesetting programming language LaTeX. So his interests were broad and he also wrote bugs! In Amy's Too Long; Didn't Listen (TL;DL) she emphasized that debugging is a primary skill and is something we should teach. And we are starting to find ways to teach this skill. *This interview has been edited to reflect Amy's blog post announcement titled "I'm trans! Call me Amy."
In this episode, we talk with Dan Garcia, a teaching professor at UC Berkeley in the EECS Department. He was selected as an ACM Distinguished Educator in 2012 and ACM Distinguished Speaker in 2019. He has won all four of his department's computer science teaching awards. Our conversation focused on designing exams, which he boiled down to his five-finger rule: (1) material coverage, (2) reasonable time, (3) range of difficulty, (4) variety of question types, and (5) ease of grading. His “something awesome in computer science” highlighted his mentors Mike Clancy and Brian Harvey, who are both emeritus teaching professors at UC Berkeley. Mike taught him about having a variety of question types on his exams. While Brian taught Dan his philosophy about grades and grading in general. Dan's Too Long; Didn't Listen (TL; DL) summarized this five-finger rule into an excellent short sound bite.
In this episode, we talk with David Malan from Harvard University, Professor of the Practice of Computer Science in the School of Engineering and Applied Sciences. He teaches Computer Science 50, Harvard University's largest course. Our conversation focused on CS50 tools. An overview of the tools is in a YouTube video David provided. We spent most of our time talking about help50 and style50. Help50 is a tool that, when fed error output, returns a suggestion or question a student should focus on to help interpret the error output. Style50 is a tool to help students fix the style of their code by highlighting what to change. However, David emphasized that he wanted the tool to require the student to change the code themselves. When asked about something awesome in CS he'd like to share, David talked about containerization, especially tools like Docker. In CS50, they use containers on both the server and client-side. He finds they are a great way to package up everything for students. His Too Long, Didn't Listen (TL;DL) focused on encouraging fellow teachers to see if someone else has already created an educational tool that would fit their needs rather than reinventing the wheel.
Welcome to the CS-Ed podcast, a podcast where we talk about teaching computer science with computer science educators to learn how they teach and manage their classrooms.