General Schedule for all days:
|8–8:30||Registration and continental breakfast|
Continental breakfast, lunch, breaks, social program are all included in the conference registration fee.
Tuesday, November 7
Academy for Software Engineering Education and Training (ASEET)
The ASEET includes the following 2 full-day workshops in parallel sessions. Due to the structure of these workshops, attendees are requested to stay in a single workshop, rather than trying to attend parts of both workshops. These workshops are included in the conference registration fee:
Evening Social Program: Tuesday, November 7, 2017, River Dinner Cruise, 9 East River Street Savannah, GA 31401 Cruise boards at 6 PM, sails at 7 PM for 2 hours
Wednesday, November 8
Session 1 – Plenary session - Announcements and Keynote Speaker
- Keynote: System Thinking for Software Engineering Educators - Dick Fairley
Session 2 – Parallel sessions:
- Hall of Fame Presentations (4 presentations: Carnegie Mellon University, Rochester Institute of Technology, University of Ottawa, joint presentation by University of Zagreb, Croatia (FER), Mälardalen University, Västerås, Sweden (MDH) and Politecnico di Milano, Italy (POLIMI) )
- Paper Session 1 (See pdf for details)
- Paper Session 2 (See pdf for details)
- Lunchtime Poster Session (See pdf for details)
Session 3 – Parallel sessions:
- Workshop: Crafting the future of software engineering education in CC2020
- Chair: Rich LeBlanc Participants: Dick Fairley, Nancy Mead, John Impagliazzo
- Paper Session 3 (See pdf for details)
- Paper Session 4 (See pdf for details)
Session 4 – Parallel sessions:
- Panel: How to Enhance Diversity in Software Engineering Programs
- Chair: Hossein Saiedian Panelists: Grace Lewis, Andrew Williams
- Paper Session 5 (See pdf for details)
- Paper Session 6 (See pdf for details)
Evening Social Program: Conference Dinner
Thursday, November 9
Session 1 – Plenary session – Nancy Mead Award, Hall of Fame announcement, Keynote speaker
- Keynote: Teaching Agile Methods - Mark Paulk
Session 2 – Parallel sessions:
- Panel: Undergraduate software engineering education
- Chair: Chris Taylor Panelists: Kevin Gary, James Kiper, Carol Wellington, Norha Villegas, Lily Chang
- Paper Session 7 (See pdf for details)
- Paper Session 8 (See pdf for details)
Session 3 – Parallel sessions:
- Workshop: Teaching Agile Project Management
- Eduardo Miranda
- Panel: SWEBoK Evolution
- Chair: Rich Hilliard Panelists: Stephen Schwarm, Hironori Washizaki
- Paper Session 9 (See pdf for details)
Session 4 – Parallel Sessions:
- Workshop: Teaching Agile Project Management (continued)
- Eduardo Miranda
- Paper Session 10 (See pdf for details)
Complex, computer-based systems are increasingly pervasive in all aspects of modern society, including communications, health care, transportation, commerce, civil infrastructure, and military applications. Software is a primary element of these systems; it provides the connections among the diverse elements of a modern system and the interfaces to the system’s environment. In addition, software provides many features of modern systems (functionality, behavior, and quality attributes). Those of us charged with preparing the next generation of software engineers have the responsibility to prepare them for a world in which software is a critical element of complex systems.
System thinking is a cognitive process that is widely applied in fields such as applied mathematics, psychology, biology, game theory, and social network analysis. It provides the foundation for systems engineering and is increasingly applicable to software engineering. This presentation will focus on systems thinking, why understanding and applying it is important for software engineers, and how systems thinking can be introduced in software engineering courses.
Richard E. (Dick) Fairley is founder and principal associate of Software and Systems Engineering Associates (S2EA) and an adjunct faculty member in the doctoral program at Colorado Technical University. His professional interests are software engineering, information technology, systems engineering, and project management. Dr. Fairley was chair of the Software and Systems Engineering Committee of the IEEE Computer Society from 2010 to 2015. He was co-editor of the software engineering body of knowledge (SWEBOK V3), leader of the Computer Society team that produced the software engineering competency model (SWECOM), leader of the joint Computer Society-PMI team that developed the software extension to the PMBOK Guide (SWX), and was an author of the systems engineering body of knowledge (SEBoK). He is currently a SEBoK editor and an active member of INCOSE – the International Council on Systems Engineering.
Dr. Fairley’s PhD is in computer science from the University of California, Los Angeles (UCLA). His bachelors and masters degrees are in electrical engineering. Before obtaining his PhD, Dr. Fairley worked in industry as an engineer and computer programmer. Dr. Fairley has held tenure at three universities but left each to pursue other opportunities. Dr. Fairley is a member of IEEE, the IEEE Computer Society, INCOSE, and PMI – the Project Management Institute. He and his wife Mary Jane live in the Colorado Mountains where he enjoys motorcycling, skiing, and jazz.
Agile methods are increasingly being used in industry and studied in academia, but relatively little teaching of how to do agile right occurs at the undergraduate or graduate student level. Although many student teams may claim to be using an agile method on their project, an objective assessment is likely to note violations of fundamental agile practices. For example, I observed MSE student projects spanning multiple terms where, for the first year, no code was being written... yet one of the agile principles is that working software is the fundamental measure of progress. Applying what was learned in class on the project did not align with how agile works in this context. Many students find agile practices such as peer programming and collective code ownership (from Extreme Programming) personally uncomfortable. And changing the requirements for the project midway is a violation of academic norms! Exposing students to the agile paradigm can be a challenging experience for both the teacher and the student.
Dr. Mark Paulk teaches software engineering at the University of Texas at Dallas and is a consultant and author in software engineering, software process improvement, high maturity practices, agile methods, and statistical thinking.
Dr. Paulk was a Senior Systems Scientist at the Institute for Software Research at Carnegie Mellon University from 2002 to 2012, co-authoring the eSourcing Capability Model for Service Providers. From 1987 to 2002, Dr. Paulk was with the Software Engineering Institute at Carnegie Mellon, where he led the work on the Capability Maturity Model for Software.
Dr. Paulk received his PhD in industrial engineering from the University of Pittsburgh, his MS in computer science from Vanderbilt University, and his BS in mathematics and computer science from the University of Alabama in Huntsville. He is a Fellow of the ASQ, a Certified ScrumMaster, and a Senior Member of the IEEE.
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both . It manifests early design decisions, enables communication between stakeholders, and is a transferable abstraction of the system that can be applied to other systems with similar quality requirements. As such, software architecture constitutes a valuable tool for computer science and software engineering students as they head out to the build the software systems of the world. Not surprisingly, in 2016 software architect was listed as the second highest paying tech job in the US by Business Insider . However, educators struggle incorporating this topic into already full curricula, especially in undergraduate programs where students often do not have the maturity and experience to grasp the importance of the subject.
The goal of this one-day workshop is to bring together university faculty who are teaching or are interested in teaching software architecture. The first half of the workshop will be an “Introduction to Software Architecture.” The second half will be a combination of invited presentations from workshop attendees, identification of challenges and opportunities for teaching software architecture, and break-out sessions related to identified challenges and opportunities.
The workshop will be led by Grace A. Lewis, a principal researcher at the Carnegie Mellon Software Engineering Institute, who has been co-leading the SEI Software Engineering Educators workshop for the past six years. More information about these workshops is available at https://www.sei.cmu.edu/community/edworkshops/
Grace Lewis is a Principal Researcher at the Software Engineering Institute at Carnegie Mellon University. Lewis has over 25 years of professional software development experience in industry and research environments. Her main areas of expertise include edge computing, cloud computing, software architecture, service-oriented architecture, and technology evaluation. Her current areas of work are in secure and efficient computing and communications in resource-constrained environments, and IoT security. Lewis hold a BSc in Software Systems Engineering from Icesi University in Cali, Colombia; a Post-Graduate Specialization in Business Administration from Icesi University; a Master of Software Engineering from Carnegie Mellon University in Pittsburgh, PA USA; and a PhD in Computer Science from Vrije Universiteit Amsterdam, Netherlands.
DevOps and Rapid Deployment have quickly become established practice in large software companies. The goal of these practices is to bring smaller features to the end user faster, without sacrificing quality. They rely on a combination of choosing the right software architecture, deployment process and tool chain. While large companies have developed their current DevOps and rapid deployment methodology largely from scratch -- by training employees on the fly -- they have done this out of necessity. There is a very limited supply of experienced, knowledgeable deployment engineers to keep up the process. Similarly, small and medium sized enterprises and startups want developers trained in DevOps and Rapid Deployment principles to quickly make strides.
However, standard university and college curricula largely skip the idea of deployment and operations, and rarely expose students to a complete continuous deployment pipeline. The goal of this one day workshop is to bring together university faculty who are interested in teaching DevOps and Rapid Deployment to share ideas and materials. This workshop and its predecessor are outgrowths of a panel at the 2016 Conference on Software Engineering Education and Training where it became clear that a) there was a desire to incorporate the material presented at the panel into curricula, b) there was a lack of knowledge of DevOps and c) the materials (texts and tools) useful in teaching the material were unfamiliar to many faculty.
How It Works
The format of this full-day workshop will be partially an “Introduction to DevOps” and partially an in depth discussion. The first DevOps Educators Workshop consisted of presentations by faculty who had taught DevOps. After the presentations, there was a presentation of industrial needs and in depth discussions of topics related to instructional issues. A report on the first workshop can be found at https://github.com/devopseducator/2016workshop/blob/master/workshopSummary.pdf
Len Bass is an award-winning author who has lectured widely around the world. His books on software architecture are standards. His new book on DevOps is, in the words of an Amazon reviewer, “the first DevOps book that shows a realistic and achievable view of the full implementation of DevOps.” He has over 50 years’ experience in software development, 25 of those at the Software Engineering Institute of Carnegie Mellon. He also worked for three years at NICTA in Australia and is currently an adjunct faculty member at Carnegie Mellon University, where he teaches a course in DevOps.
The goal is to improve and share software engineering education and training practices by identifying the best examples in the field. Those elected to membership in Hall of Fame represent the highest achievement in their field, serving as models of what can be achieved and how in software engineering education and training. Click here for more information.
 Bass, L.; Clements, P.; & Kazman, R. Software Architecture in Practice, Third Edition. Boston, MA: Addison-Wesley, 2012.
 Bort, J. “The 11 highest-paying tech jobs in America in 2016.” Business Insider. March 2016. http://www.businessinsider.com/11-highest-paying-tech-jobs-in-america-in-2016-2016-3