This is an advertisement for Prof. Gail Kaiser's Spring 2026 offering of COMS E6156 Topics in Software Engineering. 6156 is the only regularly offered course at Columbia CS where students have the opportunity to explore in depth a specific topic of their own choosing. 6156 is a seminar oriented towards graduate students and advanced undergraduates who aspire to become, or already are, researchers or industry technology leaders.  Students should be highly self-motivated to pursue their own forward-looking topic within software engineering, broadly construed. 6156 is not "more" 4156, and not "more advanced" 4156. 4156 is about doing software engineering, and 6156 is about improving software engineering including software security.  Students choose their own forward-looking topics, with instructor approval.  Many students chose to investigate AI4SE or SE4AI.  Most other recent students have studied static/dynamic program analysis, either source level or binary/bytecode, and/or software testing to detect logic bugs, performance bugs, security vulnerabilities, privacy breaches, or malware.  There are no lectures after the first week or two; students present research papers that are then discussed by the whole class. Active participation is required and students are expected to read the papers scheduled for presentation before attending class. A tentative list of papers is provided on the syllabus, and students can suggest others.  Besides readings, presentations and discussions, the workload consists of a midterm paper and final project. Midterm papers review recent literature in the student's chosen topic. Final projects build an innovative tool or demonstrate an innovative technique. Both midterm papers and final projects should include empirical experiments. Students may optionally organize teams (of any reasonable size) for the final project but midterm papers should be written individually. 6156 is an secondary elective for MS Software Systems and is also accepted for MS Computer Security for students who choose security or privacy topics.  6156 may be accepted as a secondary elective for other MS pathways whose students choose relevant topics (contact your advisor) and is a technical elective for all CS and CE graduate and undergraduate students. Students should have already completed at least one graduate level software systems course, preferably 4113 (distributed systems), 4115 (compilers), 4118 (operating systems), 4156 (software engineering), 4181 (security) or their equivalent. Some student topics from last year: Beyond DevOps: Best Practices for Managing ML Models in Production AutoDistillLM: Modular Framework for High-Throughput, LLM-Based Synthetic Data Generation AI Companions: Extending Game NPCs into Immersive Everyday Interactions Exploration of Hardware-Assisted Kernel Isolation Technologies for Protecting Containers in Untrusted Environments From Monolith to Cloud-Native: The Role of Cloud Computing in Modern Application Development Backdoor Attacks on LLM Revolutionizing Software Development: The Intersection of No-Code/Low-Code and AI-Powered LLMs MuseMood: A Dynamic Multimodal System for Robust Input Fusion Some suggested student topics for this spring: Debugging AI-Generated code (bugs in AI-Generated code are different from bugs in Human-Written code) Agentic 'Software Engineers' (with github repo, branches, pull requests, CI, etc.) Converting Legacy C code to Safe Rust (existing C2Rust tool transpiles to unsafe Rust) Prompting LLMs with Bug Reproduction Traces (record/replay) to generate and test patches Protecting applications from compromised or malicious libraries (probably using hardware security) AI-generation of usable operating system for IoT (smart devices) OR UAV (multi-tenant drones) OR KVM (hypervisor VMs) Class sessions will be held primarily on Zoom as part of the instructor's ADA accommodations ( see https://www.eeoc.gov/laws/guidance/deafness-and-hearing-impairments-workplace-and-americans-disabilities-act ).  The registrar will assign a classroom anyway, and the course is officially "in-person" for those students who are required to take in-person classes.  If you would like to take the course, please add yourself to the waitlist first, since I cannot approve your enrollment unless you are already on the waitlist. Then complete "homework zero", posted at http://www.cs.columbia.edu/~kaiser/6156-choosing-from-waitlist.Spring2026.txt, and email as text to kaiser+6156@cs.columbia.edu. Please do not omit the +6156 or I might not see your email.