Description
The goal of the subject is twofold. For one hand, it introduces student in one of the most relevant methodologies for the lightweight software development: Extreme Programming (XP). On the other hand, the subject introduces student in the development of .NET applications, and it shows the student how to apply XP in this software approach.
Type Subject
Optativa
Semester
First
Credits
5.00
Previous Knowledge

Knowledge related to the software development

Objectives

- Capacity for analysis and synthesis
- Capacity for organization and planning
- Basic general knowledge
- Information management skills (ability to retrieve and analyze information from different sources)
- Problem solving
- Decision-making
- Basic general knowledge in the educational context
- Knowledge in any educational specialization
- Critical and self-critical abilities
- Teamwork
- Ability to work in an interdisciplinary team
- Capacity for applying knowledge in practice
- Research skills
- Capacity to learn
- Capacity to adapt to new situations
- Capacity for generating new ideas (creativity)
- Leadership
- Understanding of cultures and customs of other countries
- Project design and management
- Concern for quality and continuing education
- Will to succeed

Contents

Part 1: Extreme Programming
Chapter 1. Introduction to the XP basis
Chapter 2. The XP in action
Chapter 3. Development of a project using XP
Chapter 4. Using the XP tools
Chapter 5. Rolling out XP in an organization
Chapter 6. Extending the use of XP

Part 2: .NET i la Programació Extrema
Chapter 7. Introduction to the .NET technologies
Chapter 8. Programming in C#
Chapter 9. Using XP in the C# application development

Methodology

The methodology used in this subject separates the classes in two types: theoretical and practical.

During the course, the teacher provides the theoretical concepts from the subject in the lectures. In these classes the teacher also solves exercises where the concepts given are directly applied. The proportion of time dedicated to each one of these tasks during the lectures is approximately 50% to the explanation, and the other 50% to problems resolution.

At the end of each topic, the professor suggests exercises which must be solved by the students individually or in group. During this time, the teacher helps student to start the exercises. Later, students finish them at home and optionally hand them in to the teacher.

The practices hours are about 40 extra hours during the course besides the ones dedicated to class, where the knowledge acquired in the theoretical classes is put into practice. Students form groups of three people to do the assignments, where a good domain and understanding of the theory explained in class are required to be able to design, implement and present a proposal of a mini-project proposed by the teacher. All these works are evaluated by means of a practical demonstration and an interview with the teacher in order to evaluate the level of cooperation among the members of the group. The best works are presented in class and they imply an extra mark for the work and the effort dedicated by the members of the group.

To improve the student's results, they can make personal questions about the subject at a contents level or to do with anything related (studying methods, study hours planning, practical designs, and correction of proposed problems...)

Evaluation

The subject is divided in two clearly different parts: a theoretical part and a practical part. Each one of these parts is evaluated separately and they must both be passed separately in order to pass the subject.

The final mark is the weighted sum of the regular evaluation (30%) and of the practice mark (70%). The regular evaluation is computed using the work done in class and the participation of the student. The mark for the extraordinary convocation is maximum 8.

Evaluation of the theoretical part:
D. Assignments done at home
J. Homework

Evaluation of the practical part:
D. Homework
F. Reports/Assignments done in groups
G. Practical work done on the computer
I. Presentations

The mark of the practical part is computed through a practical work done by the student which must be handed in to the teacher at the end of the course in the established terms. The mark is evaluated according to their quality, methodology, functionality, understanding and clarity of the presentation. The best work in the have an additional point in the final practices mark.

Final Mark = 30% (Regular Evaluation) + 70% (Practical Mark + additional point)

Evaluation Criteria

- Capacity for analysis and synthesis [A,C,D,F,I]
- Capacity for organisation and planning [F,G]
- Basic general knowledge [A,C,D,F,I,J,L]
- Information management skills (ability to retrieve and analyse information from different sources) [D,G]
- Problem solving [A,D,G,L]
- Decision-making [A,F]
- Basic general knowledge in the educational context [A,C,D,F,I,J,L]
- Knowledge in any educational specialization [A,C,D,F,I,J,L]
- Critical and self-critical abilities [D,I,J,L]
- Teamwork [F]
- Ability to work in an interdisciplinary team [F]
- Capacity for applying knowledge in practice [D,G]
- Research skills [D,G]
- Capacity to learn [D,F,G]
- Capacity to adapt to new situations [D,F,G,L]
- Capacity for generating new ideas (creativity) [D,J,L]
- Leadership [F,I]
- Ability to work autonomously [D]
- Project design and management [D,F,G]
- Concern for quality and continuing education [D,F,G]
- Will to succeed [D,F,G]

Basic Bibliography

-Stewart Baird. Sams Teach Yourself Extreme Programming in 24 Hours. Sams, 1st edition 2002). ISBN ISSBN: 978-0672324413
-James W. Newkirk and Robert C. Martin. Extreme Programming in Practice. Addison-Wesley Professional (2001). ISBN ISSBN: 978-0201709377
-Neil Roodyn. eXtreme .NET: Introducing eXtreme Programming Techniques to .NET Developers. Addison-Wesley Professional (2004). ISBN ISSBN: 978-0321303639
-Ron Jeffries. Extreme Programming Adventures in C#. Microsoft Press (2004). ISSBN: 978-0735619494
-Doug Wallace, Isobel Raggett, Joel Aufgang. Extreme Programming for Web Projects. Addison-Wesley Professional (2002). ISSBN: 978-0201794274
- Ian Sommerville. Ingeniería del Software. 8ª edición. Pearson Addison-Wesley (2006). ISBN: 978-0321313799
- Jonathan Arnowitz. Effective Prototyping for Software Makers (Interactive Technologies), Morgan Kaufmann (2006). ISBN: 978-0120885688

Additional Material

- Glenn Niemeyer. Extreme Programming with Ant: Building and Deploying Java Applications with JSP, EJB, XSLT, XDoclet, and JUnit. Sams, 1st edition (2003). ISBN ISSBN: 978-0672325625
- Richard Hightower, Warner Onstine, Paul Visan, Damon Payne, Joseph D. Gradecki. Professional Java Tools for Extreme Programming: Ant, XDoclet, JUnit, Cactus, and Maven (Programmer to Programmer). Wrox (2004). ISBN ISSBN: 978-0764556173
- Eric M. Burke, Brian M. Coyner. Java Extreme Programming Cookbook. O'Reilly Media, Inc., 1 edition (2003). ISSBN: 978-0596003876
- Martin Fowler. Refactoring—Improving the Design of Existing Code. Addison Wesley (1999). ISBN ISSBN: 978-0201485677.
- Steve McConnell. Rapid Development: Taming Wild Software Schedules. Microsoft Press (1996). ISBN ISSBN: 978-1556159008
- Scott Ambler. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. Wiley (2002). ISBN ISSBN: 978-0471202820
- Jesse Tilly and Eric M. Burke. Ant: The Definitive Guide. O'Reilly & Associates (2005). ISBN: 978-0596006099