AC 2010-1805: OUTSOURCING IN NEXT GENERATION TECHNICALSOFTWARE ENGINEERING EDUCATIONJames Long, Oregon Institute of Technology James Long is an Associate Professor in the Software Engineering Technology program at Oregon Institute of Technology. James has been teaching at OIT for 10 years. Before coming to OIT, James worked in industry for 15 years as a Software Engineer. James has extensive industry experience in Large Scale Software Systems, Telecommunications, Medical Systems, and Real Time Data Acquisition and Dissemination. Page 15.934.1© American Society for Engineering Education, 2010
, 2007 Experience in Teaching Software Quality Management at the Graduate LevelAbstractRelatively little has been published on the issue of teaching software quality management. Thispaper reports a case study in teaching a graduate-level software quality management courseusing industry assessments as a learning vehicle. We explain the contents of the course, describethe process assessments the students perform at local software organizations as their termproject, and summarize the outcome and lessons learned during six years offering this course.The issues discussed in this paper might help educational institutions and college professors indesigning and implementing software engineering courses at the
education. Therefore, offeringa single elective SE-related course or covering the topic to some extent without providingopportunities for students to actually make use of the knowledge in different settings is not agood solution to the issue of software testing; these techniques require repeated practice beforethey become second nature.Our ApproachSoftware testing is an extremely broad subject, and even a dedicated one-semester course cannotadequately cover all the important concepts and techniques with an appropriate level of detail, letalone a course with a more general learning objective. Instead of only briefly covering softwaretesting (if at all) in one course, we need to teach this important topic from beginner programmingclasses (e.g., CS
qualityassurance. The core of this activity is a three term course sequence encompassing team basedconstruction of a real-world enterprise scale system. The projects are based on problems derivedfrom on campus research projects or industry partners.Junior Project Course Sequence Educational ObjectivesThe Junior Project course sequence is the first exposure for most software engineeringtechnology students to large scale software engineering problems. Topics include softwareengineering process, scheduling, architecture, and teamwork. This is also the first time studentswork on a project spanning multiple quarters. In some instances, projects are a continuation froma previous year team effort. The junior project is a required sequence and must be completed
mathematical programming, statistics and queuing theory, corporate planning, quality engineering, information systems, software development and the development of microprocessor and digital signal processor based hardware and software. He was a recipient of the NATO System Science Prize. Page 14.778.1© American Society for Engineering Education, 2009 Integration of Software Engineering Graduate Education and Continuing Professional Development ProgramsAbstractMonmouth University offers a thirty-six credit graduate program in software engineering. Insupport of the US Army’s Software Engineering Center
that satisfy both masters: ABET and SE2004.History of Software Engineering EducationPeter Freeman et. al.1 proposed the earliest framework for software engineering education (SEE). Page 12.990.2It was for graduate software engineering, and it identified a set of criteria that any SE curriculamust follow and a set of five content areas necessary for any software engineering (SE) degree.Revisiting SEE a decade later, Freeman2 reported that few, if any, efforts since his earlier paperhad “strategically addressed the question of where SEE is or should be headed.” He furthernoted that in spite of the past ten years of development in software
reflectiveessay back. [The feedback I got] inspired new thinking.”7 More recently, a free-form studentresponse on writings in general said, “I was having fun (and thinking a lot) writing individualassignments…”, while another student wrote, “The written assignments were very helpful. Justthe right length to make sure I wasn’t missing any important topics.” We believe that the earlierproblems with the image of reflective essays were a reflection of several factors, all of whichwere subsequently addressed: the much higher number of reflective writings per term, the lack ofsufficient explicit motivation of the concept, problems with the grading rubric and how studentsinterpreted it, as well as the exclusive presence of “soft” (non-technical) questions on
learning. Outcome 11: An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice. Outcome S1: The ability to analyze, design, verify, validate, implement, apply and maintain software systems. Page 25.500.8 Outcome S2: The ability to appropriately apply discrete mathematics, probability and statistics and relevant topics in computer science and supporting disciplines to complex software systems.Lecture CoverageSoftware engineering education starts from the fall term of the freshman year when all studentsare required to take an introductory core course on decision support systems. For the next
subjects, including digital logic and digital signal processing. He is active in hearing aid algorithm research, where he holds one U.S. patent and has three pending. His current focus is on beam-forming and noise reduction. Page 25.1258.1 c American Society for Engineering Education, 2012 Teaching Software Security: A Multi-Disciplinary ApproachAbstractAs computing devices become more and more ubiquitous, the importance of softwaresecurity cannot be overlooked. As such, many software engineering and computer scienceprograms offer an elective course in software security. While the title
Assurance (QA) course that integrates evidence from research andnew developments in software testing as well as engineering education. The specific goals are:1. To incorporate empirical studies in software engineering to supplement instruction in testing of all aspects, including safety, security, reliability, and performance.2. To increase focus on particular topics of high relevance such as formal testing of safety- critical systems and software inspection through targeted pedagogical interventions.3. To leverage existing instructional materials from the software engineering education community to create and explore blended learning models such as a flipped classroom.4. To integrate and promote inclusive and reflective teaching practices in
of Informatics and Systemics. Page 25.1166.1 c American Society for Engineering Education, 2012 Software Engineering Education Needs More EngineeringAbstractTo what extent is “software engineering” really “engineering” as this term is commonlyunderstood? A hallmark of the products of the traditional engineering disciplines istrustworthiness based on dependability. But in his keynote presentation at ICSE 2006 BarryBoehm pointed out that individuals’, systems’, and peoples’ dependency on software isbecoming increasingly critical, yet that dependability is generally not the top priority
., 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
2006-1695: ACCREDITATION -- APPLYING CMM TO SOFTWAREENGINEERING EDUCATIONSheryl Duggins, Southern Polytechnic State University Page 11.154.1© American Society for Engineering Education, 2006 Accreditation – Applying CMM to Software Engineering EducationThe software engineering department at Southern Polytechnic State University has decided toembark on a journey that will hopefully result in ABET accreditation. Since ABET only startedaccrediting software engineering programs in 2003, this is all new to us, and we find ourselvestrying desperately to understand and apply the process. As anyone who has gone through thisprocess knows
. Page 23.157.1 c American Society for Engineering Education, 2013AN EDUCATIONAL SOFTWARE LIFECYCLE MODEL INSPIRED BY HUMAN PHYSIOLOGYAbstractArtificial Intelligence methods are frequently applied to projects of developing systemsendowed with the intellectual processes in humans, such as the ability to reason, discovermeaning, generalize, or learn from past experiences. However, the question remains, Cana man-made design/artifact be considered conscious? This paper aims to establish a directrelationship between the human physiology and Software Engineering, for educationalpurposes. Teaching Software Engineering can be challenging in cases when taught tonon-engineering students. The class curriculum needs
results, it clearly told us that employerswere generally satisfied with our graduates and pointed to parts of the program whereimprovements might be needed in the future. We would encourage other softwareengineering programs to consider using similar evaluation processes and to report theresults of their efforts to the broader engineering education community.Bibliography1. Anonymous. Minimize Performance Evaluation Legal Risks, Journal of Accountancy, v185, February1998, p 10.2. Blaha, K. and Murphy, L. Targeting Assessment: How to Hit the Bull’s Eye, Proceedings of theConsortium Computing in Small Colleges: Northwestern Conference, 2001.3. Earp, Julia B. and Payton, Fay C. Data Protection in the University Setting: Employee Perceptions ofStudent
. Recently,there is some good news, in that negotiations are underway to make Z/EVES available as opensource, or to port a version that is not dependent on the current proof engine [9].This situation is a little better for the JML tools, for which development has been ongoing. Page 13.619.8Commonly available versions of the JML compiler have limited ability to handle Java languageversions newer than 1.4.2. Some support for Java 5.0 generics is available, and most tools will Proceedings of the 2008 American Society for Engineering Education Annual Conference & Exposition Copyright © 2008, American Society for
that facilitate both team success andindividual learning during team-oriented project-based learning. Of particular interest is the efficacyof collaborative learning approaches in general for individual engineering students. Our results froma large scale experiment provide no evidence that working on a successful and effective team affectsindividual exam performance. Thus, we will propose a qualitative study to determine the best waysto structure team work to enhance individual leaning.IntroductionFor a number of reasons, team-based projects are frequently included in software engineeringprograms. Educators integrate team projects into the curriculum to emulate real worlddevelopment situations, expose students to the challenges and benefits of
seven different countries. Jenkins is an ASQ Certified Software Quality Engineer (CSQE). Page 25.160.1 c American Society for Engineering Education, 2012 An Experience Using Reflection in Software EngineeringAbstractThis paper reports the results of a case study where two different reflection mechanismswere used in a couple of graduate courses in the area of software engineering. A learningjournal was used in a Software Testing course whereas a two-part reflection questionnairewas used in the Software Quality Assurance course. We evaluated the reflection mechanismsfrom the student’s
collaborative learning materials and tools,5. Participate in a community of scholars, including faculty and undergraduate and graduate students from multiple universities, collaborating to develop and apply improved collaborative learning materials and tools, working together to disseminate, integrate, apply, and evolve learning materials and tools based on our combined experiences,6. Accelerate the creation and improvement of high-quality, accredited degree programs and practitioner education in software engineering, which is a discipline that must quickly grow to meet industry needs for highly-productive development of high-quality software. 5Related WorkResearchers have long sought to implement Vannevar Bush’s vision from 1945 of a memex
11.1325.1© American Society for Engineering Education, 2006 The Role of Application Domain Tracks in Software Engineering Programs Abstract Although it is generally acknowledged that understanding domain-specific information isessential for the proper development of software in that application area, requiring the inclusionof a particular application domain as part of a software engineering curriculum is a relativelyrecent occurrence. In particular, ABET software engineering program criteria (in use since2002) and the joint IEEE-CS/ACM software engineering curriculum model released in 2004 bothspecify the ability to work in at least application domain as
humanitarian aspect of HFOSS provides students with themotivation of developing software that will “do good”. The opportunities for learning in such anenvironment range from technical topics to communication to professionalism and more. Thispaper reports on the results of a multi-institution study of student perceptions of learning withinan HFOSS project. The study expands an earlier study1 and involves four different institutionswith courses offered between fall 2013 and fall 2014. Students were involved in projectsincluding GNOME MouseTrap, a project to provide alternative input for users with disabilities,and OpenMRS, an electronic medical record system used extensively in developing countries.Results generally support the outcomes of the early
technologies, tohelp effectively expand their technical staff and work on engineering concepts or problems that havebeen languishing on a back burner for lack of manpower or other resources, software projects in need offurther development or testing, and something they could handle in-house if only their technical staff hadsome extra bandwidth.With a minimal investment ($80K for each project in Fall 2012), companies can have a talented team of4 to 5 students and a faculty mentor working on a problem of direct relevance and importance to them.They also have an opportunity for early exposure to graduating seniors as potential hires. Moreover, thecompany has full ownership of all generated IP as all the students and faculty will sign a one-way NDAwith
reasons. First, it addresses the two major challengesof reuse education noted above: it teaches graduate students advanced topics in softwareengineering and it teaches domain engineering as a means of achieving systematic software reuse.Second, the domain engineering project of the course is both process-oriented (DAREonline11helps structure the steps involved in domain analysis) and product-oriented (the domain bookoutputted from DARE is a crucial component in the family asset repository). Finally, the coursehas a strong research component in that the term paper allows the students to relate the reusecourse’s learning experience to their own areas of interest. For these reasons, we decided to reuseFrakes’ course to create a graduate-level
., Daytona Beach Dr. Thomas B. Hilburn is a Professor Emeritus of Software Engineering at Embry-Riddle Aeronautical University. He has worked on software engineering research and education projects with the FAA, General Electric, 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 60 papers in this these areas. He is an IEEE Certified Software Developer, SEI-Certified PSP Developer, and currently chairs the Curriculum Committee of the IEEE Computer Society Educational Activities Board.Joseph E. Urban
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
(if their focus was on businessapplications). With the development of microprocessors in the 1960’s, the character of thelandscape began to change. Technology changed, creating demand for engineers whounderstood the hardware and electronics underlying the chips but also were conversant with andcapable of developing the software components of a system. It was not possible to adequatelytreat the topics needed for education of these engineers in the context of a specialization areawithin an electrical engineering program of study. The first computer engineering program wasaccredited by the EAC of ABET in 1971, and between about 1970 and 1990, computerengineering emerged as a separate discipline. The last decade of the twentieth century
Tracing: How Could We Train Our Students?AbstractAssisted requirements tracing (ART) skills are essential for new college graduates joining thesoftware industry as their initial assignments often involve substantial tracing-related activi-ties. Although studying human analysts in ART is an emerging research trend, how studentsmight behave differently from software professionals is yet to be investigated. In this paper,we compare the performances, processes, and strategies between students and software pro-fessionals in carrying out ART tasks for an unfamiliar system. We observe that both studentsand professionals performing ART activities generally follow a generic four-phase problemsolving process: define the problem, develop
technicalwriting courses provided by non-engineering faculty are helpful, they are too general toprepare students adequately for the domain-specific communication tasks demanded by theircareers11. Attention to communication in a few engineering courses is also beneficial butdoes not provide enough breadth or guided practice to move students from novice to highlycompetent communicators in engineering contexts. Studies of the communication abilitiesneeded by new engineering graduates produce a longer array of topics than a singlecommunication course can provide, even when supplemented by a few writing-intensivecourses in the major.12, 13 Isolation of communication instruction in these ways reinforces theassumption by many students that writing, speaking
. Page 25.1069.107. Eberlein, T., Kampmeier, J., Minderhout, V., et al. 2008. Pedagogies of engagement in science. Biochemistry and Molecular Biology Education. 36(4):262-273.8. Farrell, J. J., Moog, R. S., Spencer, J. N. 1999. A guided-inquiry general chemistry course. Journal of Chemical Education. 76(4):570.9. Gonzalez, G. 2006. A systematic approach to active and cooperative learning in CS1 and its effects on CS2. In Proceedings of the SIGCSE Technical Symposium on Computer Science Education. ACM, 133–137. DOI= http://doi.acm.org/10.1145/1121341.1121386.10. Hanson, D. M. 2005. Designing process-oriented guided-inquiry activities. In: Beyerlein, S. W., Apple, D. K., eds. Faculty Guidebook - A Comprehensive
propositional logic are among the concepts underlying testing; • provides examples for data structures: testing tools need to represent graphs, the axioms of abstract data types such as a stack can guide testing; and • supports programming education in various aspects: students become better programmers as they o become tool literate; o learn about topics as testing and debugging presented as SECs; and o reflect on quality of source code as well as of programs.Such a positive view is supported, e.g., by McCauley and Jackson who write: “an early andconsistent emphasis on software engineering concepts creates a student culture that values theprinciples and practices of software engineering” 15. Also