Prof. Kaiser teaches COMS W4156 Advanced Software Engineering in the Fall. This course covers the workflow processes, techniques and “best practices” software engineers need to know to develop consumer and business software, and emphasizes software testing and other approaches to detecting and eliminating security vulnerabilities and other bugs. Prerequisite: COMS W3157 Advanced Programming or equivalent. The course is targeted to undergraduate seniors and first-year MS students, but qualified juniors as well as more advanced graduate students are very welcome. Students are expected to have two or more years programming experience, and be comfortable programming in at least one of C/C++, Java or Python. Student teams pick their own language from these three for their projects; other languages such as Javascript or Swift may be allowed with the instructor’s permission. 4156 is a Systems distribution course for all CS doctoral students and a Systems breadth course for all CS MS students. 4156 is required for the CS MS Computer Security and Software Systems tracks, and a technical elective for all other CS/CE MS tracks and for CS/CE undergraduate tracks. Lecture Notes and Assignments from some recent offerings of the course are posted here.