Associate Professor of Practice
I have been an Associate Professor of Practice in the Department of Computer Science and Engineering at the University of Nebraska-Lincoln since January 2015. I am also the Director of the undergraduate Software Engineering program. Prior to joining UNL I was a Research Computer Scientist at NASA Langley Research Center where I worked in the Formal Methods group in the Safety-Critical Avionics Systems branch. I have also worked as a software engineer in industry and state government. I recently received the 2020 Holling Family Distinguished Teaching Award in the UNL College of Engineering. I have also received the UNL Parents Association Certificate of Recognition for Contributions to Students Award in 2019 and 2020.
My research interests include software testing and program analysis techniques, especially in the context of evolving software. More recently, I have been focused on software engineering education.You can view a copy of my full CV here.
We are happy to announce that UNL graduated the first class of software engineering majors in May 2020! Thank you to the members of the first cohort for helping shape our program!
The UNL undergraduate program in Software Engineering was launched in Fall 2016. It is currently ranked 16th in Best Software Engineering Degrees according to College Choice and 25th Best Bachelor's in Software Engineering according to Best Computer Science Schools.
Our program follows a Software Engineering First (SE-First) model that teaches fundamental software engineering concepts together with foundational computer science topics and non-technical skills, such as communication and teamwork, in the first two years. In the fourth semester course (SOFT 261), students work in teams on open source projects such as OpenMRS and Pitivi. Students in the program also take two years of our capstone course and complete an internship for credit so they leave the program with a lot of hands-on experience.
Below are some videos created by students in SOFT 261 to share with their high schools to help high school students understand what software engineering is and what it is like to study software engineering (these videos were created to satisfy honors contract requirements):
• What is Software Engineering as a Major by Ethan Dyas, and
• Software Engineering for the High School Programmer by Jaden Goter
A complete description of our software engineering program can be found here.
• Software Engineering Notes I: An Introduction to Software Engineering and Computing (Our first-year text book)
• Teaching Communication Skills in Context: An Experience Report (A talk I gave to our DBER group in Spring 2019)
• Benchmark Portfolio for SOFT 261: Software Engineering IV(Completed as part of the UNL Peer Review of Teaching Project)
• SOFT 261 Software Engineering IV - (Spring only course) 2017 - 2020
• SOFT 161 Software Engineering II - (Spring only course) 2017 - 2019
• SOFT 160 Software Engineering I - (Fall only course) 2016 - 2019
• CSCE425/825 Compiler Construction - Fall 2015I also supervise internships for software engineering majors every term: (CSCE 491)
• Java Impact Analysis Framework: Invention Disclosure e-NTR#:1392742578. Released under NOSA open source license.
• C Impact Analysis Framework: Invention Disclosure e-NTR#:1393341390. Released under NOSA open source license.
• Abstract Syntax Tree Observer (ASTro): Released under Apache open source license.
• Bug Hunt: Web Tutorial to Assist Learning of Software Testing in CS1 and CS2.