softwareorganization, thus providing the students with a taste of an implemented process.The model for an undergraduate software engineering curriculum proposed in D. J. Bagert et al.5proposes a list of nine software engineering courses that can be part of a Computer Science or aSoftware Engineering degree. The list includes a one-semester course on software qualityassurance but includes no guidelines or suggestions on how to teach the topic.Jaccheri et al.6 describe a software process improvement course in which the students are given adocumented quality manual that contains a general process model written in a formal softwareprocess modelling language and they have to perform improvement initiatives.Gannod et al.7 propose a list of four software engineering
, there has been an increased effort in introducing case studies incomputing courses as reported in the literature [9, 14].. These case studies often lack thefollowing: • Realistic artifacts (often space does not allow providing a complete requirements or Page 22.1242.2 design document) • Completeness (covers only a portion of the life-cycle, and not an end-to-end), with a focus on design and implementation • Ability to decouple from the text and apply in ways not intended by the author • Techniques for integration into course activities or into the curriculum as a whole • A scenario format that would motivate
, “Integrating software engineering process in an undergraduate curriculum”, Proceedings of the 18th Conference on Software Engineering Education and Training (CSEE&T'05), April Page 12.1496.10 2005.22. A. Sillitti, et al, “Collecting, integrating and analyzing software metrics and Personal Software Process data”, Proceedings of the 29th EUROMICRO Conference, IEEE, 2003. Proceedings of the 2007 American Society for Engineering Education Annual Conference & Exposition Copyright © 2007, American Society for Engineering Education23. Software Engineering Institute, PSP academic
that theproject is in the context of just one course out of many, and like most courses the project activityis deadline-driven. Yet in the context of a learning process, exclusively performing deadline-driven activities implies the learning process suffers, as compliance drops and contextualizedlearning benefits are limited. This is one of the prime motivations for a platform that performscontinuous assessment, provides timely feedback and identifies compliance issues as soon aspossible.Continuous assessment interpreted from an agile software engineering perspective is closelyrelated to the practice of continuous integration and testing2. This practice is fundamental to agilesoftware engineering in that it supports transparency, visibility
Engineering Education, 2013 Using Software Engineering Concepts in Game Development - Sharing Experiences of Two InstitutionsKey ConceptSymbiotic collaboration between Software Engineering and Computer Game Developmentstudents at two very different universities improves learning and productivity for all involved.AbstractSoftware requirements engineering plays an important role in software engineering curriculum aswell as other computing curriculum. IEEE and ACM jointly have strong curriculum guidelinesthat emphasize the importance of software engineering, and requirements engineering is one ofthe key areas emphasized in these guidelines. Additionally, system development is important sostudents practice the process - taking
integration of software engineering knowledge intothe computer science curriculum, and the earlier introduction of the related skill-set and team-based project experiences. In order to begin addressing these difficulties, we have introduced achallenging and engaging software engineering team project into our first year introductoryprogramming sequence based on the ROBOCODE robotic combat simulator. Programming in theJAVA language, students work on developing a cooperative team of robots that competes in atournament against robotic teams built by their fellow students – teams of students developingteams of robots. Our key goals with this curricular enhancement are: (a) to include softwareengineering education earlier in our program and in a more
students. Although persistence is valuable,being blindly persistent can be counterproductive. In ART, if the candidate traceability linksgenerated by the automated tool do not look promising, the students should learn to revisit theproblem definition or to re-prioritize the requirements (clusters) to be traced. Essentially, thisstrategy is analogous to engineering design, in which constructing and reasoning about a de-sign model, rather than building the full-fledged system, can help assure quality and minimizere-work. Despite the teaching of the shorten-the-feedback-loop principle in most curriculums,students should learn to apply the idea in a more flexible and dynamic way.3. Developing an enriched vocabulary. Using an enriched vocabulary to
AC 2011-322: REUSE A ”SOFTWARE REUSE” COURSENan Niu, Mississippi State University Nan Niu is an Assistant Professor of Computer Science and Engineering at Mississippi State University. He received his Ph.D. in Computer Science in 2009 from the University of Toronto, where he specialized in requirements engineering for software product lines. His research interests include software reuse, requirements engineering, program comprehension, and software engineering education. He is a member of IEEE, IEEE Computer Society, and ASEE.Dr. Donna Reese, Mississippi State University Donna Reese is a professor and interim head of the Department of Computer Science & Engineering at Mississippi State University. She has
interact with a projectmanager are important skills in many computing professions. The integration into the computerscience and software engineering curricula of opportunities for students to learn and exercisethese skills, however, could be challenging due to various logistical reasons. The work describedin this paper evaluates a newly established collaboration between an undergraduate softwareengineering course on software project management and an undergraduate computer sciencecourse on software development in terms of student learning and experience. The contributions ofthis work are a methodology for evaluating such collaborations and some lessons learned fromapplying this methodology for one semester.1 IntroductionThe ability to manage
the class, students were assigned project teams for completion of their project.Project scope is larger than what most individual students could complete in a single academicyear. Task size requires projects to be divided among team members and teams to coordinate foreffective project integration and deployment.Time PressureThe three term course sequence establishes a three term deadline. Twice each quarter, individualstudents are presented with an assessment of how well they are doing in experience points asrelated to course outcome expectations. Each challenge task had a time limit for task engagementand task completion.Level DefinitionsThe sequence objectives was spread throughout the three term sequence and presented in asequential manner
Science in SoftwareEngineering (MSSE) degree program. The program emphasizes the integration of systems andsoftware engineering concepts. The MSSE is a professional, classroom and/or online, degreeprogram, focusing on developing graduates capable of defining, developing, testing, andmaintaining complex software systems by using system requirements engineering techniques thatintegrate hardware, software, human factors, economic, and application considerations. Page 25.1346.3This paper presents an overview of the revised MSSE degree program. Background on theGSwERC curriculum is first presented in Section 2. Section 3 then presents the revised
Degree Programs in Software Engineering, Integrated Software & Systems Engineering Curriculum Project, Stevens Institute of Technology, September 30, 2009. www.gswe2009.org2. Ardis, M., Bourque, P., Hilburn, T. Lasfer, K. Lucero, S., McDonald, J., Pyster, A. and Shaw, M., Advancing Software Engineering Professional Education, IEEE Software, vol. 23, no. 6, pp. 58-63, July/August 2011.3. Pyster, A., Lasfer, K., Turner, R., Bernstein, L., and Henry, D., Master‘s Degrees in Software Engineering: An Analysis of 28 University Programs, IEEE Software, vol. 26 , no. 5, pp. 94-10, September/October 2009.4. Abran, A., Moore, J.W., P. Bourque, P. and Dupuis, R. (Eds), Guide to the Software Engineering Body of Knowledge (SWEBOK), IEEE
-Physical Systems (CPS) Linda Laird, Nicholas Bowen Stevens Institute of Technology Hoboken 07030, USA linda.laird@stevens.edu nicholas.bowen@stevens.edu Abstract— In the fall of 2015, Stevens Institute of Technology welcomed the first freshmen into a newly launched Software Engineering Undergraduate Program based largely on the most recent ACM and IEEE-CS guidelines for undergraduate software engineering programs [1]. This is the first such program in the US that also has an ABET accredited general engineering curriculum. Students will receive a B.E. in Software
. Page 11.1261.1© American Society for Engineering Education, 2006 The Collaborative eNotebook: a Collaborative Learning and Knowledge Management TestbedAbstractWe envision an eNotebook, a software system that enables students and instructors to managetheir learning content across the software engineering curriculum, and to organize the content inmultiple ways. We also envision this as a Collaborative eNotebook, which students andinstructors use as they collaborate to create, share, and add to this content, and collaborate asthey create, share, and add to ways to organize the content. This paper describes the features of aCollaborative eNotebook; it describes a design that integrates existing technologies from
small robotic vehicles programmable in a dialect of Java and expandable through multiple sensors and wireless controllers, such a Bluetooth or RFID. Multiple Lego MindStorms NXT2.0 robotic vehicles that can be programmed in a variety of languages including a native language, as well as Java, C and LabVIEW. Three older generation SCARA robotic arms, with an interface via a RS232C serial port that allows full scale programming but without providing feedback to the controller. These robotic devices, both the simpler ones and the ones fully equipped, form the overallplatform for implementing the ideas of integrating the STEM curriculum in practical courses
preparedness of software engineers. In Proceedings of the 2006 American Society for Engineering Education (ASEE) Annual Conference & Exposition (Chicago, IL, June 18-21, 2006). 9. Ghosh, R. A. 2005. Cooking-pot markets and balanced value flows. In CODE: Collaborative Ownership and the Digital Economy, 153-168. Cambridge, MA: The MIT Press. 10. Hartness, K. T. N. 2006. Eclipse and CVS for group projects. Journal of Computing Sciences in Colleges 21, 4 (Apr), 217-222. 11. Horstmann, C. 2009. Challenges and opportunities in an open source software development course. Integrating FOSS into the Undergraduate Computing Curriculum, Free and Open Source Software (FOSS) Symposium (Chattanooga, TN, Mar 4
. Page 22.1712.1 c American Society for Engineering Education, 2011 Working Towards the Student Scrum - Developing Agile Android ApplicationsAbstractStudent project teams are an integral part of the software engineering curriculum. This paperreports on the classroom experiences of student teams developing Android applications usingScrum. The course in study is a software engineering undergraduate elective in Agile SoftwareDevelopment which used Android mobile phones donated by Google as the developmentenvironment for student teams to learn and practice Scrum. Scrum is an agile projectmanagement framework increasingly being adopted in the development of commercial
surveillance. In these areas, he developed and applied technologies including distributed, component-based software ar- chitectures, software and systems engineering process models, intelligent control, the semantic web, and real-time artificial intelligence. In 1999, Dr. Hawker joined the Computer Science Department at the University of Alabama as an Assistant Professor focusing on software engineering, and in 2004 he moved to the Software Engineering Department at RIT. Dr. Hawker is also co-director of the Laboratory for En- vironmental Computing and Decision Making, which focuses on modeling and understanding the impact of freight transportation and automotive industry activities and public policies. Dr. Hawker also
working knowledge of each individual aspectof software engineering, and also have gained experience in how these aspects are related to, anddepend on, one another in order to successfully develop a software system. Through this process,we can help students make software testing an integral part of their coding practice with theunderstanding that testing cannot just be added on to the software at the last minute after it isproduced.Currently, we are working on a TUES (Transforming Undergraduate Education in Science,Technology, Engineering and Mathematics) Type II project funded by NSF to develop a set ofinstructional materials in the form of course modules, not confined to a particular technique ortool but generalized over different aspects of
studentsfor future software engineering courses. The two concepts are integrated developmentenvironment (IDE) and basic software testing. We observed the students’ progress and found thaton average students can program similar projects 80% faster after learning and using the twosoftware engineering concepts. 1. Introduction Introductory software programing is an important first-year course that brings students to thedoor step of the CS major, which we consider as a CS1 course based on the definition given in[1]. It is also a requisite course for many students majored in Science, Technology, Engineeringand Math (STEM). The majority of the curriculum of this course is to teach a specificprograming language without any introductory concepts of
(ASUP), we have adopted a highly iterative, immersive approach to teaching softwareengineering. This approach, dubbed “The Software Enterprise”, is a four semester coursesequence taken by juniors and seniors (and in some cases graduate students). The coursesequence leads students through “Tools and Process”, “Construction and Transition”, “Inceptionand Elaboration”, and “Project and Process”. By the conclusion of the Enterprise sequence,students have an appreciation for the role of software process, the challenges of softwaremaintenance, the impact of open source, the pros and cons of off-the-shelf software integration,business considerations in building software, and other practical aspects of softwaredevelopment. Table 1 summarizes the topics
integrate knowledge gained from the required core courses offered in afour-year period. According to CC2001 1, this course is supposed to cover software systemdesign, software processes, key activities in software development lifecycle, and software projectmanagement. The traditional approach to teaching a Software Engineering course, as reflected inclassical textbooks 11, 10, usually starts with an introduction to software process models, which isthen followed with discussions on highlevel activities in various phases of a generic softwarelifecycle template that can accommodate all possible programming paradigms. Although updatedmany times since their original editions, those texts are not well adapted to the latest paradigmchanges (such as object
for Engineering Education, 1976.4. V. Subbian and F. R. Beyette “Developing a new advanced microcontrollers course as a part of embedded systems curriculum,” IEEE/ASEE Frontiers in Education Conference, 2013, pp. 1462-1464.5. V. Subbian and C. Purdy “A hybrid design methodology for an introductory software engineering course with integrated mobile application development,” ASEE Annual Conference, 2014.6. V. Subbian and C. Purdy “UnLecture: A novel active learning based pedagogical strategy for engineering courses,” ASEE Annual Conference, 2014. Page 24.1301.11
similar to that used to specify any other type of software product. However, unlikemost software products, games have an entertainment dimension. People play computer gamesbecause games are fun.8The International Game Developers Association (IGDA) proposed a curriculum framework foruniversity level training in game development.5 The core topic areas from the IGDArecommendations appear in Table 1. Many of these topics involve the application of skills taughtin software engineering courses. Page 11.660.2 Table 1: IGDA Curriculum Framework Core Topic Key Elements Critical Game Studies game
attention in theundergraduate curriculum, with the coverage in Computer Science (CS) and SoftwareEngineering (SE) courses assessed as insufficient1,2. Technology is rapidly changing and thisimplies that instructors must instill in CS and SE students the testing skills, methodologies, andknowledge required to meet the challenges of this dynamic industry.While an understanding of verification has been deemed essential for software engineers, therehave been few materials available to educators for assessing software verification at theundergraduate level. The SEI published an “Introduction to Software Verification andValidation”3, in 1988 which provides some guidance on the curricular coverage required insoftware verification. The SEEK4 and SWEBOK5
AC 2012-3766: A COURSE FOR DEVELOPING PERSONAL SOFTWAREENGINEERING COMPETENCIESTom Reichlmayr, Rochester Institute of Technology Tom Reichlmayr is an Associate Professor in the Department of Software Engineering at the Rochester Institute of Technology. Prior to transitioning to his academic career, he worked as a software engineer in the process automation industry in a variety of roles over a span of 25 years. His teaching and research interests include the development of undergraduate software engineering curriculum, especially at the introductory level. Of primary interest is the study of software development process and its application to course curriculum and student team projectsProf. Michael J. Lutz
(SE) is one such engineering discipline where curriculum enhancement throughlaboratory sessions will highly benefit its graduates.Software Engineering (SE)Prior to the 1990s SE was not an explicit engineering discipline. Computing Curricula 20051states that during the 1990’s SE began to develop as a discipline unto itself. Since then thisdiscipline has been playing an important role in the multibillion dollar software industry. SE isdefined as the discipline of developing and maintaining software systems that behave reliablyand efficiently, are affordable to develop and maintain, and satisfy all the requirements thatcustomers have defined for them1. Figure 1 depicts the conceptual territory occupied by SE in theproblem space of computing
, component-based software architectures, software and systems engineering process models, intelligent control, the semantic web, and real-time artificial intelligence. In 1999, Dr. Hawker joined the Computer Science Department at the University of Alabama as an Assistant Professor focusing on software engineering, and in 2004 he moved to the Software Engineering Department at RIT. Dr. Hawker is also co-director of the Laboratory for Environmental Computing and Decision Making, which focuses on modeling and understanding the impact of freight transportation and automotive industry activities and public policies. Dr. Hawker is a member of the ASEE, IEEE, IEEE Computer Society, and the
, 2001. [4] E. J. Braude. Software Engineering: An Object-Oriented Perspective. Wiley, 2001. [5] T. Y. Chen and P.-L. Poon. Experience with Teaching Black-Box Testing in a Computer Science/Software Engineering Curriculum. IEEE Transactions on Education, 47(1):42–50, February 2004. [6] A. Clements. Constructing a Computing Competition to Teach Teamwork. In Frontiers in Education, pages F1F–6, 2003. [7] R. Delisle. How To Use Problem Based Learning in the Classroom. Association for Supervision and Curriculum Development, 1997. [8] J. Dewey. Democracy in Education. MacMillian, 1963. [9] A. Fekete, T. Greening, and J. Kingston. Conveying Technical Content in a Curriculum Using Problem Based Learning. In Australasian Conference on
Manhattan-based mobile media development company developing augmented reality systems. He has also designed and implemented numerous mixed-reality systems for a variety of platforms and clients, including the British pop phenomenon, Duran Duran, and is currently developing augmented reality games for mobile platforms. Academically, he is an active researcher with several ACM and IEEE publications in virtual and augmented reality. As a graduate student in the Graph- ics, Visualization, and Usability (GVU) Center at the Georgia Institute of Technology, he contributed to early research in the nascent field of self-harmonizing karaoke software. He currently serves as a Profes- sor in Computer Game Design and Development