SOFTWARE ARCHITECTURE COURSE TITLE: CSSE577 - Software Architecture COURSE DATES: June 3 – August 19 LOCATION: Online CONTACT: chenowet@rose-hulman.edu COURSE DESCRIPTION Software developers step-up their technical role, in a natural way, by moving into design and architecture. This gives them more responsibility, more of a chance to make contributions that other people also find valuable, and more opportunity to express their own creativity on the job. Today's developers are familiar with software design at the objectoriented level, using OO methods and patterns in their daily work. Software architecture, however, is a step above this. Many developers are not familiar, from their own experience, with making large-scale choices in design so as to meet the complex requirements of a good-sized system. Our class fills in that background with industry-wide experience. In addition to new system development, architectural knowledge is tapped whenever there is a significant design problem with an existing system. The customer now wants to have twice as many users – how do we address that? Who is qualified to help lead the design study? This is a course in the architecture and design issues and tradeoffs of complete commercial systems. Topics include building on components and make/buy decisions, quality attribute optimization, architectural principles and alternative styles, high-level design documentation, and modeling practices in human interface design. EARN A CERTIFICATE OF COMPLETION AND CEUs Participants who successfully complete all course requirements receive a Certificate of Completion and one of the following: 4 hours of Graduate Credit or 3.5 CEUs. COURSE OVERVIEW The course is held over 10 weeks and will provide the following: HIGH QUALITY STANDARDS For the 17th consecutive year, Rose-Hulman has earned distinction as America’s No. 1 undergraduate engineering college, based on a national survey of deans and senior faculty conducted by U.S. News & World Report for its 2015 college guidebook. In addition, once again, Rose-Hulman was ranked No. 1 in five academic programs: chemical engineering, civil engineering, computer engineering, electrical engineering and mechanical engineering. Rose-Hulman’s ranking is among colleges that offer the bachelor’s or master’s as its top degree in engineering. 22 modules covering foundational and current topic areas Four assessments to reinforce key learning concepts for each module Discussion forums for participants to discuss questions posed by RoseHulman faculty and other professionals participating in the course The high quality RoseHulman standards you’ve come to know and love including a small studentfaculty ratio. Registration for the course costs $2,932. Participants also take away: LEARN MORE > WWW.ROSE-HULMAN.EDU/MSSE Course materials including annotated slide decks 90-day access to the archived course SOFTWARE ARCHITECTURE LEARNING OBJECTIVES After taking this course, participants will be able to: Describe principles of building significant systems for different purposes. Determine how to improve the desired qualities of existing systems. Explore well-known architectural patterns, their benefits and trade-offs. Create systems exhibiting the desired levels of quality attributes like availability and performance. Begin systems that will have pervasive, long-term, desirable capabilities. Investigate the art of building frameworks that are most useful to everyone else on a project— like developers and testers. Understand how to make agile architectures, and let the design play an enabling role in a longterm, agile development process. Understand how to coordinate the design work done by multiple organizations. This includes sourcing decisions, and getting the flow of required communication/documentation just right. “This course is structured in such a way that you gain an overall understanding of software architecture, while you are working on a related "inquiry" project at the same time. This allows for you to try out all the ideas in the course, asking others you work with as to how each course concept would work at your place of business.” STEVE CHENOWETH │ Associate Professor of Computer Science and Software Engineering KEY BENEFITS Position yourself in your organization as a software technical leader versed in fundamental and current design principles. Gain key insights from leading faculty who will impact how you and your organization approach software design to make projects durable, feature-rich, and high quality. Engage confidently with your organization’s management and learn to identify product design opportunities and navigate challenges. WHO SHOULD PARTICIPATE? Prerequisites: Software development and/or maintenance experience and the ability write and communicate effectively. Software Architecture is designed to be valuable to individuals and organizations because it provides the concepts, techniques and practical application to enable immediate contributions in the workplace. Participants are usually interested in becoming software architects or higher-level designers who will take direct advantage of the knowledge gained. LEARN MORE > WWW.ROSE-HULMAN.EDU/MSSE SOFTWARE ARCHITECTURE MODULES AND TOPICS Through the text, a series of directed readings, active learning exercises and case studies, students will be exposed to a blend of classic and emergent techniques to grasp a thorough understanding of key software architecture principles. The course will focus on these three areas: 1. How to build significant systems for different purposes. 2. How to improve the desired qualities of existing systems, focusing on: Availability Performance Security Interoperability Modifiability Usability Testability We like to keep our classroom sizes small — even our virtual ones — to allow for the close faculty/student interaction for which Rose-Hulman is known. Pre-register now to secure your spot! 3. Exploration of well-known architectural patterns, their benefits and trade-offs. These high-level patterns include: Layered Pattern Model-View-Controller Pattern Client-Server Pattern Broker Pattern Shared Data Pattern Peer-to-Peer Pattern Pipe-and-Filter Pattern Service-Oriented Architecture Publish-Subscribe Pattern Map-Reduce Pattern Multi-tier Pattern Microservice Architecture For more information, please contact Dr. Chenoweth at (812) 877-8974 or via email at chenowet@rose-hulman.edu. EARN A CERTIFICATE OF COMPLETION Upon successful completion of the course and the assessments a Certificate of Completion will be awarded by Rose-Hulman Institute of Technology. To earn a Certificate of Completion in this course, participants should complete all assignments, quizzes, discussion forums, activities and assessments by the course completion date with an 80 percentage success rate. ROSE-HULMAN INSTITUTE OF TECHNOLOGY · 5500 WABASH AVENUE · TERRE HAUTE, IN 47803