EXAMPLE-BASED LEARNING: DEVELOPMENT OF BUSINESS APPLICATIONS WITH .NET TECHNOLOGIES APRENDIZAJE BASADO EN EJEMPLOS: DESARROLLO DE APLICACIONES EMPRESARIALES CON TECNOLOGÍAS .NET

For a long time, J2EE has been the dominating framework for the development of business applications. This fact resulted in a rich ecosystem of tools, manuals, tutorials, etc. that explain different implementation alternatives or peculiarities. The incursion of .NET Framework in the business environment has generated a strong demand of application implementation under this architecture. However, the quantity and quality of documents available significantly differs from its main alternative (J2EE). This documentation gap is especially visible and worrying when the objective is to teach the concepts of Framework, from a teacher’s point of view, to the future graduates of the Information Systems Engineering program. This paper describes the teaching approach used in order to achieve the goal of having the students become familiar with this alternative framework and the usual model practices within it. Thus, it is based mainly on a set of basic tutorials that show the foundations of technology and two complete applications (miniportal and minibank) explaining how to apply design patterns when developing a business solution.


INTRODUCTION
"Development Framework" is a mandatory course in the 4th year of the Information Systems Engineering program. It is a fourmonth course, and has a total of 6 ECTS credits.
These are divided into 3 credits for expository instruction (lectures), and 3 for interactive instruction, which translates into 21 lecture hours and 90 practice hours for students.
This also includes the estimated work outside lab hours. Thus, this is a fundamentally practical course in the last year, which seeks to familiarize the future alumni of the Information Systems Engineering program with the usual exercises they will encounter in the labor market.
The curriculum presents this course as a complement to "Advanced Programming," where students see the J2EE framework. This research also improves the students' training by showing them the .NET technologies' point of view (Grimes, 2002). Additionally, as it complements another course as mentioned above, it is possible to emphasize the differences with the framework seen by the students previously.  (Bugeja, 2007).
Due to the extension and complexity of the practical assignment, its submittal in parts makes it possible for a larger number of students to meet deadlines and to reduce dropouts. This follows the typical strategy of methodological evolution for spiral software projects (Boehm, Madachy & Steece, 2000), which we also seek to make students become familiar with, since it is one of the most popular in the labor market.

EVALUATION METHODOLOGY
The largest weight is on the practical assignment. Therefore, more emphasis is put on the practical aspect when evaluating students.
As already commented on, the progress of the practical assignment during the course is divided in two submittal dates. In the first, which is not graded, the initial part is implemented. With this, they are assigned an individual grade, which is the most important grade in the course.
In order to guarantee the complete correction of the practical assignment and for it to be consistent in all the groups, the same scheme is used, based on the appropriate verification of a series of control points. This correction is guided by a checklist in order to verify the completion of a series of aspects in the assignment, although, evidently, it will depend on some aspects of the practical assignment proposed each year. As an example, you can review one of these checklists in Attachment I in a more detailed manner.
Additionally, upon correction of the practical assignment, instructors will revise the quality of the report delivered or the remaining documents in more detail. To do this, based on the checklist notes, during the correction of the assignment, we will use a simplified document allowing for the final evaluation based on a The persistence layer is implemented, first, through one of the framework classic technologies to connect to a data base, as the ADO.NET protocol. To do this, we use the MiniPortal application as an example, as mentioned before. This is a complete web application that implements a portal allowing user registry and authentication. Figure 2 shows the main business objects. This is one of the requirements that the students' practical assignment must meet, so the example provided should be reused with minimal changes.

Implementing View and Controller with ASP.NET
Once the design has been implemented, during the second submittal of the practical assignment, students implement the application's web layer, i.e. data presentation and the way it interacts with the business logic previously created.
In order to do this, they follow MVC and then implement the application's controller and view with ASP.NET. Additionally, they are introduced another series of good practices when developing layers and strategies (Andrew and Schafer, 2006).   We seek to make our students knowledgeable of the current development trend and to make them experience, firsthand, a usual process in information technology increase, as is technology migration. Additionally, this change seeks to make them aware of the advantages implied in the separation of design layers, as changes will be limited to a certain section, without modifying codes or altering the functions of upper layers.

EVALUATION
As discussed earlier, this course is eminently practical. Therefore, evaluation is based on that aspect. In consequence, instructors evaluate the practical assignment after its submittal. The Additionally, students will render a test.
The objective of this evaluation is to determine if the student acquired the concepts correctly.
The test is composed of a series of multiple questions, where only one answer is correct.
Unanswered questions obtain no points, and those answered incorrectly subtract points.
In order to pass the course you must: (1) have obtained at least 5 over 10 for the web application, and (2)