CMSC _____ / WRIT _____
AI and Writing: Humanistic and Empirical Perspectives  ✏️   (tentative)
Spring 2027

This interdisciplinary course examines how AI is changing what we write, how we write, and what happens to us as writers. Drawing on humanistic inquiry and empirical research, students will consider writing as a form of thinking, craft, and communication, and examine how interface and interaction design can shape AI's effects on writers and texts, for better or worse. Each week, students will read three works and engage in discussion and hands-on experiments. They will learn to critically evaluate AI writing assistants, develop intentional writing practices, and imagine alternative assistant designs. Across three projects, students will examine a writer's practice, design an intervention that responds to AI's effects on writers or texts, and develop and defend a position on the future of AI and writing.

Co-taught with Bill Hutchison (University of Chicago Center for Writing)

CMSC 33231
Writing with AI  ✏️
Spring 2026 Course website

How is AI changing our writing process? What technical and ethical considerations arise when using AI in writing? This interdisciplinary seminar course explores the topic of AI and writing at the intersection of human-computer interaction, natural language processing, computational social science, education, and beyond. Students will review prior research, identify current opportunities and risks for AI writing assistants, and envision future designs in the area. The course includes weekly discussions on papers, student presentations, and guest lectures.

Note: This course is open to students from any discipline, and no prior experience in AI or writing is required.

CMSC 25700
CMSC 35100
Natural Language Processing
Winter 2025

This course introduces the core concepts, methods, and applications of natural language processing (NLP), a key area of artificial intelligence focused on enabling machines to process, understand, and generate human language. Students will learn topics such as word vectors, neural networks for NLP, language modeling, and recent advances in large language models (LLMs). Through lectures, assignments, and a final project, students will build and evaluate NLP models using the PyTorch framework and tackle real-world tasks like text classification, machine translation, and question answering.

Prerequisite: CMSC 25300, CMSC 25400, or CMSC 25025

CMSC 14100
Introduction to Computer Science I
Autumn 2024   •   Winter 2026

This course introduces students to computer science and helps them build computational skills, such as abstraction and decomposition. It covers basic algorithms and data structures, as well as the basics of programming in Python including designing and calling functions, designing and using classes and objects, writing recursive functions, and building and traversing recursive data structures. Students will also gain basic familiarity with the Linux command-line and version control. (See New Introductory Computer Science Sequence for more information.)