CS50.ai
CS50.ai is an adaptation of ChatGPT for students and teachers at cs50.ai; it’s also built into Visual Studio Code for CS50 at cs50.dev. Otherwise known as the CS50 Duck, CS50.ai supports rubber duck debugging and is thus a “duck debugger,” or ddb for short, an homage to GDB.
Whereas ChatGPT itself is all too helpful nowadays—all too willing to provide outright answers to problems—CS50.ai is designed to behave more like a good tutor, leading students toward answers rather than spoiling them outright. It aspires to provide students with “office hours” 24/7, approximating a 1:1 student-to-teacher (well, student-to-duck) ratio.
Across CS50’s courses, it is unreasonable (i.e., academically dishonest) to use AI-based software other than CS50’s own (e.g., ChatGPT, Claude, Copilot, Gemini, et al.) that suggests or completes answers to questions or lines of code, except when explicitly allowed by a course. But it is reasonable to use CS50’s own AI-based software, including the CS50 Duck in cs50.ai and cs50.dev.
Talks
Teaching CS50 with AI
Improving CS50 with AI
Publications
Rongxin Liu, Carter Zenke, Charlie Liu, Andrew Holmes, Patrick Thornton, and David J. Malan. 2024. Teaching CS50 with AI: Leveraging Generative Artificial Intelligence in Computer Science Education. In Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1 (SIGCSE 2024). Association for Computing Machinery, New York, NY, USA, 750–756. https://doi.org/10.1145/3626252.3630938
Rongxin Liu, Julianna Zhao, Benjamin Xu, Christopher Perez, Yuliia Zhukovets, and David J. Malan. 2025. Improving AI in CS50: Leveraging Human Feedback for Better Learning. In Proceedings of the 56th ACM Technical Symposium on Computer Science Education V. 1 (SIGCSETS 2025). Association for Computing Machinery, New York, NY, USA, 715–721. https://doi.org/10.1145/3641554.3701945
Acknowledgements
Special thanks to CS50’s friends at GitHub, Microsoft, and OpenAI for their support of this duck!