|
|
|
AbstractsTechnical Papers
Paper Session: Net Generation and the Real-WorldTeaching Successful "Real-World" Software Engineering to the "Net"
Generation: Process and Quality Win!
Author: William Honig Abstract Practical implications Real-world software methodologies such as TSP can be successfully used in classrooms to achieve traditional learning outcomes and to expand the student's skills in process and quality. Limitations/implications/future work The work to date has not addressed other topics of importance to "real-world" software engineering, such as software reuse, and global software development including outsourcing. What is the originality/value of paper The course structure reported here and the academic use of TSP provide instructors a proven technique to teach "real-world" software engineering in a course setting. It also better prepares the "Net" generation for their career-development as successful software engineers. Working Across Borders: Overcoming Culturally-Based Technology
Challenges in Student Global Software Development
Authors: Olly Gotel, Vidya Kulkarni, Long Chrea Neak and Christelle Scharff Abstract Since 2005, Pace University has been collaborating with the Institute of Technology of Cambodia (ITC) and the University of Delhi in India. This paper reports on our experiences and lessons from spring 2007 when the focus was to bring students together on the development of a single software system specific to ITC. One key objective was to create a shared open source tooling environment to support development activities and communication. Approach While the process for development and communication across the institutions has evolved, creating a collaborative tool-based environment to support student working has proven more difficult. Tooling has converged on Eclipse (with JUnit and Subversion) as the development platform, and java.net for bug tracking, with the use of groups, mailing lists, chats, blogs, wikis and videos for communication. The drivers and requirements behind such a mashup of technologies are explained. Findings Students from different countries have varying levels of exposure to the Internet and use it in non-similar ways. This results in divergent perceptions as to the potential value of using the latest collaborative communication tools for professional purposes, influencing their willingness to use them. Practical Implications Communications tooling needs more attention than engineering tooling when background exposure to ‘everyday technologies’ is dissimilar. Anticipated use and assumed benefits do not necessarily transfer across borders. Originality/Value Offshore outsourcing has become the norm, but many such projects fail. Beyond giving students exposure to global working, such studies provide a laboratory to transfer important lessons as emerging countries now become players in the global workforce. Exporting Studio: Critical Issues to Successfully Adopt the Software
Development Studio Concept
Authors: Anthony Lattanze, Dave Root, Mel Rosso-Llopart and Gil Taran
Abstract In 1989 the Professional Masters of Software Engineering (MSE) program at Carnegie Mellon initiated a new approach to graduate level software projects: The Software Development Studio. In 2002 the Studio concept was first exported under a cooperative program to teach software engineering in South Korea. However, CMU quickly determined that the partner university student projects lacked progress compared to their CMU counterparts. This paper will focus on the critical lessons were learned from this “export” that not only has helped this partnership but also others that are just starting. Design / methodology / approach Students were observed by MSE core program faculty at the middle and end of their first semester at their home university campus during formal presentations of their projects. Additionally, these students were required to spend their second semester at the CMU home campus, which allowed close daily observation by the program mentors and comparison to the current on campus program students. Findings A comparison of how both schools conducted the same curriculum was done which led to the identification of nine critical areas that needed to be addressed by the partner. Since this, the achievement gap has all but disappeared. Initial indications are that awareness of and specifically addressing these issues as is leading to a successful adoption of Studio with new partnerships started this year. Practical implications (if applicable) We believe that failure to address these nine issues with regards to Studio projects will lead to similar problems when exporting any software engineering program with a similar large project component. Limitations / implications / future work (if applicable) NA What is original/value of paper This paper provides critical lessons learned from the CMU MSE program’s first significant partnership. This paper can help other programs considering similar partnerships. Paper Session: Security and SE EducationGetting Students to Think About How Agile Processes Can Be Made More
Secure
Author: Richard Epstein
Abstract Integrating Secure Software Assurance Content into the SE 2004
Recommendations
Authors: Dan Shoemaker, Antonio Drommi, Jeff Ingalsbe and Nancy Mead
Abstract Purpose/Context of this paper In a study presented at CSEET 2007, it was recommended that the next step was to map the contents of Homeland Security’s Software Assurance Common Body of Knowledge (CBK) into the model curriculum recommendations of Software Engineering 2004 (SE 2004). This is important because the CBK is meant to provide a commonly accepted compendium of best practice in secure software assurance. Yet the conventional curriculum model for the discipline does not specify where those practices fit. Design/methodology/approach This paper will detail the relationship between the secure software CBK and the recommendations of SE 2004. Essentially, the depth of coverage in the CBK of the distinct curricular elements specified in the SE 2004 model will be compared and evaluated. Places where there is a definite relationship based on that comparison will then be detailed and recommendations made for how to integrate secure software assurance knowledge into the curriculum. Findings The study will demonstrate the places where secure software assurance knowledge best fits with the curricular elements of a standard software engineering curriculum. Elements where there is a high degree of association will be identified and the specific touch-points will be used to categorize the most effective ways of integrating the two bodies of knowledge into a single approach. Originality/Value There is currently no standard understanding of the places in a traditional software engineering curriculum where secure software assurance should be taught. A mapping of those places to the specific content from the CBK would be an extremely valuable addition to our general understanding of the overall body of knowledge in software engineering. In addition it can also serve as a roadmap to ensure the practical integration of secure software assurance content into software engineering teaching. A Software Engineering Course with an Emphasis on Software Processes and
Security
Author: Richard Epstein
Abstract Paper Session: Capstone Courses and Soft SkillsImproving Knowledge Acquisition in Capstone Projects Using Learning
Spaces for Experiential Learning
Authors: Eric Ras and Jörg Rech
Abstract The Value of a Real Customer in a Capstone Project
Authors: Ville Isomöttönen and Tommi Kärkkäinen
Abstract Approach: An experience paper accompanied with theoretical underpinnings to explain learning and other benefits for the students, the university, and the customer. We include the educator's experiences, and the student's feedback gained from the questionnaire. Findings: The students' answers refer to an increase in occupational identity. Study also discloses concrete benefits for the students, such as jobs and internship placements gained via participating in the course. From the educators' point of view, we name major benefits, but also practical concerns and implications of the challenging course arrangement. These include ethical and development method -related issues. Valuable learning issues, such as self-direction and motivation, are explained to be due to the realistic project work. The value of the paper: Study explains, by discussing the experiences from the theoretical point of view, whether one should apply an academic team or more realistic set of stakeholders in a capstone project. This study provides one starting point to study the realism in software engineering and computer science education: understanding the necessities in a realistic project course also reflects the needs in the earlier studies of the curriculum. This in turn contributes to invent new practices for a classroom arrangement. Managing Technical People: Creatively Teaching the Soft Skills of Human
Interaction in Today's Diverse Classroom
Author: Gil Taran
Abstract Software Engineering curriculums typically focus on process and technology yet give little attention to teaching the soft skills of managing technical people. This paper will present an innovative course developed at Carnegie Mellon designed to address specific challenges in teaching technical people how to interact with others using a highly engaged mode of learning. The focus is on the course’s modular design and class activities. It will explore how to use role-plays, case studies, video analysis and scenario-based decision-making readings to enhance student learning and their engagement with this type of material. Design / methodology / approach The course uses Kolb’s experiential learning model and centers around seven closely integrated modules. Each module consists of three elements: concepts, analysis activities and role-play scenarios and builds on the one(s) before thus increasing in complexity as the class progresses. Decision Making, reflection and discussion take place continuously to understand the pros and cons of making various choices while managing technical people. Findings Comments from the students, on campus and at a distance have overwhelmingly been positive about the course and how it uses of activities throughout the class to make the material “stick”.. Most importantly, students have started using class content immediately when interacting with other team members on other program related projects. Some have said the class is a must-have in teaching professionals to work with others. Practical implications (if applicable) NA Limitations / implications / future work (if applicable) NA What is original/value of paper This course is as it focuses on the ‘people element’ within a software development project. Tailored activities provide a learning environment that is experience based, enhances understanding, and nurtures experimentation. Observations on how to select, design and successfully integrate these activities in this type of course will be discussed. Paper Session: Degree OfferingsThe Current State of Software Engineering Master Degree Programs
Authors: Arthur Pyster, Devanandham Henry, Larry Bernstein, Richard Turner and Kristen Baldwin
Abstract Approach: Data from 11 programs has been analyzed, and data collection for another 20 programs is underway. Public data is collected and then augmented and validated with a faculty member. That data includes degree offerings, course competency coverage, size, strength, goals, target students, specializations, etc. Competency coverage is determined by mapping course content to the SWEBOK. Findings: Among the many findings is that only a few faculty support the average program, making them vulnerable to small faculty losses. Program goals are diverse - some educate students to become managers, others researchers, and still others developers. There is no consistency in which competencies universities teach and most teach competencies beyond the SWEBOK. Practical Implications: Understanding what is taught today will inform the new curriculum effort and reveal how large the gap is between the model program and current practice. Future Work: The analysis of 30 programs will be complete this fall. The creation of a strawman model curriculum is now underway. Originality: We are not aware of any other modern effort to analyze graduate SwE programs. Software Engineering Education in India: Issues and Challenges
Authors: Kirti Garg and Vasudeva Varma
Abstract Undergraduate Software Engineering Students in Startup Businesses
Author: Steve Chenoweth
Abstract Fresh ideas from startups drive the electronic business world. To understand this world, software engineering students thus benefit from a working knowledge of new businesses. Their school can organize opportunities to help ensure that familiarity. This paper describes results after four years of such organizing endeavors. Design/methodology/approach Undergraduate software engineering students worked for software startups and for other companies in an associated business incubator. These students, their project managers, and faculty were interviewed during and after the work projects, and during and after their software engineering classes, regarding the lessons learned in each venue. Findings Though not uniformly so, startup entrepreneurs were characteristically impatient with even agile software engineering processes. The new businesses then added or changed processes during development as they became aware of issues, creating confusion among student workers. This chaos contrasted with more established software businesses that students worked for, where a version of processes and documentation prescribed by the school were valued throughout development cycles. Lessons learned about software engineering, by students working for startups, were much more commonly at odds with lessons learned in their SE classes. Practical implications (if applicable) Despite the fact that startup software enterprises are embedded in the electronic business revolution, there are concerns about the messages undergraduate software engineering students will learn from employment in those enterprises. Limitations/implications/future work (if applicable) More extensive training and debriefing needs to be tried, for students who work in startup businesses while their ideas about software engineering are still forming. Further exposure of entrepreneurs to software engineering processes is also recommended. What is the originality/value of paper Schools seeking to make their software engineering programs match industry profiles will profit from these new insights. Paper Session: Objects and ComponentsA Case Study in Software Product Lines: An Educational Experience
Authors: Liana Lisboa, Leandro Nascimento, Eduardo Almeida and Silvio Meira
Abstract Alice: Using Animated Object-Oriented Programming in Introductory
Courses to Improve Success Rates in Programming I
Authors: Karin Johnsgard and James McDonald
Abstract We wished to increase the percentage of students succeeding our Programming I course, which is required for both computer science and software engineering undergraduates. (Approach) Our computer science and software engineering departments each added a new introductory course, before the Programming 1 course, that uses the Alice programming language. Alice lets the user build a three-dimensional scene, populated with objects, and then animate it by developing methods and functions. Users can interact with the scene via event-driven programming. Students spent about seven weeks in these new courses using Alice. We choose Alice for the following reasons:
(Findings) From fall 2003 to spring 2007, 106 students enrolled in Programming I. Of those, 37 had taken one of the new courses using Alice (Group A). 69 had not (Group B). Success rates in Programming I: Group A: 70.3%. Group B: 46.4%. The probability of observing these results if the Alice-based courses had no effect would be less than 0.00639. (Practical implications) Introducing students to programming via a complex language such as C++ can lead to high attrition rates. Initial exposure to simplified languages, like Alice, significantly increases their probability of success. (Limitations and future work) Our Programming I course currently emphasizes structured programming, using C++. We plan to shift to an objects-early approach in that course, using Java. (Value of paper) This is the first study to assess the impact of Alice by analyzing success rates in a subsequent course. We hope that other universities will be encouraged to try similar curricular approaches. Teaching Object-Oriented Software Engineering through Problem-Based
Learning in the Context of Game Design
Authors: Jungwoo Ryoo, Frederico Fonseca and David Janzen
Abstract Paper Session: Studio and Industry ProjectsProposal Based Software Engineering Studio Projects: A Methodology of
Teaching Software Engineering Through Projects That Promotes Creativity and Innovation
Authors: Dave Root, Mel Rosso-Llopart, Gil Taran and Anthony Lattanze
Abstract The paper will discuss how the Carnegie Mellon Masters of Software Engineering program has found a way to avoid creating “cookie cutter” software engineers who only use processes from a fixed template. The MSE program believes its proposal based approach is a way to teach students how to get projects done in the fixed time of its degree program without relying on dogmatic, “recipe” processes. Design / methodology / approach Students at the beginning of their Studio projects are provided a template with six general process areas which they must fill out, continually update and justify to the MSE program Studio project mentors. The MSE program has a very high instructor to student ration with each team of 4-5 students being assigned two mentors. This provides an opportunity for continual close observation and critique of the student projects. Additionally, at the end of each semester the student teams must formally present to their peers and all the program mentors their Studio project progress focusing on what processes they have instituted, why they picked these and how well they worked. Findings Comments from the mentors and recent student graduates have universally been positive about the effects of the proposal based process on learning software engineering. More importantly the program has seen students thinking far more about what they are doing instead of just “going through the motions.” Practical implications (if applicable) A possibly better pedagogical technique to prepare students in masters of software engineering programs to be critical thinkers and thus more effective when they return to industry. Limitations / implications / future work (if applicable) NA What is original/value of paper Proposal based software Studio projects appears to be an effective method of teaching that other programs might want to consider. Continuing Challenges in Selecting Industry Projects for Academic
Credit: Points to Consider and Pitfalls to Avoid
Authors: Gil Taran, Dave Root, Mel Rosso-Llopart and Anthony Lattanze
Abstract Many academic programs use industrial projects within their teaching curriculum. Those provide an exposure to real customers, challenging problems faced by industry and the opportunity to interact with working professionals driven by quality, schedules, and users. Selecting projects that fit today’s academic environment, is a constant challenge. This paper presents how at Carnegie Mellon, we have refined our project selection criteria to provide a better fit between our needs and those of our industrial partners. Criteria, issues to consider and pitfalls to avoid in the project selection process will be discussed. Design / methodology / approach Our selection process for studio projects includes a multi-step screening approach. A set of defined criterions exist to find a “best-fit” between academic and industrial needs. Our goal is to provide a wide range of projects, enhance learning opportunities and provide a well-established framework for minimizing project failure. Multiple project screenings take place at various levels within the organization to ensure fit and adherence to process. Findings Over the years, we have retained a very positive record of projects success. We attribute some of that to having selected the right projects to begin with. In moving from an ad-hoc way to a more detailed oriented system, we have made vast improvements to our approach. We have since exported this process to two of our international partners in Europe and the Far East Practical implications NA Limitations / implications / future work NA What is original/value of paper Selecting industry projects that meet academic and industry needs is challenging. Doing it in a way that addresses and explores concerns on both sides upfront and as part of the selection process is critical. A step-up system built to do this can be used successfully to ensure positive results. Single Development Project
Author: Nenad Stankovic
Abstract Design/methodology/approach When teaching a software engineering course a major challenge is to present the discipline as a coherent set of models and techniques that are all needed to complete projects as planned. Students must overcome not only difficult theoretical concepts but also learn how to use the tools and components as to apply and share their knowledge. A balance must be found between what must be produced by students and what is readily available for them to use and learn from. Since rework is important in learning, students are motivated to revisit and improve their work. Findings A transformational approach to teaching motivates the student to aim for a higher grade, and it explicitly acknowledges the incremental and iterative nature of solving difficult problems. Practical implications (if applicable) We propose a new approach to teaching a SWE course by recognizing the characteristics of this environment and industry needs. We demonstrate that students can deal with difficult technical and organizational issues that are found in real world software projects provided that the complexity they face is appropriate for their level of knowledge and experience. What is the originality/value of paper? Current software engineering education remains largely in the box because it neglects the myriad of issues that exist between the actual client’s problem and its implementation in software. Our approach teaches students to understand how to apply the theory when dealing with those issues in a dynamic and often unpredictable environment. Paper Session: Tools and MethodologiesA Technique for Using Model Checkers to Teach Formal Specifications
Authors: Salamah Salamah and Ann Gates
Abstract An Experience on Applying Learning Mechanisms for Teaching Inspection
and Software Testing
Authors: Ellen Barbosa, Simone Souza and Jose Maldonado
Abstract An Evaluation of a Mobile Game Concept for Lectures
Authors:Alf Inge Wang, Terje Øfsdahl and Ole Kristian Mørch-Storstein
Abstract The evaluation of Lecture Quiz was performed in a software architecture lecture where twenty students first played the game and then were asked to fill in an evaluation form. The focus of the evaluation was on usability of the system and the perceived usefulness of using Lecture Quiz in lectures. The results of the evaluation show that Lecture Quiz was easy to use and that it contributed to increased learning. Further, Lecture Quiz was perceived as entertaining, and half of the students claimed they would attend more lectures if such systems were used regularly. Paper Session: Knowledge Source and EvidenceWhere Do Students Look for Information?
Author: A. J. Cowling
Abstract Methodology and Approach A questionnaire was developed and circulated to two groups of undergraduate students, when they had completed their team projects to develop complete software systems. One group consisted of students at the end of their first year, where the project requirements had been created internally, and the other of students at the end of their second year, where the systems were being developed for external clients. The paper describes the hypotheses and the structure of the questionnaire, presents descriptive statistics for the data, and analyses the relationships within the results. Findings The kinds of information being sought were much as expected, but the relationships with the sources used were weaker than expected. In general the sources used most were the lecture notes provided, and other students within the project teams. Much less use was made of textbooks (even where these should have been appropriate), and of the online information provided to support the projects (even though this had been tailored to some of the kinds of problems that students were experiencing). Practical Implications Since the kinds of sources that were being consulted did not vary much with the kind of information being sought, students need to be given more guidance than currently about where best to look for different kinds of information. Limitations The independent variables in the study were the kinds of problems to be solved and the kinds of information required, but many students misunderstood one of the questions relating to these, so that much of the data is less useful than was hoped. Hence, the effective sample size is not very large. Value and Originality of Paper The way in which students search for information to help them solve problems is a significant part of their process of learning how to learn, which is an important skill for future computing professionals. Hence it is important for SE educators to understand how students approach this process, and how they should be guided in developing this skill. A Software Factory for Education in Software Engineering
Authors: Fábio Levy Siqueira, Gabriela Maria Cabel Barbarán and Jorge Luis Risco Becerra
Abstract Seeds of Evidence: Integrating Evidence-Based Software Engineering
Authors: David Janzen and Jungwoo Ryoo
Abstract Short Papers
Session Chair: David Janzen Teaching Component-Based Software Development
Authors: Kai Qian and Xiang Fu
Abstract Support for Educating Software Engineers Through Humanitarian
Open Source Projects
Authors: Heidi Ellis, Ralph Morelli and Gregory Hislop
Abstract Teaching Programming to the Net Generation of Software Engineers
Authors: Gregory Hislop
Abstract Course Materials Contributions
The DigitalHome Case Study Material
Authors: Thomas B. Hilburn and Salamah Salamah
Abstract Dr Nancy R Mead Track
Software Engineering Education, Training, and Research: The Legacy of Nancy Mead
Authors: Donald J. Bagert, Daniel N. Port, Hossein Saiedian
Abstract Nancy R. Mead: Making Requirements Prioritization a Priority
Authors: Daniel Port, Barry Boehm, David Klappholz
Abstract Nancy Mead and Software Engineering Education: Advancements through Action
Authors: Jane Huffman Hayes, Mary Biddle
Abstract Fostering the Community of Software Engineering Educators
Authors: Heidi J. C. Ellis, Gregory W. Hislop
Abstract |