Associate Professor and Director of Digital Learning, Computer Science
Dr. Braude teaches software design, machine learning, and algorithms. His six books include Software Engineering: Modern Approaches, 2nd ed. (Wiley, 2010)—with Michael Bernstein—and Software Design: From Programming to Architecture (Wiley, 2003), and a number have been translated into multiple languages. Braude has many years of experience as a researcher, software engineer, and senior R&D manager in industry and government. He has served as technology adviser to corporations such as Philips, Lockheed, Lucent, and MITRE Corporation.
- MET CS 684 – IT Security Policies and Procedures
- MET CS 682 – Information Systems Analysis and Design
- MET CS 633 – Software Quality, Testing, and Security Management
- MET CS 782 – IT Strategy and Management
Braude, E., Konstantopoulos, D., and Pinkerton, M. “Components and Frameworks in the Cloud Era.” Software Reuse in the Emerging Cloud Computing Era, edited by Yang, H., and Liu, X. (IGI Global, 2012): 51–61.
Braude, E., and Konstantopoulos, D. “A Mashup Framework for Composable Resources in the Presence of Unreliability.” International Journal of Advances in Computing and Management (2012): 1–6.
Braude, Eric J., and Michael Bernstein. Software Engineering: Modern Approaches, 2nd ed. (Wiley, 2010).
“Dijkstra’s Counting Arguments, Puzzles, and Cumulative Subgoal Fulfillment.” In Proc. of the 9th International Workshop on Computer Science and Education in Computer Science (CSECS 2013). Fulda, Germany, June 29-30, 2013.
“Programming with Discipline: Cumulative Subgoal Fulfillment.” In Proc. of the 8th International Workshop on Computer Science and Education in Computer Science (July 2012).
Braude, Eric J., and Konstantopoulos, Dino. “A Mashup Framework for Composable Resources in the Presence of Unreliability.” Paper presented at the International Conference on Advances in Computing and Management (ICACM 2012 ). Pune, India. January 2012.
“Applications of Cumulative Subgoal Fulfillment to Linear Programming.” In Proc. of the 7th Annual International Conference on Computer Science and Education in Computer Science (2011): 43–52.
“Cumulative Subgoal Fulfillment in Software Development.” In Proceedings of the 11th IASTED International Conference on Software Engineering and Applications, 480-485. Cambridge, Mass. November 19-21, 2007.
“The Dijkstra/Gries Loop Invariant Process Formalized and Extended.” Microsoft Research, Redmond, Wash., February 18, 2013.
“Cumulative Subgoal Fulfillment.” International Conference on Advances in Computing and Management, Pune, India, January 6, 2012.
“Cumulative Subgoal Fulfillment.” University of Warwick, Coventry, UK, November 26, 2010.
What is your area of expertise?
Machine learning and software engineering.
Tell us about your work—can you share any current research or recent publications?
A paper, “Generalizing Morley’s and Other Theorems with Automated Realization,” by my student (and recent MSCS graduate) Satbek Abdyldayev and myself, appeared in April’s issue of the Journal of Automated Reasoning. Morley’s Theorem is a statement about triangle trisectors that came to my attention years ago via the writing of computer scientist Edsgar Dijkstra, and in this 23-page paper we describe the theory as well as our GEOPAR program, which checks the validity of various proposed theorems in plane geometry.
MSSD graduate Jason Van Schooneveld and I recently completed work on “Incremental UML for Agile Development with PREXEL,” which was introduced at the International Conference on Software Engineering last month in Gothenburg, Sweden.
How does your work in apply in practice? What is its application?
The most common form of software development, agile, does not readily accommodate the use of design tools. That’s the issue PREXEL addresses, and master’s graduates Chih-Chieh Liang and Nitish Gaddam are now working with me on the next generation of PREXEL.
The work that student Andy O’Connell and I are doing applies machine learning to recovery from failures in the Internet of Things—which is now quite pervasive.
From your previous work in the industry, what “real-life” exercises do you bring to class? And how does that inform your classroom?
Before coming to BU, I worked in applying AI to complex systems and was also involved in software reliability. The resulting perspectives influence my research and teaching. In advanced classes, I emphasize the development of individual projects, so students have the opportunity to apply concepts as they learn them.
What advice do you have for new students?
Information Technology has become a very broad field. Pick areas within IT that interest you the most. You will enjoy your work, develop a habit of continuing learning, and add experience to rely on in the future.