Teaching XP: A Case Study
|
|
- Julianna Walsh
- 6 years ago
- Views:
Transcription
1 Teaching XP: A Case Study Dwight Wilson Department of Computer Science The Johns Hopkins University 34 th and Charles St. Baltimore, MD USA wilson@cs.jhu.edu ABSTRACT This paper reports on a project-oriented course using XP taught at The Johns Hopkins University during the Spring 2001 Semester. The class developed a Java IDE using XP practices. Keywords Extreme Programming, XP, teaching XP 1 INTRODUCTION During the Spring 2001 Semester, the author taught an undergraduate course at The Johns Hopkins University called Software Development with XP. The focus of the course was to teach XP practices in the context of developing a software package of significant size and complexity. One of the goals was that the software would not just be a class project, but eventually be released to the public under the GNU Public License. This paper is a report on that class along with suggestions for teaching similar classes in the future. 2 COURSE DESCRIPTION The course was offered to upper-level undergraduates, with enrollment limited of twenty students and instructor permission required for registration. The required texts for the course were XP Installed [1] and Refactoring [2], with other texts from the XP Series recommended [3,4]. Additionally, several articles from the xprogramming.com web site were used as course readings [5]. The complete list of readings may be viewed on the course website [6]. Learning XP, and software development in general, is not done merely by listening to lectures, but by putting the principles into practice. Thus, the focus of the course was the development of reasonably large piece of software, developed by the class as a whole. An alternative to having the entire class work on a single project would have been to split the class into smaller project groups. This approach was rejected for two main reasons. The instructor played the role of the customer, and time constraints would have made it difficult to play this role for several project groups. The other reason is that using a single project would give students experience working with larger software than if there were multiple projects. 3 THE PROJECT Several factors went into the choice of the programming project. First, as we lacked a "real" customer, it was important that the students be familiar with the problem domain. This would enable students to contribute user stories and write acceptance tests, with the instructor both writing and prioritizing stories. Second, the project should be something of significant size and complexity, yet still allow significant progress to be made during the semester. It would also be useful if future classes could continue development on the same project, again giving a greater real-world feel to the class. It was also considered desirable that the software be usable in the real world, not merely a toy discarded at the end of the semester. Indeed, the intent was to release the software to the public. Since twenty programmers is somewhat large for an XP group, it would be helpful if he project could be easily decomposed into related but somewhat independent subprojects. This would simplify communication between the students, while still allowing them to practice collective code ownership. Finally, the project should be one that would capture the students' interest. The participants shouldn t just be putting in time to get course credit, but should be excited about the project and about XP. The project chosen was to develop a Java Integrated Development Environment (IDE) modeled on Smalltalk IDEs and with support for XP practices. As the class consisted of upper-level Computer Science majors, they were familiar with IDEs, though most were not familiar with Smalltalk IDEs, and could thus contribute user stories. A Java IDE lends itself readily to decomposition into subprojects. Four such subprojects were identified for this semester, core IDE functionality, i.e., editing and navigation, a built-in compiler, CVS integration, and
2 refactoring support. Each of these would be a challenging semester project for a group of undergraduates, and it was not expected that a complete product would be created. Instead, the goal was develop incrementally and make progress in all subprojects, with future classes continuing the work. This serves to emphasize the XP principles of incremental development and delivering business value in each release. The choice of a Java IDE is also well suited for the creation of additional subprojects in the future, for example a debugger, profiler, etc. In addition to meeting the above criteria, another advantage of this project is that creating features to support XP practices would encourage deeper thought about the practices themselves. The software can also serve as a platform for experimenting with the practices. It should be noted that another factor influenced this choice of project. Some time ago, the author had written a very basic proof-of-concept implementation, i.e., a basic Java IDE modeled on Smalltalk IDEs. The name of this program was Immerjion, motivated by a vague concept of helping programmers immerse themselves in the code. This prototype was used as a starting point for the students. Note that this software was not developed using XP practices. Most importantly there was not an automated unit-test suite. Some thought was given to having the class start from scratch rather than use the prototype, however there were two compelling reasons for using the prototype. First, programmers who use XP in industry frequently have to work with code that was not developed using XP. Using the prototype would give the students experience doing so. In particular, they would benefit by learning to write unit-tests for existing code. Not only is this useful in and of itself, but it helped the students appreciate the benefits of building unit tests from the start and test-first programming. The other reason was that based on concerns about the work environment. A professional programming team practicing XP would normally be in the same work area for most of the week. In contrast, the entire class would only be together for two or three hours a week. Starting with the existing prototype helped provide a single vision of the software that would otherwise have been difficult or impossible to achieve otherwise. 4 THE ENVIRONMENT It is important to understand that there are several environmental differences between an industry team using XP and using it for a University course. One of the most significant, mentioned in the previous section, is that much less time is spent together as a group. Indeed there was not adequate time to discuss users stories, particularly during the first part of the semester when most of the class time was used presenting and discussing the XP practices. This problem was partially solved by creating a user-story Wiki [6]. The Wiki allowed students to enter stories, edit existing stories, make comments, sign up for stories, and mark stories as completed. Another important environmental difference is the amount of time students could spend working. A maximum of eight to ten hours a week outside of class is the most that could reasonably be expected. Scheduling conflicts between students also reduce the amount of time that can be spent pair-programming and meeting with other students. The major adaptation to the time restrictions was to use very small user stories. The use of very small stories in industry teams is mentioned in [1]. The time constraints also influenced some of the project development rules, specifically when pair programming was required and when work could be done as individuals. Essentially, code implementing user stories was required to be written in pairs, however unit-tests for existing code could be written as individuals. Individuals were also permitted to refactor code covered by unit tests. If refactoring was required for code not covered by unit-tests, perhaps in order to simplify writing the tests, pairing was required. A related environmental difference is the lack of a dedicated work area for the project. Students were encouraged to do their project work in the Computer Science Undergraduate Lab, and to try and arrange their schedules so that more than one pair would be working at the same time. While this happened to some extent, the amount of time students spent working at the same time was still quite small. 5 THE PRACTICES While the all twelve XP practices were discussed during lectures, some were emphasized more heavily than the others in practice. The Planning Game An overall plan and release schedule was not created. The major obstacle to doing this was the lack of time available as a group. This was exacerbated by the fact that such planning would have to take place at the start of the semester, when lecture time is needed for presentation and discussion of XP. It must also be admitted that the lack of commercial incentive, i.e., there was no market requirement to have a product out by a target date, reduced the motivation to create an overall plan. Planning for each iteration did follow XP practices. The instructor, acting as the customer, selected which stories were of the highest priority. Students estimated the story size and signed up for stories. Small Releases In order to fit several releases into the semester, two-week releases were used. Strict adherence to this release schedule
3 was not maintained, particularly at the start of the semester and around midterms. The former was because most of the students had underestimated the time it would take to become familiar with the existing code and thus weren t able to make as much progress on user stories as they had anticipated. It must be made clear, however, that letting the deadline for releases slip was entirely the responsibility of the instructor, not the students. Metaphor The group did not use a metaphor. Starting from a supplied prototype implementation provided conceptual integrity. Simple Design This feature of XP was heavily emphasized during lectures. Overall compliance was good; in general the students avoided building for the future. Testing This practice was the one most strongly emphasized during lectures and in development, if for no other reason that it is valuable even in a non-xp environment. All new code was required to be written in a test-first fashion. Additionally, before changing existing code, creation of tests for that code was required. All unit tests were required to pass before checking in code. Compliance to this practice was very good. There were no unit-test for the initial code, and over 150 tests at the end of the semester. On two or three occasions code was checked in that did not pass unit tests, however this appeared to be more of a problem with the check-in process. For example, on at least one of the occasions, the problem was that a new file had not been added to the repository. This caused the tests to pass on the student s machine, but to fail for the next pair checking out the code. While some students initially described writing unit-tests as a hassle, they quickly came to appreciate the test suite. The class also grew to enjoy test-first programming in conjunction with keeping the design simple. One student remarked that she felt test-first programming encouraged her to do just enough design. That is, enough to meet the needs of the test, which avoiding planning for the future. Adherence to writing acceptance tests was not as great, though some of the unit-tests could be considered to be acceptance tests. The biggest obstacle to acceptance tests is that the software is highly interactive. Automated acceptance tests would require a tool for writing tests using the GUI, and the class did not have such a tool available. It is interesting to compare the reaction of this class with the reaction to unit testing in another course. During the same semester the author also taught Intermediate Programming in Java, a second-semester programming course. One of the assignment requirements was that unit tests, using JUnit, be submitted with each assignment. There was much less enthusiasm about unit-tests in this class than in the XP class. Part of this reason may have been that some students had problems with the mechanics of installing and using JUnit. This was especially true of students coming from an introductory C/C++ class rather than a Java class. Other possible reasons were that individual assignments were not complex enough for the benefits of unit-tests to be appreciated. Overall, most of the students in the Java class perceived the unit-tests as more work that had to be done rather than as a technique for aiding development and improving code. The reverse was true in the XP class. Refactoring The topic of refactoring was covered informally during lectures, with a few examples given. Students were expected to read and apply the refactorings in [2]. Additionally, several of the user stories involved implementing a refactoring tool as part of the IDE. Pair Programming This was another heavily emphasized practice. All new code was required to be written in pairs, the pair writing both the tests and production code. Due to time and scheduling constraints individuals were permitted to write unit-tests for existing code and perform relatively simple refactorings on code covered by tests Pairs were not officially fixed, and students were encouraged to pair with different individuals. In practice many of the students formed semi-permanent pairs. The author also paired with most of the students. A goal was to pair with each of the students, but it wasn t possible to do so because of scheduling difficulties. The students reacted very positively to pair programming. Several of them had worked in pairs on other class projects, but this was the first time it was presented as part of a software development methodology. Collective Ownership Although the development was divided into sub-projects, collective ownership was applied to the entire code base not just within subprojects. Furthermore, membership in a sub-project group was not strict. That is, students were permitted to sign up for any stories at all, not just ones specified as part of their sub-project. Additionally, pairing between programmers in different sub-projects was encouraged to help distribute knowledge. Reaction to this practice was positive, though it must be noted that most students have not had exposure to more restrictive code-ownership practices. Continuous Integration Interestingly, the factors that differentiate the student XP team environment from an industrial one tend to promote the practice of continuous integration. Students generally worked shorter blocks of time, with longer intervals
4 between blocks, than professional programmers, resulting in greater incentive to check code in more frequently. 40-hour Week As noted earlier, a major difference between a student XP group and an industry group is the time available for work on the project. As a result, in the class, this became the 10- hour week practice. On-site Customer It was not possible to follow this practice, as there was no real customer. Even had there been one, the aforementioned problems of student scheduling would have made an on-site customer impractical. The students were encouraged to act as customers for the purpose of writing user stories, though a little over one-half of the stories were in fact written by the instructor. Since the students were familiar with the problem domain, the lack of an on-site customer did not cause too many problems. On a few occasions a story implemented by a students did not perform as the instructor expected, and the problems would probably have been caught more quickly with an on-site customer. Coding Standard Since development was based on an existing prototype, the class was told to follow the coding standards in that code, rather than coming up with a new standard. Somewhat surprisingly, this was the practice for which there were the most compliance problems. Although the importance of consistency of coding practices was emphasized during class, several students insisted on following their own preferences for brace placement, indentation, white space, etc. It is possible that compliance would have been better had the group created a coding standard rather than had one imposed on them by the existing code. The choice of project, i.e., a Java IDE, may have also contributed to the problem. In the system, code is stored as parse trees, and pretty-printed to editing windows on the fly. This may have created the impression that adherence to formatting standards was not particularly important When the IDE was sufficiently advanced to be used for its own development, pairs could use their own preferences for formatting without affecting the stored form of the code 6 THE RESULT By the end of the semester, the class had created a usable Java IDE, though by no means a complete one. A copy of the source code may be obtained from the course web page [6]. Adherence to XP practices was generally quite good, particularly with regards to pair-programming, unit-testing, and continuous integration. Even though the IDE is not complete, it does deliver business value. The core IDE provides support for navigating Java code, including commands to find all calls of a method, all implementers of a method, etc. The editing interface is somewhat primitive compared to other editors and IDEs, however the primary goal was to support the many small methods style of programming, and is based on editing one method at a time, so sophisticated editing support was not considered a priority. The compiler sub-project is far from complete, but the work done delivers significant business value. The students working on that sub-project implemented user stories describing semantic checks to be performed when a method is saved. This enables errors, such as referencing an undefined identifier, to be caught more quickly. A future class will complete the semantic checks and start implementing code generation. The IDE supports the most common CVS commands, and also supports features to automatically run all unit-tests before a check-in, aborting the check-in should any tests fail. The sub-project with the least project is the refactoring support, simply because those stories were the hardest to implement. At the moment few refactorings are supported, though more will be added by future classes. 7 FUTURE DIRECTIONS The author intends to teach this course in future semesters. Ideally, this course would be taught each semester, with the possibility of interested students participating more than once. The area in which the most improvement can be made is probably adherence to a strict release schedule. As mentioned in the previous section, the end-of-release dates were sometimes allowed to slip so that students could finish their stories. It would be better, both from and educational standpoint and for proper practice of XP, to avoid this. Use of the once-and-only-once rule [7] may be used as well. This rule states that if a pair is unable to complete a story they ve signed up for, then they are not permitted to sign up for that story on the next iteration. Another area of improvement is contact with the students, particularly getting updates on progress. While progress updates were done during class, students appeared somewhat reluctant to admit that they might not finish stories they were working on. A solution being considered is to have each sub-project group to select a representative who would keep in close contact with the group members and report to the instructor. Future classes will maintain and enhance the existing functionality as well as create new areas of major functionality, such as a debugger, profiler, GUI builder, etc. This will provide both experience in working with existing code as well as writing new code. During this semester, more time than originally anticipated was spent learning the existing code and writing unit-tests for it. The test-suite built this semester will help future students master the code
5 more quickly. The software may also be used in the future as a test bed for additional features that support and perhaps modify XP practices. For example, user stories have been submitted, but not yet implemented, to support very frequent integration. Essentially, these stories describe a feature for the system to automatically check-in code whenever all unit tests are successfully run. The system would also watch for check-ins from other pairs and update its copy of any code that has not been edited. If the code has been edited, the programmer would be alerted that another pair has updated the code being edited. It is difficult to tell whether such frequent integration would be beneficial or not. Implementing it would allow it teams to experiment. 8 CONCLUSION Overall the course was successful. The students built a significant piece of software. While the sub-projects are not complete, a usable system was built and can be further developed by future classes. Additionally, the course was an enjoyable experience, both for the instructor and for the students. A few students remarked that not only had they learned a great deal, but it was also one of the most fun courses they had. One of the students, a graduating senior, said that an interviewer was surprised and impressed that a course on XP was offered. REFERENCES 1. Jeffries, Ron, Anderson, Ann, Hendrickson, Chet Extreme Programming Installed. Addison- Wesley 2. Fowler, Martin Refactoring. Addison-Wesley 3. Beck, Kent Extreme Programming Explained: Embrace Change. Addison-Wesley 4. Planning Extreme Programming Planning Extreme Programming. Addison-Wesley 5. Extreme programming website at 6. XP Course website at 7. Extreme Programming Roadmap at
Getting Started with Deliberate Practice
Getting Started with Deliberate Practice Most of the implementation guides so far in Learning on Steroids have focused on conceptual skills. Things like being able to form mental images, remembering facts
More informationChamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform
Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform doi:10.3991/ijac.v3i3.1364 Jean-Marie Maes University College Ghent, Ghent, Belgium Abstract Dokeos used to be one of
More informationThe open source development model has unique characteristics that make it in some
Is the Development Model Right for Your Organization? A roadmap to open source adoption by Ibrahim Haddad The open source development model has unique characteristics that make it in some instances a superior
More informationOnline Marking of Essay-type Assignments
Online Marking of Essay-type Assignments Eva Heinrich, Yuanzhi Wang Institute of Information Sciences and Technology Massey University Palmerston North, New Zealand E.Heinrich@massey.ac.nz, yuanzhi_wang@yahoo.com
More informationSuccess Factors for Creativity Workshops in RE
Success Factors for Creativity s in RE Sebastian Adam, Marcus Trapp Fraunhofer IESE Fraunhofer-Platz 1, 67663 Kaiserslautern, Germany {sebastian.adam, marcus.trapp}@iese.fraunhofer.de Abstract. In today
More informationSCU Graduation Occasional Address. Rear Admiral John Lord AM (Rtd) Chairman, Huawei Technologies Australia
SCU Graduation Occasional Address Rear Admiral John Lord AM (Rtd) Chairman, Huawei Technologies Australia 2.00 pm, Saturday, 24 September 2016 Whitebrook Theatre, Lismore Campus Ladies and gentlemen and
More informationUsing Virtual Manipulatives to Support Teaching and Learning Mathematics
Using Virtual Manipulatives to Support Teaching and Learning Mathematics Joel Duffin Abstract The National Library of Virtual Manipulatives (NLVM) is a free website containing over 110 interactive online
More informationPair Programming. Spring 2015
CS4 Introduction to Scientific Computing Potter Pair Programming Spring 2015 1 What is Pair Programming? Simply put, pair programming is two people working together at a single computer [1]. The practice
More informationPROCESS USE CASES: USE CASES IDENTIFICATION
International Conference on Enterprise Information Systems, ICEIS 2007, Volume EIS June 12-16, 2007, Funchal, Portugal. PROCESS USE CASES: USE CASES IDENTIFICATION Pedro Valente, Paulo N. M. Sampaio Distributed
More informationActivities, Exercises, Assignments Copyright 2009 Cem Kaner 1
Patterns of activities, iti exercises and assignments Workshop on Teaching Software Testing January 31, 2009 Cem Kaner, J.D., Ph.D. kaner@kaner.com Professor of Software Engineering Florida Institute of
More informationImplementing a tool to Support KAOS-Beta Process Model Using EPF
Implementing a tool to Support KAOS-Beta Process Model Using EPF Malihe Tabatabaie Malihe.Tabatabaie@cs.york.ac.uk Department of Computer Science The University of York United Kingdom Eclipse Process Framework
More informationJust in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles
Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles With advocates like Sal Khan and Bill Gates 1, flipped classrooms are attracting an increasing amount of media and
More informationBeing Extreme in the Classroom: Experiences Teaching XP
Being Extreme in the Classroom: Experiences Teaching XP Alfredo Goldman Fabio Kon Paulo J. S. Silva Department of Computer Science University of São Paulo, Brazil {gold,kon,rsilva}@ime.usp.br http://www.ime.usp.br/~xp
More informationDeveloping Grammar in Context
Developing Grammar in Context intermediate with answers Mark Nettle and Diana Hopkins PUBLISHED BY THE PRESS SYNDICATE OF THE UNIVERSITY OF CAMBRIDGE The Pitt Building, Trumpington Street, Cambridge, United
More informationScott Foresman Addison Wesley. envisionmath
PA R E N T G U I D E Scott Foresman Addison Wesley envisionmath Homeschool bundle includes: Student Worktext or Hardcover MindPoint Quiz Show CD-ROM Teacher Edition CD-ROM Because You Know What Matters
More informationProcess improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter
Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter 2010. http://www.methodsandtools.com/ Summary Business needs for process improvement projects are changing. Organizations
More informationBLENDED LEARNING IN ACADEMIA: SUGGESTIONS FOR KEY STAKEHOLDERS. Jeff Rooks, University of West Georgia. Thomas W. Gainey, University of West Georgia
BLENDED LEARNING IN ACADEMIA: SUGGESTIONS FOR KEY STAKEHOLDERS Jeff Rooks, University of West Georgia Thomas W. Gainey, University of West Georgia ABSTRACT With the emergence of a new information society,
More information1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.
National Unit specification General information Unit code: HA6M 46 Superclass: CD Publication date: May 2016 Source: Scottish Qualifications Authority Version: 02 Unit purpose This Unit is designed to
More informationUsing Moodle in ESOL Writing Classes
The Electronic Journal for English as a Second Language September 2010 Volume 13, Number 2 Title Moodle version 1.9.7 Using Moodle in ESOL Writing Classes Publisher Author Contact Information Type of product
More informationMajor Milestones, Team Activities, and Individual Deliverables
Major Milestones, Team Activities, and Individual Deliverables Milestone #1: Team Semester Proposal Your team should write a proposal that describes project objectives, existing relevant technology, engineering
More informationRobert S. Marx Law Library University of Cincinnati College of Law Annual Report: *
Robert S. Marx Law Library University of Cincinnati College of Law Annual Report: 2010-2011 * The Law Library experienced a successful year serving the college s students, faculty and staff, and visitors.
More informationWikiAtoms: Contributions to Wikis as Atomic Units
WikiAtoms: Contributions to Wikis as Atomic Units Hanrahan, Quintana-Castillo, Michael Stewart, A. Pérez-Quiñones Dept. of Computer Science, Virginia Tech. {bhanraha, rqc, tgm, perez}@vt.edu ABSTRACT Corporate
More informationA GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING
A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING Yong Sun, a * Colin Fidge b and Lin Ma a a CRC for Integrated Engineering Asset Management, School of Engineering Systems, Queensland
More informationCONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS
CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS Pirjo Moen Department of Computer Science P.O. Box 68 FI-00014 University of Helsinki pirjo.moen@cs.helsinki.fi http://www.cs.helsinki.fi/pirjo.moen
More informationGALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL
The Fifth International Conference on e-learning (elearning-2014), 22-23 September 2014, Belgrade, Serbia GALICIAN TEACHERS PERCEPTIONS ON THE USABILITY AND USEFULNESS OF THE ODS PORTAL SONIA VALLADARES-RODRIGUEZ
More informationFeature-oriented vs. Needs-oriented Product Access for Non-Expert Online Shoppers
Feature-oriented vs. Needs-oriented Product Access for Non-Expert Online Shoppers Daniel Felix 1, Christoph Niederberger 1, Patrick Steiger 2 & Markus Stolze 3 1 ETH Zurich, Technoparkstrasse 1, CH-8005
More informationEdX Learner s Guide. Release
EdX Learner s Guide Release Nov 18, 2017 Contents 1 Welcome! 1 1.1 Learning in a MOOC........................................... 1 1.2 If You Have Questions As You Take a Course..............................
More informationTraining Catalogue for ACOs Global Learning Services V1.2. amadeus.com
Training Catalogue for ACOs Global Learning Services V1.2 amadeus.com Global Learning Services Training Catalogue for ACOs V1.2 This catalogue lists the training courses offered to ACOs by Global Learning
More informationCREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT
CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT Rajendra G. Singh Margaret Bernard Ross Gardler rajsingh@tstt.net.tt mbernard@fsa.uwi.tt rgardler@saafe.org Department of Mathematics
More informationRequirements-Gathering Collaborative Networks in Distributed Software Projects
Requirements-Gathering Collaborative Networks in Distributed Software Projects Paula Laurent and Jane Cleland-Huang Systems and Requirements Engineering Center DePaul University {plaurent, jhuang}@cs.depaul.edu
More informationImproving Conceptual Understanding of Physics with Technology
INTRODUCTION Improving Conceptual Understanding of Physics with Technology Heidi Jackman Research Experience for Undergraduates, 1999 Michigan State University Advisors: Edwin Kashy and Michael Thoennessen
More informationVisit us at:
White Paper Integrating Six Sigma and Software Testing Process for Removal of Wastage & Optimizing Resource Utilization 24 October 2013 With resources working for extended hours and in a pressurized environment,
More informationIncluding the Microsoft Solution Framework as an agile method into the V-Modell XT
Including the Microsoft Solution Framework as an agile method into the V-Modell XT Marco Kuhrmann 1 and Thomas Ternité 2 1 Technische Universität München, Boltzmann-Str. 3, 85748 Garching, Germany kuhrmann@in.tum.de
More informationQuick Start Guide 7.0
www.skillsoft.com Quick Start Guide 7.0 Copyright 2010 SkillSoft Corporation. All rights reserved SkillSoft Corporation 107 Northeastern Blvd. Nashua, NH 03062 603-324-3000 87-SkillSoft (877-545-5763)
More informationInstitutionen för datavetenskap. Hardware test equipment utilization measurement
Institutionen för datavetenskap Department of Computer and Information Science Final thesis Hardware test equipment utilization measurement by Denis Golubovic, Niklas Nieminen LIU-IDA/LITH-EX-A 15/030
More informationPair Programming: When and Why it Works
Pair Programming: When and Why it Works Jan Chong 1, Robert Plummer 2, Larry Leifer 3, Scott R. Klemmer 2, Ozgur Eris 3, and George Toye 3 1 Stanford University, Department of Management Science and Engineering,
More informationSoftware Maintenance
1 What is Software Maintenance? Software Maintenance is a very broad activity that includes error corrections, enhancements of capabilities, deletion of obsolete capabilities, and optimization. 2 Categories
More informationPowerCampus Self-Service Student Guide. Release 8.4
PowerCampus Self-Service Student Guide Release 8.4 Banner, Colleague, PowerCampus, and Luminis are trademarks of Ellucian Company L.P. or its affiliates and are registered in the U.S. and other countries.
More informationGrade 3: Module 1: Unit 3: Lesson 5 Jigsaw Groups and Planning for Paragraph Writing about Waiting for the Biblioburro
Grade 3: Module 1: Unit 3: Lesson 5 Jigsaw Groups and Planning for Paragraph Writing about Waiting for the Biblioburro This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike
More informationManual for the internship visa program of the Fulbright Center
Manual for the internship visa program of the Fulbright Center Introduction To gain work experience by doing an internship at a US company or non-profit organization is very useful. It may be a strong
More informationYour School and You. Guide for Administrators
Your School and You Guide for Administrators Table of Content SCHOOLSPEAK CONCEPTS AND BUILDING BLOCKS... 1 SchoolSpeak Building Blocks... 3 ACCOUNT... 4 ADMIN... 5 MANAGING SCHOOLSPEAK ACCOUNT ADMINISTRATORS...
More informationLinking the Common European Framework of Reference and the Michigan English Language Assessment Battery Technical Report
Linking the Common European Framework of Reference and the Michigan English Language Assessment Battery Technical Report Contact Information All correspondence and mailings should be addressed to: CaMLA
More informationThe feasibility, delivery and cost effectiveness of drink driving interventions: A qualitative analysis of professional stakeholders
Abstract The feasibility, delivery and cost effectiveness of drink driving interventions: A qualitative analysis of Miss Hollie Wilson, Dr Gavan Palk, Centre for Accident Research & Road Safety Queensland
More informationSkillPort Quick Start Guide 7.0
SkillPort Quick Start Guide 7.0 www.skillsoft.com Copyright 2009 SkillSoft Corporation. All rights reserved SkillSoft Corporation 107 Northeastern Blvd. Nashua, NH 03062 603-324-3000 87-SkillSoft (877-545-5763)
More informationNovember 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students
November 17, 2017 ARIZONA STATE UNIVERSITY ADDENDUM 3 RFP 331801 Digital Integrated Enrollment Support for Students Please note the following answers to questions that were asked prior to the deadline
More informationMENTORING. Tips, Techniques, and Best Practices
MENTORING Tips, Techniques, and Best Practices This paper reflects the experiences shared by many mentor mediators and those who have been mentees. The points are displayed for before, during, and after
More informationCS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus
CS 1103 Computer Science I Honors Fall 2016 Instructor Muller Syllabus Welcome to CS1103. This course is an introduction to the art and science of computer programming and to some of the fundamental concepts
More informationSpecification of the Verity Learning Companion and Self-Assessment Tool
Specification of the Verity Learning Companion and Self-Assessment Tool Sergiu Dascalu* Daniela Saru** Ryan Simpson* Justin Bradley* Eva Sarwar* Joohoon Oh* * Department of Computer Science ** Dept. of
More informationIdentifying Novice Difficulties in Object Oriented Design
Identifying Novice Difficulties in Object Oriented Design Benjy Thomasson, Mark Ratcliffe, Lynda Thomas University of Wales, Aberystwyth Penglais Hill Aberystwyth, SY23 1BJ +44 (1970) 622424 {mbr, ltt}
More informationIntroduction to CRC Cards
Softstar Research, Inc Methodologies and Practices White Paper Introduction to CRC Cards By David M Rubin Revision: January 1998 Table of Contents TABLE OF CONTENTS 2 INTRODUCTION3 CLASS4 RESPONSIBILITY
More informationTHE 2016 FORUM ON ACCREDITATION August 17-18, 2016, Toronto, ON
THE 2016 FORUM ON ACCREDITATION August 17-18, 2016, Toronto, ON What do we need to do, together, to ensure that accreditation is done in a manner that brings greatest benefit to the profession? Consultants'
More informationColorado
Colorado 2012 Colorado Homeschooling Requirements: Approach Establish a homeschool Enroll in independent or private school offering home instruction comprised of at least two families Hire a private tutor
More informationEller College of Management. MIS 111 Freshman Honors Showcase
Eller College of Management The University of Arizona MIS 111 Freshman Honors Showcase Portfolium Team 45: Bryanna Samuels, Jaxon Parrott, Julian Setina, Niema Beglari Fall 2015 Executive Summary The implementation
More informationCOURSE INFORMATION. Course Number SER 216. Course Title Software Enterprise II: Testing and Quality. Credits 3. Prerequisites SER 215
**Disclaimer** This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading
More informationSocial Media Journalism J336F Unique Spring 2016
Social Media Journalism J336F Unique 07865 Spring 2016 Class: Online Professor: Robert Quigley Office hours: T-TH 10:30 to noon and by appointment Email: robert.quigley@austin.utexas.edu Personal social
More informationFirms and Markets Saturdays Summer I 2014
PRELIMINARY DRAFT VERSION. SUBJECT TO CHANGE. Firms and Markets Saturdays Summer I 2014 Professor Thomas Pugel Office: Room 11-53 KMC E-mail: tpugel@stern.nyu.edu Tel: 212-998-0918 Fax: 212-995-4212 This
More informationJava Programming. Specialized Certificate
What is Java Programming? Java is a high level object oriented programming language developed by Sun Microsystems. Oracle acquired Sun Microsystems in January of 2010 and now owns Java. Java uses the Java
More informationSMARTboard: The SMART Way To Engage Students
SMARTboard: The SMART Way To Engage Students Emily Goettler 2nd Grade Gray s Woods Elementary School State College Area School District esg5016@psu.edu Penn State Professional Development School Intern
More informationECE-492 SENIOR ADVANCED DESIGN PROJECT
ECE-492 SENIOR ADVANCED DESIGN PROJECT Meeting #3 1 ECE-492 Meeting#3 Q1: Who is not on a team? Q2: Which students/teams still did not select a topic? 2 ENGINEERING DESIGN You have studied a great deal
More informationDivision Strategies: Partial Quotients. Fold-Up & Practice Resource for. Students, Parents. and Teachers
t s e B s B. s Mr Division Strategies: Partial Quotients Fold-Up & Practice Resource for Students, Parents and Teachers c 213 Mrs. B s Best. All rights reserved. Purchase of this product entitles the purchaser
More informationEvaluation of Respondus LockDown Browser Online Training Program. Angela Wilson EDTECH August 4 th, 2013
Evaluation of Respondus LockDown Browser Online Training Program Angela Wilson EDTECH 505-4173 August 4 th, 2013 1 Table of Contents Learning Reflection... 3 Executive Summary... 4 Purpose of the Evaluation...
More informationFoothill College Summer 2016
Foothill College Summer 2016 Intermediate Algebra Math 105.04W CRN# 10135 5.0 units Instructor: Yvette Butterworth Text: None; Beoga.net material used Hours: Online Except Final Thurs, 8/4 3:30pm Phone:
More informationRETURNING TEACHER REQUIRED TRAINING MODULE YE TRANSCRIPT
RETURNING TEACHER REQUIRED TRAINING MODULE YE Slide 1. The Dynamic Learning Maps Alternate Assessments are designed to measure what students with significant cognitive disabilities know and can do in relation
More informationWORK OF LEADERS GROUP REPORT
WORK OF LEADERS GROUP REPORT ASSESSMENT TO ACTION. Sample Report (9 People) Thursday, February 0, 016 This report is provided by: Your Company 13 Main Street Smithtown, MN 531 www.yourcompany.com INTRODUCTION
More informationBest Practices in Internet Ministry Released November 7, 2008
Best Practices in Internet Ministry Released November 7, 2008 David T. Bourgeois, Ph.D. Associate Professor of Information Systems Crowell School of Business Biola University Best Practices in Internet
More informationInquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving
Inquiry Learning Methodologies and the Disposition to Energy Systems Problem Solving Minha R. Ha York University minhareo@yorku.ca Shinya Nagasaki McMaster University nagasas@mcmaster.ca Justin Riddoch
More informationAn Open Framework for Integrated Qualification Management Portals
An Open Framework for Integrated Qualification Management Portals Michael Fuchs, Claudio Muscogiuri, Claudia Niederée, Matthias Hemmje FhG IPSI D-64293 Darmstadt, Germany {fuchs,musco,niederee,hemmje}@ipsi.fhg.de
More informationImproving software testing course experience with pair testing pattern. Iyad Alazzam* and Mohammed Akour
244 Int. J. Teaching and Case Studies, Vol. 6, No. 3, 2015 Improving software testing course experience with pair testing pattern Iyad lazzam* and Mohammed kour Department of Computer Information Systems,
More informationCreating Travel Advice
Creating Travel Advice Classroom at a Glance Teacher: Language: Grade: 11 School: Fran Pettigrew Spanish III Lesson Date: March 20 Class Size: 30 Schedule: McLean High School, McLean, Virginia Block schedule,
More informationPhotography: Photojournalism and Digital Media Jim Lang/B , extension 3069 Course Descriptions
Course Descriptions Photography: Photojournalism and Digital Media Jim Lang/B105-107 812-542-8504, extension 3069 jlang@nafcs.k12.in.us http://fcmediamatters.wordpress.com Journalism I: Journalism I is
More informationThe Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry
Master s Thesis for the Attainment of the Degree Master of Science at the TUM School of Management of the Technische Universität München The Role of Architecture in a Scaled Agile Organization - A Case
More informationPage 1 of 8 REQUIRED MATERIALS:
INSTRUCTOR: OFFICE: PHONE / EMAIL: CONSULTATION: INSTRUCTOR WEB SITE: MATH DEPARTMENT WEB SITES: http:/ Online MATH 1010 INTERMEDIATE ALGEBRA Spring Semester 2013 Zeph Smith SCC N326 - G 957-3229 / zeph.smith@slcc.edu
More informationEvaluating Collaboration and Core Competence in a Virtual Enterprise
PsychNology Journal, 2003 Volume 1, Number 4, 391-399 Evaluating Collaboration and Core Competence in a Virtual Enterprise Rainer Breite and Hannu Vanharanta Tampere University of Technology, Pori, Finland
More informationComputer Organization I (Tietokoneen toiminta)
581305-6 Computer Organization I (Tietokoneen toiminta) Teemu Kerola University of Helsinki Department of Computer Science Spring 2010 1 Computer Organization I Course area and goals Course learning methods
More informationEVERYTHING DiSC WORKPLACE LEADER S GUIDE
EVERYTHING DiSC WORKPLACE LEADER S GUIDE Module 1 Discovering Your DiSC Style Module 2 Understanding Other Styles Module 3 Building More Effective Relationships MODULE OVERVIEW Length: 90 minutes Activities:
More informationHawai i Pacific University Sees Stellar Response Rates for Course Evaluations
Improvement at heart. CASE STUDY Hawai i Pacific University Sees Stellar Response Rates for Course Evaluations From my perspective, the company has been incredible. Without Blue, we wouldn t be able to
More informationInfrared Paper Dryer Control Scheme
Infrared Paper Dryer Control Scheme INITIAL PROJECT SUMMARY 10/03/2005 DISTRIBUTED MEGAWATTS Carl Lee Blake Peck Rob Schaerer Jay Hudkins 1. Project Overview 1.1 Stake Holders Potlatch Corporation, Idaho
More informationEvaluation of Learning Management System software. Part II of LMS Evaluation
Version DRAFT 1.0 Evaluation of Learning Management System software Author: Richard Wyles Date: 1 August 2003 Part II of LMS Evaluation Open Source e-learning Environment and Community Platform Project
More informationHoughton Mifflin Online Assessment System Walkthrough Guide
Houghton Mifflin Online Assessment System Walkthrough Guide Page 1 Copyright 2007 by Houghton Mifflin Company. All Rights Reserved. No part of this document may be reproduced or transmitted in any form
More informationCreating Meaningful Assessments for Professional Development Education in Software Architecture
Creating Meaningful Assessments for Professional Development Education in Software Architecture Elspeth Golden Human-Computer Interaction Institute Carnegie Mellon University Pittsburgh, PA egolden@cs.cmu.edu
More informationSummary results (year 1-3)
Summary results (year 1-3) Evaluation and accountability are key issues in ensuring quality provision for all (Eurydice, 2004). In Europe, the dominant arrangement for educational accountability is school
More informationCustom Program Title. Leader s Guide. Understanding Other Styles. Discovering Your DiSC Style. Building More Effective Relationships
Custom Program Title Leader s Guide Module 1 Discovering Your DiSC Style Module 2 Understanding Other Styles Module 3 Building More Effective Relationships by Inscape Publishing MODULE OVERVIEW Length:
More informationDIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.
DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE Sample 2-Year Academic Plan DRAFT Junior Year Summer (Bridge Quarter) Fall Winter Spring MMDP/GAME 124 GAME 310 GAME 318 GAME 330 Introduction to Maya
More informationUtilizing a Web-based Geographic Virtual Environment Prototype for the Collaborative Analysis of a Fragile Urban Area
Utilizing a Web-based Geographic Virtual Environment Prototype for the Collaborative Analysis of a Fragile Urban Area An Open-Source International Urban Design Studio organized in Brussels Burak Pak 1,
More informationFearless Change -- Patterns for Introducing New Ideas
Ask for Help Since the task of introducing a new idea into an organization is a big job, look for people and resources to help your efforts. The job of introducing a new idea into an organization is too
More informationPREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL
1 PREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL IMPORTANCE OF THE SPEAKER LISTENER TECHNIQUE The Speaker Listener Technique (SLT) is a structured communication strategy that promotes clarity, understanding,
More informationTHE WEB 2.0 AS A PLATFORM FOR THE ACQUISITION OF SKILLS, IMPROVE ACADEMIC PERFORMANCE AND DESIGNER CAREER PROMOTION IN THE UNIVERSITY
THE WEB 2.0 AS A PLATFORM FOR THE ACQUISITION OF SKILLS, IMPROVE ACADEMIC PERFORMANCE AND DESIGNER CAREER PROMOTION IN THE UNIVERSITY F. Felip Miralles, S. Martín Martín, Mª L. García Martínez, J.L. Navarro
More information1 3-5 = Subtraction - a binary operation
High School StuDEnts ConcEPtions of the Minus Sign Lisa L. Lamb, Jessica Pierson Bishop, and Randolph A. Philipp, Bonnie P Schappelle, Ian Whitacre, and Mindy Lewis - describe their research with students
More informationCopyright Corwin 2015
2 Defining Essential Learnings How do I find clarity in a sea of standards? For students truly to be able to take responsibility for their learning, both teacher and students need to be very clear about
More informationAcademic Support Services Accelerated Learning Classes The Learning Success Center SMARTHINKING Student computer labs Adult Education
Academic Affairs Gwinnett Tech provides a variety of services that support its educational programs. Supervision of these services is the responsibility of the Vice President of Academic Affairs, the director
More informationChanging User Attitudes to Reduce Spreadsheet Risk
Changing User Attitudes to Reduce Spreadsheet Risk Dermot Balson Perth, Australia Dermot.Balson@Gmail.com ABSTRACT A business case study on how three simple guidelines: 1. make it easy to check (and maintain)
More informationVorlesung Mensch-Maschine-Interaktion
Vorlesung Mensch-Maschine-Interaktion Models and Users (1) Ludwig-Maximilians-Universität München LFE Medieninformatik Heinrich Hußmann & Albrecht Schmidt WS2003/2004 http://www.medien.informatik.uni-muenchen.de/
More informationWP 2: Project Quality Assurance. Quality Manual
Ask Dad and/or Mum Parents as Key Facilitators: an Inclusive Approach to Sexual and Relationship Education on the Home Environment WP 2: Project Quality Assurance Quality Manual Country: Denmark Author:
More informationA Pipelined Approach for Iterative Software Process Model
A Pipelined Approach for Iterative Software Process Model Ms.Prasanthi E R, Ms.Aparna Rathi, Ms.Vardhani J P, Mr.Vivek Krishna Electronics and Radar Development Establishment C V Raman Nagar, Bangalore-560093,
More informationIntroduction, Organization Overview of NLP, Main Issues
HG2051 Language and the Computer Computational Linguistics with Python Introduction, Organization Overview of NLP, Main Issues Francis Bond Division of Linguistics and Multilingual Studies http://www3.ntu.edu.sg/home/fcbond/
More informationSpecification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments
Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments Cristina Vertan, Walther v. Hahn University of Hamburg, Natural Language Systems Division Hamburg,
More informationENGINEERING FIRST YEAR GUIDE
ENGINEERING FIRST YEAR GUIDE 2017/18 WELCOME FROM THE ASSOCIATE DEAN On behalf of the Faculty of Engineering, welcome to the Bachelor of Engineering Program at Dalhousie University. We are pleased that
More informationOn May 3, 2013 at 9:30 a.m., Miss Dixon and I co-taught a ballet lesson to twenty
Argese 1 On May 3, 2013 at 9:30 a.m., Miss Dixon and I co-taught a ballet lesson to twenty students. In this lesson, we engaged the students in active learning and used instructional methods that highlighted
More informationLife and career planning
Paper 30-1 PAPER 30 Life and career planning Bob Dick (1983) Life and career planning: a workbook exercise. Brisbane: Department of Psychology, University of Queensland. A workbook for class use. Introduction
More informationSTUDENT MOODLE ORIENTATION
BAKER UNIVERSITY SCHOOL OF PROFESSIONAL AND GRADUATE STUDIES STUDENT MOODLE ORIENTATION TABLE OF CONTENTS Introduction to Moodle... 2 Online Aptitude Assessment... 2 Moodle Icons... 6 Logging In... 8 Page
More information