This workshop will familiarize participants with the current draft of the forthcoming CS 2013 curriculum guidelines and provide feedback to the CS 2013 Steering Committee.
{"title":"Exploring the Computer Science 2013 Curriculum Guidelines","authors":"R. LeBlanc, Michaela Barker","doi":"10.1109/CSEET.2012.30","DOIUrl":"https://doi.org/10.1109/CSEET.2012.30","url":null,"abstract":"This workshop will familiarize participants with the current draft of the forthcoming CS 2013 curriculum guidelines and provide feedback to the CS 2013 Steering Committee.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122136790","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We believe the master's program in Software Engineering offered by Carnegie Mellon University's Silicon Valley Campus to be unique in that it is entirely team-based and project-centered [1]. Students learn by doing as they are coached just in time by faculty in the context of authentic projects, and they are evaluated on the work they produce. Student satisfaction is high: 94% believe that the program has given them a competitive advantage with respect to their professional peers, and their promotion and salary histories bear out this belief. This tutorial introduces the attendees to our learn-by-doing instructional approach through participation in a learn by doing experience, performing a usability analysis of a commercial website, followed by discussion to highlight what we believe to be important principles of teaching by coaching.
{"title":"A Gentle Introduction to Learn by Doing","authors":"R. Bareiss, Todd Sedano","doi":"10.1109/CSEET.2012.32","DOIUrl":"https://doi.org/10.1109/CSEET.2012.32","url":null,"abstract":"We believe the master's program in Software Engineering offered by Carnegie Mellon University's Silicon Valley Campus to be unique in that it is entirely team-based and project-centered [1]. Students learn by doing as they are coached just in time by faculty in the context of authentic projects, and they are evaluated on the work they produce. Student satisfaction is high: 94% believe that the program has given them a competitive advantage with respect to their professional peers, and their promotion and salary histories bear out this belief. This tutorial introduces the attendees to our learn-by-doing instructional approach through participation in a learn by doing experience, performing a usability analysis of a commercial website, followed by discussion to highlight what we believe to be important principles of teaching by coaching.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114999662","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software Product Line Engineering (SPLE) is a promising process for software development that has started to mature in the past ten years. Early indications are that it provides an improvement in productivity of about 3 to 1 over the software production and sustainment cycle of systems [2]. Although SPLE has been effective for early adopters, we still need to continue research to provide evidence of the effectiveness of SPLE, to find ways to improve SPLE technology and processes, and to establish strategies, methods, and capabilities for teaching SPLE and for training practitioners. Collaborative SPLE provides opportunities and challenges for researchers, educators and practitioners. Our goal is to create a Laboratory for Collaborative Software Product Line Engineering (LCSPLE) with worldwide membership that is willing and able to work towards making SPLE a mature technology that is widely used, that is, moving it from an early adopter technology to a majority technology, used in industry and taught in the universities. This workshop will start the process of creating the LCSPLE by bringing together, for the first time, a group of people who share its goal.
{"title":"Workshop on Collaborative Software Product Line Engineering","authors":"D. Weiss, Dong Li","doi":"10.1109/CSEET.2012.28","DOIUrl":"https://doi.org/10.1109/CSEET.2012.28","url":null,"abstract":"Software Product Line Engineering (SPLE) is a promising process for software development that has started to mature in the past ten years. Early indications are that it provides an improvement in productivity of about 3 to 1 over the software production and sustainment cycle of systems [2]. Although SPLE has been effective for early adopters, we still need to continue research to provide evidence of the effectiveness of SPLE, to find ways to improve SPLE technology and processes, and to establish strategies, methods, and capabilities for teaching SPLE and for training practitioners. Collaborative SPLE provides opportunities and challenges for researchers, educators and practitioners. Our goal is to create a Laboratory for Collaborative Software Product Line Engineering (LCSPLE) with worldwide membership that is willing and able to work towards making SPLE a mature technology that is widely used, that is, moving it from an early adopter technology to a majority technology, used in industry and taught in the universities. This workshop will start the process of creating the LCSPLE by bringing together, for the first time, a group of people who share its goal.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133700330","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In the United States, one of the main objectives of the National Science Foundation (NSF) is the encouragement and support of undergraduate involvement in hands-on research projects. An early exposure to actual research practice can help these students more quickly and effectively grasp the principles and goals of research in general.
{"title":"Involving Undergraduates in Research: Motivations and Challenges","authors":"W. Eric Wong","doi":"10.1109/CSEET.2012.35","DOIUrl":"https://doi.org/10.1109/CSEET.2012.35","url":null,"abstract":"In the United States, one of the main objectives of the National Science Foundation (NSF) is the encouragement and support of undergraduate involvement in hands-on research projects. An early exposure to actual research practice can help these students more quickly and effectively grasp the principles and goals of research in general.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122366062","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software product line development refers to software engineering practices and techniques for creating families of similar software systems from a basic set of reusable components, called shared assets. Teaching how to deal with software product lines in a university lab course is a challenging task, because there are several practical issues that have to be solved in short time. In this paper we report an experience of ours, showing how in the context of a software engineering course at University of Bologna our students tackled the task of developing a software product line consisting of four products which were variants of a basic shared asset. The main idea is that the laboratory activities performed by our students followed the rules of a role-playing game. We describe this experience, defining the role-playing game by a meta-model which abstracts the notion of software process, and we show how we enacted the process for a software product line.
{"title":"A Role-Playing Game for a Software Engineering Lab: Developing a Product Line","authors":"Sara Zuppiroli, P. Ciancarini, M. Gabbrielli","doi":"10.1109/CSEET.2012.39","DOIUrl":"https://doi.org/10.1109/CSEET.2012.39","url":null,"abstract":"Software product line development refers to software engineering practices and techniques for creating families of similar software systems from a basic set of reusable components, called shared assets. Teaching how to deal with software product lines in a university lab course is a challenging task, because there are several practical issues that have to be solved in short time. In this paper we report an experience of ours, showing how in the context of a software engineering course at University of Bologna our students tackled the task of developing a software product line consisting of four products which were variants of a basic shared asset. The main idea is that the laboratory activities performed by our students followed the rules of a role-playing game. We describe this experience, defining the role-playing game by a meta-model which abstracts the notion of software process, and we show how we enacted the process for a software product line.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122676049","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
N. Tillmann, Michal Moskal, J. D. Halleux, Manuel Fähndrich, Tao Xie
We are experiencing a technology shift: powerful and easy-to-use touchscreen-based mobile devices such as smartphones and tablets are becoming more prevalent than traditional PCs and laptops. Many mobile devices are going to be the first and, in less developed countries, possibly the only computing devices that virtually all people would own and carry with them at all times. We propose to reflect this new reality in how computer science is taught in the classroom. In this tutorial, participants will learn about developing software directly on smartphones without a PC using TouchDevelop on Windows Phone, a novel application-creation environment from Microsoft Research. Its typed, structured programming language is built around the idea of using only a touchscreen as the input device to author code. Easy access to the rich sensor and personal data available on a mobile device results in a fun and engaging programming experience for students.
{"title":"Engage Your Students by Teaching Computer Science Using Only Mobile Devices with TouchDevelop","authors":"N. Tillmann, Michal Moskal, J. D. Halleux, Manuel Fähndrich, Tao Xie","doi":"10.1109/CSEET.2012.11","DOIUrl":"https://doi.org/10.1109/CSEET.2012.11","url":null,"abstract":"We are experiencing a technology shift: powerful and easy-to-use touchscreen-based mobile devices such as smartphones and tablets are becoming more prevalent than traditional PCs and laptops. Many mobile devices are going to be the first and, in less developed countries, possibly the only computing devices that virtually all people would own and carry with them at all times. We propose to reflect this new reality in how computer science is taught in the classroom. In this tutorial, participants will learn about developing software directly on smartphones without a PC using TouchDevelop on Windows Phone, a novel application-creation environment from Microsoft Research. Its typed, structured programming language is built around the idea of using only a touchscreen as the input device to author code. Easy access to the rich sensor and personal data available on a mobile device results in a fun and engaging programming experience for students.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"92 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117337473","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We report on the experience of the first offering of the course, "The Craft of Software Development." The purpose of the course is to identify and remediate individual weaknesses as software developers. Each student was asked to pick a personal learning focus in an area of known software development weakness for that student. Through a "maiden speech" they asked their class community for help in creating a learning plan to address their area of weakness. Learning plans typically incorporated known apprenticeship patterns such as "Find a Coach," "Breakable Toys," and "Practice, Practice, Practice." After creating their learning plan, students identified metrics to track their progress towards their goal. While executing their individual learning plans, the class performed programming katas which are specific programming exercises to work on issues relevant for the entire class. Several issues emerged in the first offering in the course and several suggestions are provided for incorporation in the next offering of the course.
{"title":"Towards Teaching Software Craftsmanship","authors":"Todd Sedano","doi":"10.1109/CSEET.2012.29","DOIUrl":"https://doi.org/10.1109/CSEET.2012.29","url":null,"abstract":"We report on the experience of the first offering of the course, \"The Craft of Software Development.\" The purpose of the course is to identify and remediate individual weaknesses as software developers. Each student was asked to pick a personal learning focus in an area of known software development weakness for that student. Through a \"maiden speech\" they asked their class community for help in creating a learning plan to address their area of weakness. Learning plans typically incorporated known apprenticeship patterns such as \"Find a Coach,\" \"Breakable Toys,\" and \"Practice, Practice, Practice.\" After creating their learning plan, students identified metrics to track their progress towards their goal. While executing their individual learning plans, the class performed programming katas which are specific programming exercises to work on issues relevant for the entire class. Several issues emerged in the first offering in the course and several suggestions are provided for incorporation in the next offering of the course.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"361 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126840744","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Effective communication among members of a software development team is considered to be a critical factor in the success of software projects. Social network analysis is a promising way to analyze communication patterns that has been used in a number of studies of professional software development teams. In this paper, we present preliminary data on communication events collected in a software engineering course and analyze it on a number of measures including basic social network measures. Successful groups are compared to an unsuccessful group on these measures. This is a work in progress report of a project to use social network analysis as a means of studying communication patterns among software engineering students, in order to improve teaching strategies.
{"title":"A Case Study of Group Communication Patterns in a Large Project Software Engineering Course","authors":"Bonnie K. MacKellar","doi":"10.1109/CSEET.2012.21","DOIUrl":"https://doi.org/10.1109/CSEET.2012.21","url":null,"abstract":"Effective communication among members of a software development team is considered to be a critical factor in the success of software projects. Social network analysis is a promising way to analyze communication patterns that has been used in a number of studies of professional software development teams. In this paper, we present preliminary data on communication events collected in a software engineering course and analyze it on a number of measures including basic social network measures. Successful groups are compared to an unsuccessful group on these measures. This is a work in progress report of a project to use social network analysis as a means of studying communication patterns among software engineering students, in order to improve teaching strategies.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114531093","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Universities are actively exploring and implementing the cooperation courses with enterprises. In software engineering, the key construction is to build a win-win course to meet the needs of student development and enterprise requirements. This paper introduces a co-teaching curriculum model aimed at narrowing the theory-practice gap. The course construction system and diversified teaching methods are given based on actual experience of school-enterprise cooperation. The feed-back institution is necessary to check the effects of cooperation course. The establishment of integrated cooperation curriculum is helpful to develop innovative, practical and versatile international software engineers.
{"title":"A New Model on the School-Enterprise Cooperation Curriculum Construction","authors":"Hongyan Mao, Ningkang Jiang, Wen Su, Yan Zhang","doi":"10.1109/CSEET.2012.19","DOIUrl":"https://doi.org/10.1109/CSEET.2012.19","url":null,"abstract":"Universities are actively exploring and implementing the cooperation courses with enterprises. In software engineering, the key construction is to build a win-win course to meet the needs of student development and enterprise requirements. This paper introduces a co-teaching curriculum model aimed at narrowing the theory-practice gap. The course construction system and diversified teaching methods are given based on actual experience of school-enterprise cooperation. The feed-back institution is necessary to check the effects of cooperation course. The establishment of integrated cooperation curriculum is helpful to develop innovative, practical and versatile international software engineers.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122302292","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
E. Almeida, Dali Li, S. Faulk, Crescencio Rodrigues Lima Neto, Zhang Rui, D. Weiss, Jin Ying, M. Young, Lian Yu
Companies around the world routinely distribute their software development across different sites. Students, however, rarely get a chance to learn the potential problems that arise, and the potential solutions to those problems, when conducting distributed development. It is especially difficult to simulate the situation for students when development is distributed across time zones and cultures. We have developed a course that requires teams of students at widely separated universities to collaborate with each other to complete a software development project. Instances of the course have been presented four times using combinations of five different universities, and we are seeking to create a larger pool of universities interested in and capable of presenting it. This paper discusses our goals, the characteristics of the course and the results of teaching it, with a primary result that all the universities want to and will offer the course again.
{"title":"Teaching Globally Distributed Software Development: An Experience Report","authors":"E. Almeida, Dali Li, S. Faulk, Crescencio Rodrigues Lima Neto, Zhang Rui, D. Weiss, Jin Ying, M. Young, Lian Yu","doi":"10.1109/CSEET.2012.26","DOIUrl":"https://doi.org/10.1109/CSEET.2012.26","url":null,"abstract":"Companies around the world routinely distribute their software development across different sites. Students, however, rarely get a chance to learn the potential problems that arise, and the potential solutions to those problems, when conducting distributed development. It is especially difficult to simulate the situation for students when development is distributed across time zones and cultures. We have developed a course that requires teams of students at widely separated universities to collaborate with each other to complete a software development project. Instances of the course have been presented four times using combinations of five different universities, and we are seeking to create a larger pool of universities interested in and capable of presenting it. This paper discusses our goals, the characteristics of the course and the results of teaching it, with a primary result that all the universities want to and will offer the course again.","PeriodicalId":385043,"journal":{"name":"2012 IEEE 25th Conference on Software Engineering Education and Training","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-04-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133983037","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}