intended to foster discussion within the software engineeringcommunity about developing and maintaining shared curriculum resources on an on-going basis.The paper approaches this topic by summarizing the experience of the SWENET project increating shared curriculum materials for software engineering. SWENET, The NetworkCommunity for Software Engineering Education, was an NSF funded project to developcurriculum modules for faculty members wanting to incorporate software engineering conceptsin new or existing courses. The paper discusses the project results, focusing on lessons learned.Although the benefit of sharing course materials is obvious, the practice is not particularly widespread in higher education. Reasons for this low level of sharing
will continue to exceed that of the motion picture industry.7 Computer gamedevelopment is big business.The development of computer games is labor-intensive. Today, game developers rarely buildcomputer games on their own, as they did 15 years ago. Many best-selling computer gamescontain thousands of lines of code and have multi-million dollar development budgets. Moderngame development requires the effort of a team of skilled professionals to integrate multimediacontent and complex computer software. Game development projects have a reputation for latedelivery times and cost over runs. In December 2005, consumers observed hardware failures inthe first Xbox 360 consoles delivered to consumers and the recall of a popular Nintendo GameCube
Beach Dr. Thomas B. Hilburn is a Professor Emeritus of Software Engineering at Embry-Riddle Aeronauti- cal University. He has also worked on software engineering research and education projects with the FAA, General Electric, Harris Corp, the MITRE Corporation, DOD, FIPSE, the SEI and the NSF. His current interests include software processes, object-oriented design, formal specification techniques, and curriculum development. He is an IEEE Certified Software Developer, SEI-Certified PSP Developer, and currently chairs the Curriculum Committee of the IEEE-CS Educational Activities Board and Planning Committee of the IEEE-CS Professional Activities Board.Salamah Salamah, Embry-Riddle Aeronautical Univ., Daytona Beach
interest are promoting student en- gagement via techniques such as hybrid teaching, flipped classroom and problem-based learning. Page 26.1026.1 c American Society for Engineering Education, 2015 Introducing Software Specifications to an Undergraduate Software Engineering ProgramIntroductionThe complexities of developing clear and well-defined specifications and their important role inthe success of a software project are widely recognized. This recently led to increased attentionin corresponding courses in the Software Engineering curriculum. One of the challenges
what is learned in courses and applying these softwareengineering processes within the context of real software development projects. The key issue asdocumented by previous studies is how to capture both the conceptual ideas of softwareengineering processes while at the same time (or in following semesters) implementing theseconcepts successfully within software development projects. Typically, the processes are taughtin one course with minimal implementation within a project; at the same time, softwaredevelopment courses emphasize the development with little to no formal utilization of processes.This is not a criticism of faculty; it is simply a very difficult task to cover both the processes andimplementation in a cohesive manner. Covering
learningobjectives. The course is structured around the implementation of a visualization tool for use inexplaining and demonstrating fundamental concepts and classical results of graph theory. Possiblegraph theory topics to be included in the tool are search techniques, Euler circuits, and minimalcost spanning trees. Many of the decisions about the project’s design and the topics covered are de-pendent on the students. As a result, the resulting tool can appear quite different from one offeringto the next. The project is intended to be developed by one or more student groups with all groups usingthe same interface for the graphs and visualizations. Strict enforcement of interface usage allowsthe opportunity to teach many design patterns that will aid in
© American Society for Engineering Education, 2008 Enhancing the Software Verification and Validation Course through Laboratory Sessions1. IntroductionMany engineering courses are taught through lecture-only sessions and students garnerexperiences through course based projects and internships. However these methods alone do notsuffice to place fresh engineering graduates at a competitive advantage in the job market. In goodand bad times employers look for engineers with job-related experience since such engineersrequire less training and provide faster results. In view of this, course enhancements and deliverywith focus on real-life work experience needs to be embraced by engineering programs. SoftwareEngineering
Society for Engineering Education, 2006 Software Development Laboratory: A Retrospective Abstract At Milwaukee School of Engineering(MSOE), undergraduate students work on a one academic year (three quarters) Software Development Laboratory (SDL) course sequence in their junior/senior year. SDL was created with a vision of providing a “real-life” team experience to students where they could unite theory and practice while working on large scale ongoing projects in the context of a standardized development process. This paper presents a retrospective on the pedagogical philosophy of the SDL and the specific challenges that we are currently facing in executing this
. Page 25.1346.2 c American Society for Engineering Education, 2012 The Software and Systems Engineering Masters Program at Texas Tech University: A Computer Science and Industrial Engineering Collaborative Effort1. IntroductionIn several recent reports, software engineering has been identified as one of the best occupationsin the job market1. Software engineering is a knowledge-intensive occupation, requiringcomputing professionals with skills that span from requirements elicitation, to software designand implementation, as well as testing, verification, and validation. Software engineers must alsohave project management and teaming skills coupled with sensitivity to the
Testing ClassAbstractAlthough practical training in software testing tools and methodologies are vital for ensuring soft-ware quality in industry, academic course curricula do not appear to be providing students withenough hands-on experience in software testing. Furthermore, there are few research studies thatdiscuss how different pedagogical approaches to such training are helping students to improve theirtesting skills.In this paper we describe how testing tools are introduced and used in an undergraduate testingcourse at Florida International University. As part of a semester-long course project, studentsaccess self-study tutorials on black-box and white-box testing tools via WReSTT – a Web-BasedRepository of Software Testing Tutorials. We
-scale, industry-sponsored projects. Students are also required to take anapplication domain sequence of three related, specialized courses which emphasize theapplication of software engineering material to different domains. Most software engineeringcourses are offered in the 2+2 format, meaning the course meets in lecture twice for one hour andhave a 2 hour associated lab period.Robert Morris University (RMU)Robert Morris University offers an accredited Bachelors of Science degree in engineering(Software Engineering concentration), and has been accredited since 2002. Like MSOEemphasis is on small class sizes (10:1 student to faculty ratio) and hands on experiences throughclass assignments, course projects, internships (150 hours mandatory
programming. His research interests are in software engineering and software quality assurance and has authored more than 25 technical papers on the subject. As an independent consultant, he has worked with some of the largest software companies in the Central America region in establishing software quality management systems. In the last 12 years, he has taught several seminars on software quality assurance and software project management. Dr. Jenkins is an ASQ Certified Software Quality Engineer (CSQE) and a member of the ASQ Software Division. Page 12.711.1© American Society for Engineering Education
Requirements and Interdisciplinary WorkAbstractThe author discusses an interdisciplinary approach to helping students learn to write a systemrequirements specification (SRS). This approach has been refined during use over the last threeyears and involves students in the first quarter of their junior year. Software engineeringstudents enrolled in a required requirements course act as the requirements team over an eight-week period while biomedical engineering students who are ready to begin the requirementsphase of their capstone design project act as clients. Each of the requirements and client teamsconsists of four to six members. The experience was documented in ASEE conference papers inOctober of 20041 and June of 20052.Benefits of the process and
university for a number ofweeks during the summer period. Software engineering concepts are introduced in all four parts ofthe programme during the software project phases. Our outreach efforts primarily use the Scratchtool that was developed at the MIT Media Lab.We describe each outreach effort in detail and outline our experiences based on a mixture ofsurvey results, instructor observation and participant feedback. We will conclude by describinghow the E&O programme has led to Lero being commissioned by the Department of Education towrite a computing course for high school students that will be part of the official curriculum.1. IntroductionThere are many well-known and well-documented computer science outreach programmes such as“Computer
individualteam member. There exist at the personal level core software engineering competencies that needto be cultivated to allow an individual to fulfill their potential as an effective team contributor.Students in a course introducing team based software engineering typically possess adequateintroductory programming skills, but often lack other competencies required to execute asoftware project successfully. Students have rarely been introduced to concepts beyondprogramming, such as estimation and planning, continuous integration, detailed design,debugging and unit testing. Part of being a software engineer is the knowledge of multipleprogramming languages and tools; without such knowledge it is impossible to make intelligentengineering
. Traditionally, this course consisted ofin-class lectures, along with laboratory projects that required students to develop software for aserious game based on a discrete-event simulation model using Java. The course design processwas built on the waterfall model, integrated with important concepts from extreme programming(XP), including test-driven development using three levels of design and testing (system, blackbox, and glass box) and an onsite customer. When UC recently converted their academiccalendar from quarters (10 weeks) to semesters (14 weeks), the additional instruction timeprovided an opportunity to revisit and expand the design process model of the course. In additionto the existing features of the course that allow effective instruction
SE also presents some challenges. There are not many POGIL activities for CS and SE,and developing them requires significant time and effort. CS and SE courses and curricula varywidely, and portions of the content change rapidly, making it more difficult to adapt or adoptmaterials developed elsewhere.This paper describes an ongoing NSF funded project to develop POGIL activities for CS and SE.First, it reviews relevant background on effective learning and POGIL, compares POGIL toother forms of active learning, and describes the potential of POGIL for CS and SE. Second,it describes a sample POGIL activity for SE, including the structure and contents, student andfacilitator actions during the activity, and how activities are designed. Third, it
US public university. The feedback was gathered via end-of-term course-specificquestionnaires, separate from and much more detailed than the typical university-sponsoredcourse evaluations. In total, 162 students gave feedback, while 5 different instructors wereinvolved with the course, one of whom – the author of this paper – was actively engaged in all 8offerings.To give the reader a sense of scale, the end-of-term student questionnaires featured 60-150questions – mostly multiple choice questions, as well as some free-form short-answer questions.The subject of the questions were the course structure, the instructors’ teaching approach, classsessions, readings, writing assignments, project experiences, tools, the feedback that
real-time applications, suchas sensor networks, flight control systems, accelerator control, road vehicle control, and others,are all distributed and for proper operation require very different programming techniques thantraditional systems. Typical software engineering curricula rarely include respectivemethodologies of software development for such systems. If they do, their courses mostlyconcentrate on the specification and design of software for distributed systems, but stop short ofincluding thorough treatment of implementation and testing issues. The current work builds upon previous experiences of the authors and involves projects inteaching software development for distributed real-time data acquisition and control systems,with
her project ”Rationale Capture for High-Assurance Systems”. She has been at Miami University since 2005. Prior to that point, she worked for more than 20 years in industry as a software engineer and research scientist.Paul V Anderson, Miami University (Ohio) Paul Anderson is the Roger and Joyce L. Howe Director of the Howe Center for Writing Excellence at Miami University, Oxford, Ohio. His publications on technical communication have won awards from the National Council of Teachers of English and the Society for Technical Communication. His textbook, Technical Communication: A Reader-Centered Approach, is in its seventh edition. His current research focuses on the ways college faculty in all disciplines can help
Paper ID #10496Creating Research Opportunities with Robotics across the UndergraduateSTEM CurriculaDr. Janusz Zalewski, Florida Gulf Coast University Janusz Zalewski, Ph.D., is a professor of computer science and software engineering at Florida Gulf Coast University. Prior to an academic appointment, he worked for various nuclear research institutions, including the Data Acquisition Group of Superconducting Super Collider and Computer Safety and Re- liability Center at Lawrence Livermore National Laboratory. He also worked on projects and consulted for a number of private companies, including Lockheed Martin, Harris, and
domain tracks to the coordinators of those programs (see Appendix A); five werefilled out and returned. The responding schools and their application domains are listed in Table1. Page 11.1325.3 Institution Application Domains Auburn University Senior Project domain area, including • Artificial Intelligence • Compiler Front-ends • Database Systems • Software
AC 2012-5188: ASSESSING EVOLVING CONCEPTUAL KNOWLEDGEIN SOFTWARE ENGINEERING STUDENTSProf. Kevin A. Gary, Arizona State University, Polytechnic Kevin Gary, Ph.D., is an Associate Professor in the Department of Engineering within the College of Technology and Innovation at Arizona State University’s Polytechnic campus. At ASU, Kevin led the development of the new bachelor’s of software engineering program, and the revised design of the master’s of computing studies. Gary designed and implemented the Software Enterprise, an NSF-funded hybrid pedagogical method for conducting project-based courses. More than 40 industry projects have been conducted by the Software Enterprise over the past eight years, and the
computer engineering courses, in general. We present detailed courseware and instructional modalities, including implementationdetails of daily in-class active learning activities, out-of-class assignments, and project resources,along with supporting materials from the literature and student feedback results.1. Introduction Evidence-based instruction or education is generally considered as the utilization of existingevidence from research and literature on education1. While findings from educational researchare critical, appraisal of discipline-specific research is often overlooked or not well-integratedinto instruction. We propose a unique research-to-practice model that combines evidence fromresearch on education as well as the
. Page 25.1131.1 c American Society for Engineering Education, 2012 Revisions to Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering1. Introduction Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs inSoftware Engineering (SE 2004)1 is one volume in a set of computing curricula adopted andsupported by the ACM and the IEEE Computer Society. In order to keep the softwareengineering guidelines up to date the two professional societies established a review project inearly 2011. This paper describes that review effort and plans to revise the guidelines over thenext year and a half.2. Project organization The charge for
Paper ID #10939Use of Microsoft Testing Tools to Teach Software Testing: An Experience Re-portIng. Gustavo Lopez, Universidad de Costa Rica Gustavo Lopez is a researcher at the University of Costa Rica’s Research Center on Information and Communication Technologies (CITIC), where he has worked since 2012. He has contributed to several research projects on software testing and human-computer interaction, and he has also designed and taught training courses on topics related to software testing. Previously, he worked as a Software Engineer at a software development company in Costa Rica. He received his B.S. in Computer and
., Daytona Beach Dr. Thomas B. Hilburn is a Professor Emeritus of Software Engineering at Embry-Riddle Aeronautical University and was a Visiting Scientist at the Software Engineering Institute, Carnegie-Mellon from 1997 – 2009. He has worked on software engineering development, research, and education projects with the FAA, General Electric, Lockheed-Martin, the Harris Corp, the MITRE Corporation, DOD, FIPSE, the SEI, the NSF, the ACM and the IEEE Computer Society. His interests include software processes, object- oriented analysis and design, formal specification techniques, and curriculum development, and he has published over 70 papers in these areas. He is an IEEE Certified Software Developer, an IEEE Software
engineering instructor. Assessment is a vast topic withmany options. There are generally two types of knowledge to assess: declarative and procedural.Instructors vary the assessment method depending on that category of knowledge. For example,instructors can easily measure a student’s declarative knowledge with a written exam and proceduralknowledge with a project. However, in a graduate engineering course assessing procedural knowledge ismore prevalent, since the student must apply the declarative knowledge appropriately in order to succeedin our competitive workforce. In addition to an instructor’s method to evaluate a project, both peer andself-evaluation are often used as a complement to an instructor’s evaluation. Assessing softwareengineering
in the School of Systems Engineering at Stevens Institute of Technology. Her research area is based on systems thinking in K-12 education. She graduated from Stevens Institute of Technology with a Masters degree in Computer Engineering, and then she worked with Lucent Technologies as a software developer first in embedded systems and then she held a position as a software designer/architect for CDMA2000 project where she participated in numerous projects developing several features to enhance the existing software system. She is now participating in a project to create a model curriculum in software engineering.Lawrence Bernstein, Stevens Institute of Technology
purpose of a software engineering class at our institutions is to teach students how towork in teams to develop a secure software project from specification through delivery. The soft-ware engineering class has prerequisite classes in programming, but has no security prerequisites.Therefore all security concepts necessary for our secure software development processes must beintroduced in the software engineering class. As a single semester doesn’t offer the necessary time to broadly cover information securityin addition to software engineering, the class focuses on security topics that fit directly into thesoftware development lifecycle. For example, the course teaches students how to securely usecryptographic APIs in their projects but