Gail E. Kaiser is a Professor of Computer Science and the Director of the Programming Systems Laboratory in the Computer Science Department at Columbia University. She was named an NSF Presidential Young Investigator in Software Engineering and Software Systems in 1988, and has published over 150 refereed papers in a wide range of software areas. Prof. Kaiser's research interests include software reliability and robustness (focusing on software testing and program analysis), information management (most recently privacy and security), social software engineering (including collaborative work and gamification), and software development environments and tools (particularly for web and mobile applications and systems). She has consulted or worked summers for courseware authoring, software process and networking startups, several defense contractors, the Software Engineering Institute, Bell Labs, IBM, Siemens, Sun and Telcordia. Her lab has been funded by NSF, NIH, DARPA, ONR, NASA, NYS Science & Technology Foundation, and numerous companies. Prof. Kaiser served on the editorial board of IEEE Internet Computing for many years, was a founding associate editor of ACM Transactions on Software Engineering and Methodology, chaired an ACM SIGSOFT Symposium on Foundations of Software Engineering, vice chaired three of the IEEE International Conference on Distributed Computing Systems, and serves frequently on conference program committees. She also served on the Committee of Examiners for the Educational Testing Service's Computer Science Advanced Test (the now-defunct GRE CS test) for three years, and has chaired her department's doctoral program since 1997. Prof. Kaiser received her PhD and MS from CMU and her ScB from MIT. See her CV at http://www.cs.columbia.edu/~kaiser/vita.html for details. Her lab's website is http://www.psl.cs.columbia.edu.
Prof. Kaiser will teach COMS E6123 Programming Environments and Software Tools in Spring 2015. COMS E6123 is a seminar-style follow-on to COMS W4156 Advanced Software Engineering (or equivalent background) that involves readings from the literature, an investigative paper, and a development or evaluation project. All students will give presentations in class; attendance and active class participation are required. Students can choose the software development tool paradigms or ecosystems of most interest to them for the paper and project, and may work either in teams or individually. Sample readings: "Getting to Flow in Software Development", by Gail C. Murphy, 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software; " A few billion lines of code later: using static analysis to find bugs in the real world", by Al Bessey et al., Communications of the ACM, February 2010. Example paper/project topics (students choose their own topics, and may choose the same or different topics for the paper and the project): Social networking systems for software engineers; Record/replay approaches to debugging; Test automation for touch/gesture-based mobile apps; Computational Thinking tools for non-programmers.
Prof. Kaiser will teach COMS W4156 Advanced Software Engineering again in Fall 2015, which focuses primarily on developing web/mobile applications leveraging third-party frameworks (e.g., Javaplay, Ruby on Rails or Python/Django) and data APIs (e.g., NYC Open Data). We will cover software process and design patterns, but the greatest emphasis will be on testing and debugging. The Heartbleed Bug is one recent real-world example of why we need rigorous software testing. Most assignments will be conducted in pairs (2 students) or teams (4 students). 4156 is required for the MS computer security and software systems tracks (software systems track students who first enrolled before Fall 2014 are not required to take 4156, but are encouraged to take it for distribution, track elective, or general elective). MS students from other tracks, PhD students, undergraduates and non-majors are very welcome. A preliminary assignment at the beginning of the semester will be used to determine adequate programming skills. The Fall 2014 preliminary assignment is posted here; there will be an analogous assignment next year.
Prof. Kaiser's lab is seeking undergraduate and MS project students for Spring 2015 and beyond. Students who would like to become involved should review the project literature and descriptions, as well as the specific advertisements. At present, projects are available only for academic credit: there are no MS GRA or otherwise paid positions open. However, top-notch research-oriented undergraduates and MS students will be considered for future PhD admission with funding.
Slides from Prof. Kaiser's "Distinguished Lecture" at the University of Southern California from April 18, 2013.
Alex Orso's advice on how to get your paper accepted at a top software engineering conference.
Prof. Kaiser's advice on finding "related work" for conference papers.
Prem Devanbu's Review Anti-Patterns.
Automatic Systems Research Topic or Paper Title Generator
Lady Java video
Better yet, hold a conference call!
They also do not post the Honest University Commercial.
Current PSL Doctoral Students:
Former PSL GRAs, Staff and Visitors:
Prof. Kaiser's Greatest Achievement
Prof. Gail E. Kaiser
Department of Computer Science
1214 Amsterdam Avenue
Mail Code 0401
500 W. 120th St., Room 450]
New York, NY 10027
department main number: 212-939-7000
Last updated December 17, 2014.
Copyright © 1985-2014 Gail E. Kaiser.