practices used in real-world web development, theprofessor invited the professional web developer to join the course as an instructor in the nextsemester. The project underwent a major revision to bring it more in line with current industrypractice. Two years later, the project went through another major revision, again in the interest ofreflecting common practices in industry.We learned a lot from doing two major project rewrites in less than three years, but perhaps themost important “lesson” is that these revisions will continue. And if we want to keep up with thechanging software landscape in industry – especially in the fast-moving world of web-development – the project must continually evolve to reflect those changes. This does not meanthat
Engineering Education, vol. 86, no. 1, pp. 17–28, 1997. [3] R. S. Pressman, Software engineering: a practitioner’s approach. Palgrave Macmillan, 2005. [4] D. Gustafson, Schaum’s Outline of Software Engineering. McGraw-Hill, Inc., 2002. [5] R. Ford and C. Coulston, Design for Electrical and Computer Engineers. McGraw-Hill, Inc., 2007. [6] L. M. Reno, 10 Leadership Maneuvers: A General’s Guide to Serving and Leading. Deep River Books, 2015. [7] F. P. Brooks Jr, The mythical man-month (anniversary ed.) Addison-Wesley Longman Publishing Co., Inc., 1995. [8] V. Subramaniam and A. Hunt, Practices of an agile developer: Working in the real world. Pragmatic Bookshelf, 2006. [9] DriveOhio, New self-driving shuttle rolls around scioto mile
decisions. • Students will increase their ability to identify and evaluate sources of information. • Students will learn and apply the software development lifecycle. • Students will learn real world development technologies. • Students will use Agile development practices. • Students will reflect on professionalism in software development. • Students will increase their ability to work in teams and communicate technical information.Course DesignScrum Roles: The biggest modification of Scrum in the classroom is the application of the threeroles: product owner, Scrum master, and development team. Naturally, the student teamscomprise the development team, however there are many methods to assign product
fixes over SPL (maintainability) goals.In this work we investigate a couple of research questions including: can incorporating SPL intoan undergraduate software engineering course sequence improve student learning outcomesrelated to writing maintainable, reliable, and reusable code? We are also interested in answeringthe question of whether incorporating SPL can improve the quality of documentation created bystudents. To work toward answers to these questions we present a case study of the two-semesterdevelopment of an SPL in a senior-level undergraduate software engineering course sequenceusing a real-world mobile application. We present key strategies for motivating positive learningoutcomes including an adapted Scrum process designed to
to apply the theory to solve real world problems.10 Effective teaching requireseffective teaching tools. Active learning tools complement lectures and make class delivery moreinteresting to the learners.11Case studies can be used to contextualize theoretical concepts.12 It has been shown in manystudies that the benefits of case studies are derived from their interactive nature and the shiftingof emphasis from teacher-centered to student-centered activities.9, 10, 13, 14 Manohar et. al. statethat case studies are effective educational tools for introducing real-world professional practicesinto the classroom which would help the students in identifying and solving problems, anddeveloping a perspective on knowledge application.15 The benefits
methodologies that could bring real-world issues into engineering classrooms [10]. Theresults of their research led to recommendations for funding agencies and educators on theimportance of developing interdisciplinary technical case studies that allow engineeringinnovations to be communicated to students in the classroom.Engineering education must strike a balance between the knowledge of theoretical conceptsand the ability to apply the theory to solve real world problems [11]. Effective teaching requireseffective teaching tools. Active learning tools complement lectures and make class deliverymore interesting to the learners [12, 13]. Students in courses based on active learning techniquesshow better attendance, a higher sense of competence, and
Summer 2015 to the end of Spring 2016 at Indiana University-Purdue University Fort Wayne (IPFW). Specifically, we point out that the Scrum principles, suchas working closely with customers, using incremental development with online tools such asPivotal Tracker and GitHub, and running weekly Scrum, contribute significantly to the successof this project. The completed final software product was put into public use and receivedpositive comments from satisfied customers. The students in the project also gave excellentfeedback on the guidance of the faculty advisor and their design experience.IntroductionA senior capstone project is an excellent way for computer science (CS) students to work on areal product and acquire real-world experience. From
objectives have been met. Professionals know how things get done inindustry. They understand the trade-offs and compromises that must be made to get a softwareproduct out the door. Their knowledge comes from other developers and from years of practicalexperience building real-world systems. When the educator and the industry professional areteaching as a team – both invested in the outcome of the course – the results can be transforming.This was our experience in teaching a course on Web Application Development for an onlineMaster of Information Technology program. The students in this program are typically workingprofessionals in an IT-related field, and their programming experience varies widely dependingon whether they come from the business side
completed in 1998, 2004, and 2008, re- spectively. He is a member of the ACM, IEEE, and ASEE. Dr. Bender’s research interests include various topics in Operating Systems and Networking, including adhoc networks, real time systems, multimedia communications, and system security. The focus of his current research is on the application of test driven and behavior driven development to distributed real time sensor/actuator networks. c American Society for Engineering Education, 2018 Work in Progress: One approach to Software Engineering project selection for small student populations Paul Bender
, 15]; pro-viding supplemental learning materials online that support the use of testing tools [16]; improvingtesting courses by identifying the difficulties and challenges students encountered when perform-ing testing [17]; and, testing real-world projects as a significant part of the software testing course[18].This paper presents the experiences of teaching an undergraduate software testing course over foursemesters using three different approaches for the project component of the course. A major com-ponent of the course is a semester-long group project with several deliverables. The nature of thegroup projects includes (a) testing different capstone projects that are sponsored by local compa-nies, (b) all student teams testing a single
analyses should keep in mind the limitation of sample size. The student feedback about specific pedagogical tools was obtained in the form of open ended questions. Many students provided positive comments about the activity in terms of recognizing the importance of the content, real-world application, collaborative nature of the activity, and hands-one nature of the activity. One student indicated his or her group did not have time to compete the activity, but that was the only negative response provided by the students. Some of the representative comments from the student feedback are summarized below: - Class Exercise: Software Requirements Specification (SRS) Review o This was helpful in that in provided
techniques, which are focused on how students learn SE topics. Particularly, HCIconcepts are taught using project and problem-based learning approaches, consideringconcepts, the application in software development experiences, and in-situ expert support [6].Projects in Software Engineering education are core activities, simulating and/orincorporating real clients [7]. Consequently, HCI contributes to the improvement of theinteraction model and the user experiences, complementing classical requirements elicitationtasks [8], such as needs identification, design alternatives, building of interactive models, anddesign evaluation. Some findings in project-driven HCI-SE courses have shown that studentsare motivated by a self-regulating approach
bachelor program, the instruction around sustainability took place in the final semesterduring the major design experience. The theory of the Karlskrona manifesto was presented tostudents along with examples to help them understand its application to real projects. It was ledby the course coordinator, in periodic meetings, in order the students would incorporate theirsustainability analysis in the final technical report and present it as part of their projects defense.In that scenario, students were supported by their project advisor and were responsible to explainsustainability trade-offs of the proposed software solution to stakeholders.In the master program, the instruction took place in a first-year mandatory course, devoted toethics and
well.Being the central component of our study, the aforementioned tutorial proved remarkably effec-tive, so we take a closer look at its underlying design principles. To help with designing similareducational interventions, we identify the tutorial’s key principles and explain how they manifestthemselves. We attribute the success of our tutorial to having made careful design decisions basedon systematically researching the problem domain. Specifically, we followed a bottom-up exper-imental design approach, eventually creating a tutorial that provides a real-world context for theintroduced technical subject, while keeping the learners engaged and motivated. The retrospectiveinsights gleaned from the tutorial and its instructional strategies can serve
industry.Imparting real world experiences in the academia as well as the industry is a challenge due tolack of effective active learning tools (ALT). At the author’s institution, this educational resourcegap is being addressed by developing ALTs in the form of class exercises, case studies, and casestudy videos and delivering them using a flipped classroom model. Riding on the success ofdeveloping and disseminating, 44 delivery hours of active learning tools in the area of softwareverification and validation the authors propose to partner with industry to develop 14 deliveryhours of course modules in the form of active learning tools that can be incorporated in existingsoftware degree courses. 6 delivery hours of case studies, 6 delivery hours of exercises
supporting research into student participation in HFOSS.Darci Burdge, Nassau Community College Darci Burdge is Assistant Chair and Professor of Computer Science at Nassau Community College. She has worked to increase students understanding of software development and the impact it can have on society. She is especially interested in broadening the perspective of the introductory Computer Science student beyond the programming concepts typically taught in these courses. She uses HFOSS projects as a means to providing real-world experience and finds that students are motivated, showing increased participation in classroom discussion especially among women. She is Co-PI on an NSF-funded project to assist faculty who are
been used at more than a dozen other institutions, so it did give studentsthe experience of writing software for a real user base.This development benefited students in several ways. First, assignments were “real world” in thesense that they had real users, but also because they were based on modifying and extendingexisting code. This is very different from starting a project from scratch. It’s necessary to readcode that has been written by other students, which gives students an appreciation of theimportance of coding standards and good commenting. There are plenty of opportunities forrefactoring. Documentation is important, because that’s how future teams will come tounderstand the design. Sometimes students whose projects are “close to
commonplace and accessible at universities around the world,surges of undergraduate Computer Science and Software Engineering students can be foundattending these events to have real world development experiences. Meanwhile, faculty findthemselves continuously adapting themselves and their curriculum to prepare students to beadaptive experts, one who leverages prior or similar knowledge to solve new problems in newcontexts, when they enter the workforce. Capstones and culminating experiences test students’abilities to be adaptive experts, but students are not always prepared to meet the challenge.Hackathons present a unique but accessible opportunity to gain more adaptive experience priorto and during capstone experiences. In this work in progress
. 43-6914. National Academy of Engineering, “Exemplar of Programs Infusing Real World Experiences into Engineering Education” , National Academies Press, Washington D.C., 201215. C. B Zoltowski, and Oakes, W.C., “Learning by Doing: Reflections of the EPICS Program”, Special Issue: University Engineering Programs That Impact Communities: Critical Analyses and Reflection, International Journal for Service-Learning in Engineering, 2014, pp. 1-3216. Jacoby, B., "Service-Learning in Today’s Higher Education", in Service-Learning in Higher Education: Concepts and Practices, ed. B. Jacoby and Associates, Jossey-Bass Publishers, San Francisco, CA, 1996.17. Zlotkowski, E., Successful Service-Learning Programs. New Models
. The course sequence was motivated by the desire toprepare students for the “real world.” Students were assigned to functional maintenance teams(e.g., a software quality assurance team) that consisted of 1 to 5 students each. The maintenanceprocess needed to be modified during the maintenance course to reduce the document andprocess overhead. The authors reported improvement to the maintenance process due to thesemodifications.Three papers clustered in time (2002-2004) report experience implementing the Team SoftwareProcess (TSP) [10,17,18]. The motivating objectives were to gain practical experience with SEand process outcomes [17] and experience team-based software development [10]. TSP is asemester-long software development process where
Bell Laboratories, Siemens Corporate Research, and AVL, including microcode for a graphics processor, real-time medical image processing, and data acquisition and communications protocols for semiconductor process control. Since 1997, he has been a faculty member in Rochester Institute of Technology’s Department of Software En- gineering including the position of Department Chair. His professional interests are in the engineering of software for real-time and embedded systems. He was a recipient of RIT’s 2010 Eisenhart Award for Outstanding Teaching.Mr. Bryan Basham, Software Alchemy (with RIT) I am a Software Consultant, Developer, Application Architect and Educator with over 40 years of software development
complexity of real world problems.The project transformed the pedagogical approach by increasing the levels of student engagementand learning through interactive, hands-on exercises, case studies and discussions. The paper de-scribes in some detail how the case studies used in the classes were developed, with an examplefor software testing being provided. To show the consistency with the institutions’ curriculum, theeducation outcomes of the case study based approach for two courses were mapped to the ABETcriteria, as defined by the academic institution. A survey was conducted to assess the effective-ness of the active learning tools developed and used in the classroom. Ten students participatedin the study and the results showed that student
over the world[4]. A Micro Focus[5] report points outthat the effects of software failures are influencing discussions in boardrooms and even brandnames. Even though the software industry has been using advanced technologies and processes fordevelopment activities, software failures have not decreased[6]. Software testing is critical to prevent software failures. Therefore, research has been carriedout in testing but that is largely limited to the process[7][8] and technology[9, 10] dimensions andhas not sufficiently addressed the human dimension. Even though there are reports aboutinadequacies of testing professionals and their skills [5], only a few studies have tackled theproblem[11]. Therefore, we decided to explore the human dimension
InstitutionAbstractPrevious work has described and evaluated a collaboration between a software projectmanagement (SPM) course and an introductory software development course. That collaborationhas successfully supported the experiential learning of SPM skills as well as skills to effectivelyinteract with a project manager. This paper further evaluates that collaboration framework byreporting its application at a second institution for two semesters. Overall, the learning outcomesand student experiences achieved at the second institution were similarly positive to thoseachieved at the first institution. The major components of the framework were fully implementedat the second institution with specific aspects customized to meet the institution’s educationaloutcomes