{"title":"Group project work from the outset: An in-depth teaching experience report","authors":"M. Shepperd","doi":"10.1109/CSEET.2011.5876107","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876107","url":null,"abstract":"We redesigned our undergraduate computing programmes to address problems of motivation and outdated content. The primary vehicle for the new curriculum was the group project which formed a central spine for the entire degree right from the first year. In terms of results, thus far this programme has been successfully run once. Failures, drop outs and students required to retake modules have been halved (from an average of 21.6% from the previous 4 years to 9.5%) and students obtaining the top two grades have increased from 25.2% to 38.9%. Whilst we cannot be certain that all improvement is due to the group projects, informally the change has been well received, however, we are looking for areas to improve including the possibility of more structured support for student metacognitive awareness.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"221 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116422755","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}
T. Lethbridge, G. Mussbacher, Andrew Forward, O. Badreddin
{"title":"Teaching UML using umple: Applying model-oriented programming in the classroom","authors":"T. Lethbridge, G. Mussbacher, Andrew Forward, O. Badreddin","doi":"10.1109/CSEET.2011.5876118","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876118","url":null,"abstract":"We show how a technology called Umple can be used to improve teaching UML and modeling. Umple allows UML to be viewed both textually and graphically, with updates to one view reflected in the other. It allows UML concepts to be added to programming languages, plus web-based code generation from UML to those languages. We have used Umple in student laboratories and assignments for two years, and also live in the classroom. In a survey, students showed enthusiasm about Umple, and indicated they believe it helps them understand UML better. Improvements in their grades also support our approach.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"289 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124160888","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}
{"title":"Evaluating the testing ability of senior-level computer science students","authors":"Jeffrey C. Carver, Nicholas A. Kraft","doi":"10.1109/CSEET.2011.5876084","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876084","url":null,"abstract":"Testing is a key skill for computer science students to acquire during their studies. To determine how well students are learning this skill, we conducted an empirical study in two offerings of a senior-level computer science course. The goal of the study was to determine whether students would be able to create a small, complete test suite for a simple program. The students created a test suite first without the aid of a coverage tool and then with the aid of a coverage tool. The results indicate that without a coverage tool, students achieved significantly less than 100% statement, branch or condition coverage. When provided with a code coverage tool, students increased coverage levels. Still, examination of the test suites indicated that they were significantly larger than the minimum required. These results indicate that students cannot conduct adequate testing of even a small program. To provide context for our results, we provide a literature survey summarizing various techniques proposed for teaching testing in the computer science curriculum. We discuss each technique, its strengths, and its weaknesses.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132844853","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}
Ita Richardson, L. Reid, S. Seidman, B. Pattinson, Y. Delaney
{"title":"Educating software engineers of the future: Software quality research through problem-based learning","authors":"Ita Richardson, L. Reid, S. Seidman, B. Pattinson, Y. Delaney","doi":"10.1109/CSEET.2011.5876161","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876161","url":null,"abstract":"Software Engineering graduates are expected to enter the workforce with both technical and soft skills. In addition, software quality is a topic that is becoming increasingly important both because of educational and industry requirements. Software engineering lecturers need to bring their research into the classroom. Bringing all of these together can pose the lecturer with a dilemma that is not easily solvable. This paper presents how problem-based learning, a pedagogical methodology that is popular in medicine and other disciplines, can be used to accomplish these goals in a single course module. It describes a research project which analyses the implementation of problem-based learning within a M. Sc. Software Engineering Quality Module, and evaluates the outcomes against published expectations.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"25 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131894204","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}
{"title":"Structuring a software engineering-based curriculum tutorial presentation summary","authors":"M. Jazayeri","doi":"10.1109/CSEET.2011.5876145","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876145","url":null,"abstract":"We have designed a novel computer science curriculum at the University of Lugano in Switzerland. The curriculum is based largely on software engineering principles. We have been teaching the curriculum since 2004. Following the European standards, the curriculum consists of a 3-year bachelor program and a 2-year master's program. With 6 years of experience, we are in a position to draw some conclusions about the curriculum and offer lessons to others who are interested in designing or evolving a software engineering-based curriculum. The principles apply whether one wants to design a bachelor's curriculum or a master's curriculum. They apply to both US and European systems.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133354843","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}
{"title":"Teaching software project management using simulations","authors":"A. Bollin, E. Hochmüller, R. Mittermeir","doi":"10.1109/CSEET.2011.5876160","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876160","url":null,"abstract":"An experience-dominated subject like software project management cannot be learned by merely attending lectures. Additional labs, however, even with only modest real-life projects, call for substantial effort to be spent by the instructors as well as by the partaking students. Our experience shows that using a software development simulation tool enhances the mix of methods used in conventional teaching substantially.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117277683","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}
{"title":"Pex4Fun: Teaching and learning computer science via social gaming","authors":"N. Tillmann, J. D. Halleux, Tao Xie","doi":"10.1109/CSEET.2011.5876146","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876146","url":null,"abstract":"Pex4Fun from Microsoft Research is a web-based serious gaming environment for teaching computer science. Pex4Fun can be used to teach and learn computer programming at many levels, from high school all the way through graduate courses. With Pex4Fun, a student edits code in any browser — with Intellisense — and Pex4Fun executes it and analyzes it in the cloud. Pex4Fun connects teachers, curriculum authors, and students in a unique social experience, tracking and streaming progress updates in real time. In particular, Pex4Fun finds interesting and unexpected input values that help students understand what their code is actually doing. The real fun starts with coding duels where students write code to implement a teacher's specification. Pex4Fun finds any discrepancies in behavior between the student's code and the specification. This tutorial equips participants with skills and knowledge of using Pex4Fun in teaching and learning, such as solving puzzles, solving coding duels, exploring course materials in feature courses, creating and teaching a course, creating and publishing coding duels, and learning advanced topics behind Pex4Fun.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122906710","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}
{"title":"Using abstraction and Web applications to teach criteria-based test design","authors":"A. Offutt, Nan Li, P. Ammann, Wuzhi Xu","doi":"10.1109/CSEET.2011.5876092","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876092","url":null,"abstract":"The need for better software continues to rise, as do expectations. This, in turn, puts more emphasis on finding problems before software is released. Industry is responding by testing more, but many test engineers in industry lack a practical, yet theoretically sound, understanding of testing. Software engineering educators must respond by teaching students to test better. An essential testing skill is designing tests, and an efficient way to design high quality tests is to use an engineering approach: test criteria. To achieve the maximum benefit, criteria should be used during unit (developer) testing, as well as integration and system testing. This paper presents an in-depth teaching experience report on how we successfully teach criteria-based test design using abstraction and publicly accessible web applications. Our teaching materials are freely available online or upon request.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127907407","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}
{"title":"An exploration of knowledge and skills transfer from a formal software engineering curriculum to a capstone practicum project","authors":"R. Bareiss, Edward P. Katz","doi":"10.1109/CSEET.2011.5876159","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876159","url":null,"abstract":"Students at Carnegie Mellon Silicon Valley complete a team-based practicum project for an industrial sponsor as the capstone of their master's education in software engineering. Over time, the faculty member who typically serves as advisor for such projects has been disturbed by the failure of several student teams to transfer some relevant knowledge and skills from the formal curriculum to the relatively unstructured practicum project environment. We conducted a survey of all 2010 software engineering students to ascertain the most significant self-reported shortcomings. This paper presents the survey data and then discusses the results in terms of a theory of transfer; as part of this discussion recent and possible future changes to instruction are identified.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"133 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127746928","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}
{"title":"Updating CS capstone projects to incorporate new agile methodologies used in industry","authors":"D. Knudson, Alex Radermacher","doi":"10.1109/CSEET.2011.5876122","DOIUrl":"https://doi.org/10.1109/CSEET.2011.5876122","url":null,"abstract":"Computer Science capstone programs in many universities provide students with the opportunity to develop software systems/tools for industrial companies. These projects are often completed using processes that can be considered “heavy weight” in order to provide students the experience of using the same tools and practices found in industry. For example, North Dakota State University uses a set of processes modeled after CMMI level 2. However, over the past several years, many sponsoring companies have transitioned towards agile software development processes. In order to better prepare students for this, it is necessary to provide capstone projects offering an agile option as well as the more traditional methods. Interviews were conducted with developers and managers from five sponsoring companies using agile processes. The results of these interviews and feedback from student teams that have used agile are being used to create an agile software development process designed for capstone projects. This paper describes the agile methodology, a summary of suggestions from interviews and student feedback, and plans for incorporating agile processes in the capstone course.","PeriodicalId":318528,"journal":{"name":"2011 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T)","volume":"101 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128536348","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}