=Paper= {{Paper |id=None |storemode=property |title=A Draft Web Engineering Curriculum Pattern |pdfUrl=https://ceur-ws.org/Vol-607/paper6.pdf |volume=Vol-607 }} ==A Draft Web Engineering Curriculum Pattern== https://ceur-ws.org/Vol-607/paper6.pdf
          A Draft Web Engineering Curriculum Pattern

                                      Antonio Navarro

                     Dpto. Ingeniería del Software e Inteligencia Artificial
                            Universidad Complutense de Madrid
                                   28040, Madrid, Spain
                                     anavarro@fdi.ucm.es



       Abstract. The implementation of higher education studies is not a simple
       matter. However the presence of specialized curriculum recommendations can
       make implementation easier. Web engineering is an important discipline that is
       well worth the implementation of higher education studies, but, at present, no
       specialized curriculum recommendations on this subject have been developed.
       This paper gives voice to some thoughts about web engineering and its
       relationship with software engineering and information systems. In addition, a
       draft curriculum recommendation for web engineering is proposed.

       Keywords: curriculum recommendation, software engineering, information
       systems




1 Introduction

The implementation of higher education studies is far from being a simple matter. In
recent years, the development of the European Space for Higher Education [1] has
promoted the renewal of higher education curricula in several European countries. For
example, in Spain, the whole structure of university studies has changed. Thus,
degrees with a duration of three and five years have been replaced by degrees lasting
four years plus Master’s studies.
   Indeed, our own university has changed its curricula and now offers three different
degrees in computer science. During the development of these degrees, the presence
of computer science curricula authored by ACM/AIS/AITP/IEEE-CS [2] facilitated
implementation to a significant extent.
   Web engineering is an important discipline that is attracting the interest of
students, academics and industry [3, 4, 5, 6, 7, 8, 9, 10, 11]. Therefore, the
implementation of higher education studies in web engineering is a reasonable effort
that ought to be carried out by educational institutions. However, at present, no
specialist curriculum recommendations on web engineering have been put forward by
any international organization. Only some isolated efforts have been made by
individuals [12, 13, 14]
   One major obstacle in the development of these specialist curriculum
recommendations on web engineering is agreement about what web engineering is.
Some authors hold that web engineering is a new emerging discipline in its own right,
rather than one that is subsumed under software engineering [5, 15]. However, this
finding does not in itself define the nature of web engineering. Taking into account
the different disciplines that make up web engineering [4, 5, 9] a set of constituent
disciplines has been proposed [16].
   This paper reviews these constituent disciplines and their relationships with
available curriculum recommendations and expresses some thoughts about the
development of curriculum recommendations on web engineering. For the sake of
conciseness, only curriculum recommendations from ACM/AIS/AITP/IEEE-CS are
reviewed.
   Thus, in Section 2 these constituent disciplines are reviewed. In Section 3 some
ACM/AIS/AITP/IEEE-CS curriculum recommendations are reviewed. In Section 4 a
draft curriculum pattern for the web engineering discipline is defined. Finally, our
conclusions and future work are outlined.


2 Constituent Disciplines of the Web Engineering Discipline

     Several authors have proposed that web engineering is a discipline made up of
different heterogeneous disciplines [4, 5, 9]. The study referred to in [16] takes these
proposals into account, as well as some topics included in different journals and
conferences focusing on web engineering, and proposes a set of constituent
disciplines of web engineering disciplines. These disciplines are:

        Accessibility.
        Agents.
        Document and text processing.
        e-commerce.
        e-learning.
        Hypermedia and hypertext.
        Human-computer interaction.
        Information systems.
        Programming languages.
        Semantic web.
        Software engineering.
        Web engineering fundamentals.
        Security.
        Others.

    However, these disciplines do not have the same relevance in the web
engineering discipline. In order to obtain an approximate idea of the influence of
every constituent discipline more than seven hundred papers on web engineering were
classified in [16]. Two classifications were made: (i) considering only one main
indexing discipline; and (ii) considering up to three indexing disciplines. Table 1
displays the results.
Table 1. Number of papers per constituent discipline of web engineering [16]

    Discipline                         Number      of     papers    Number      of     papers
                                       (percentage) considering     (percentage*)
                                       one     main     indexing    considering up to three
                                       discipline                   indexing disciplines
    Software Engineering                            279 (38.9%)                  329 (45.8%)
    Information Systems                               98 (13.6%)                 211 (29.4%)
    Semantic web                                       68 (9.5%)                   82 (11.4%)
    Human-Computer Interaction (HCI)                   31 (4.3%)                    52 (7.2%)
    Document and text processing                       29 (4.0%)                    64 (8.9%)
    e-learning                                         29 (4.0%)                    31 (4.3%)
    Agents                                             22 (3.1%)                    28 (3.9%)
    Hypermedia and hypertext                           20 (2.8%)                    33 (4.6%)
    e-commerce                                         16 (2.2%)                    21 (2.9%)
    Security                                           16 (2.2%)                    24 (3.3%)
    Accessibility                                      13 (1.8%)                    22 (3.1%)
    Web engineering fundamentals                         9 (1.3%)                    9 (1.3%)
    Programming languages                                6 (0.8%)                   10 (1.4%)
    Others                                            82 (11.4%)                   82 (11.4%)
    TOTAL                                            718 (100%)                            n/a

   *percentage of 718 papers
     The previous analysis does not attempt to conduct an exhaustive classification
and indexing of web engineering literature. The analysis does not aim to precisely
rank constituent disciplines of web engineering by order of importance either. Its
principal aim is to obtain an approximate view of the importance of every constituent
discipline in web engineering. Thus, the analysis clearly indicates that software
engineering is a very important part of the web engineering discipline. In addition, it
indicates that information systems are another important discipline in web
engineering. But of course, these are not the only constituent disciplines.
     Therefore, it is reasonable to derive from [16] that software engineering and
information systems are two of the most important disciplines in web engineering.
Fortunately, ACM/AIS/AITP/IEEE-CS have provided curriculum recommendations
for these two disciplines. The next section provides a brief review.


3 Curriculum Recommendations

ACM/AIS/IEEE-CS Computing Curricula 2005 (CC2005) provides undergraduate
curriculum guidelines for five defined sub-disciplines of computing: Computer
Science, Computer Engineering, Information Systems, Information Technology, and
Software Engineering [2]. In addition, specific curriculum recommendations are
provided for every sub-discipline of computing. This section briefly reviews the
curriculum recommendations for software engineering and information systems.
3.1 ACM/IEEE-CS Software Engineering 2004

ACM/IEEE-CS Software Engineering 2004 (SE2004) provides curriculum guidelines
for undergraduate degree programs in software engineering [17]. SE2004 defines
SEEK (Software Engineering Education Knowledge), the body of knowledge that is
appropriate for an undergraduate program in software engineering. SEEK is divided
into knowledge areas, units and topics. The knowledge areas identified by SE2004
are: computing essentials, mathematical and engineering fundamentals, professional
practice, software modelling and analysis, software design, software verification and
validation, software evolution, software process, software quality, software
management. In addition, SE2004 identifies different curriculum patterns, described
in terms of courses, which ultimately cover topics.
     Table 2 depicts a curriculum pattern for a software engineering degree taught in a
computer science department.

Table 2. Curriculum pattern N2S-1c - in a computer science department [17]

           Year 1                          Year 2                        Year 3                    Year 4
  Sem 1A           Sem 1B          Sem 2A          Sem 2B         Sem 3A        Sem 3B     Sem 4A         Sem 4B
   CS101            CS102          CS103           CS220          CS226         CS270T     SE400          SE400
   Calc 1           Calc 2         CS106            SE A          MA271          SE D       SE F         Tech elect
   NT181            CS105           SE201          SE212           SE C          SE E     Tech elect     Tech elect
  Physics          Any sci         NT272          Linear Al       NT291        Tech elect Tech elect     Tech elect
  Gen ed            Gen ed            --           Gen ed         Gen ed        Gen ed     Gen ed         Gen ed
CS101:Programming fundamentals; CS102: Object-oriented paradigm; CS103: Data structures and algorithms; CS105:
Discrete structures I; CS106: Discrete structures II; CS220: Computer architecture; CS226: Operating systems and
networking; CS270T: Databases; Calc n: Calculus n; SE 201: Introduction to SE; SE212: SE Approach to HCI; SE A, C,
D, E, F: additional SE courses; SE400: SE capstone project; MA271: Statistics and empirical methods for computing;
NT181: Group dynamics and communication; NT272: Engineering economics; NT291: Professional SE practice; Tech
elect: technical elective course; Gen ed: general non-technical course.




3.2     ACM/AIS/AITP Information Systems 2002

ACM/AIS/AITP Information Systems 2002 (IS2004) provides curriculum guidelines
for undergraduate degree programs in information systems [18]. The architecture of
the information systems curriculum at the highest level consists of five curriculum
presentation areas: information systems fundamentals, information systems theory
and practice, information technology, information systems development, and
information systems deployment and management processes. The five presentation
areas consist of ten courses and one prerequisite course.
   Fig. 1 depicts these ten courses and their dependences.
                                                 IS 2002.P0
                                                 Personal Productivity
                                                 with IS Technology




                                                 IS 2002.1
                                                 Fundamentals of
                                                 Information Systems




    IS 2002.2              IS 2002.3             IS 2002.4               IS 2002.5              IS 2002.7
    E-Business Strategy,   Information Systems   IT Hardware and         Programming, Data,     Analysis and Logical
    Architecture, and      Theory and Practice   System Software         File and Object        Design
    Design                                                               Structures




                                                 IS 2002.6                           IS 2002.8
                                                 Networks and                        Physical Design and
                                                 Telecommunications                  Implementation with
                                                                                     DBMS




                                                                          IS 2002.9               IS 2002.10
                                                                          Physical Design and     Project Management
                                                                          Implementation in       and Practice
                                                                          Emerging
                                                                          Environments




Fig. 1. Courses in IS2002 and their dependences [18]




4 A Draft Web Engineering Curriculum Pattern


4.1 Curriculum Pattern

The development of a curriculum pattern is not an easy task. The patterns provided in
the curriculum recommendations put forward by ACM/AIS/AITP/IEEE-CS are large
documents made by teams of experts in every area. Therefore, the curriculum pattern
provided in this paper is not comparable to the curriculum patterns contained in
ACM/AIS/AITP/IEEE-CS recommendations. However, taking into account the work
done in [16], and the excellent work carried out in ACM/AIS/AITP/IEEE-CS
recommendations, it is reasonable to propose a draft curriculum pattern that merges
the curricula provided by SE2004 and IS2002. Table 3 displays such a curriculum
pattern.
Table 3. A Draft Web Engineering Curriculum Pattern

          Year 1                     Year 2                 Year 3                        Year 4
  Sem 1A           Sem 1B      Sem 2A      Sem 2B     Sem 3A      Sem 3B        Sem 4A             Sem 4B
   CS101           CS102       CS103        CS220     CS226        SE D     SE400/IS2002.10    SE400/IS2002.10
   Calc 1           Calc 2     CS106        SE A      MA271        SE E          SE F             IS2002.8
NT181/NT272        CS105        SE201       SE212      SE C      IS2002.7      IS2002.6           IS2002.9
  Physics         Linear Al   IS2002.1    IS2002.2   IS2002.3     WE202         WE3xx              WE3xx
  Gen ed         IS2002.P0     WE101       NT291      WE201       Gen ed        WE3xx              Gen ed


   Regarding the software engineering curriculum pattern described in Table 2 and
the information systems courses described in Fig. 1:
         NT272 Engineering economics has been moved from Sem 2A to Sem 1A
             and has been merged with NT181 Group dynamics and communication.
         NT291 Professional SE practice has been moved from Sem 3A to Sem 2B.
         Linear Algebra has been moved from Sem 2B to 1B.
         CS270T Databases has disappeared. The inclusion of courses belonging to
             IS2002 makes the presence of course CS270 on databases unnecessary.
         IS2002.4 IT hardware and system software has disappeared. The presence of
             computer science courses (cs22x) makes course IS2002.4 on computer
             architecture unnecessary.
         IS2002.5 Programming, data, file and object structures has disappeared. The
             presence of computer science courses (CS10x) makes course IS2002.5
             about programming and data structures unnecessary.
         SE400 SE capstone project and IS2002.10 Project management and practice
             have been merged. The capstone project on software engineering can be
             merged with the capstone project on information systems. Of course, the
             project should be a web engineering project.
   In addition, specific courses on web engineering have been added. These courses
have been selected taking into account the skills needed for the development of web
applications and the constituent disciplines of web engineering identified in [16]:
         WE101 Web engineering fundamentals. This introductory course presents
             the web and introduces fundamental concepts such as: HTML, HTTP
             protocol, web servers, etc. Shklar’s book [19] can be a valuable reference
             for this course.
         WE201 Web programming. This course aims to teach how to build web
             applications using an advanced programming language. For example, if
             J2EE is chosen, [20, 21] can be valuable references. WE101 is a
             prerequisite for this course.
         WE202 Components and service oriented architectures. This is an advanced
             course about distributed components and service oriented architectures.
             Again, if J2EE is chosen, [22, 23] can be valuable references. WE201 is a
             prerequisite for this course.
         Courses WE3xx: These are courses on specific web engineering topics [16].
             Because the capstone project is under development in the last year we
           think that the teaching load should be lightened; these, therefore, could be
           introductory courses. Master’s and doctoral programs could provide
           deeper descriptions of these courses. In particular, we propose ten courses
           with (at least) a representative reference:
                o WE301: Accessibility [24].
                o WE302: Agents [25].
                o WE303: Document and text processing [26].
                o WE304: e-commerce [27]
                o WE305: e-learning [28].
                o WE306: HCI for the web [29, 30].
                o WE307: Hypermedia and hypertext [31].
                o WE308: Security [32].
                o WE309: Semantic web [33].
                o WE310: Web 2.0 [34].

   Software engineering courses should be reviewed according to [16] to include
specific web engineering issues. A similar effort should be made with information
systems courses. Thus, these courses should pay attention to specific web engineering
issues such as: web project management; web design, site design and development;
and legal and ethical issues (copyright). In addition, the duration of every course
could be changed in order to fulfil the scheduling requirements of every educational
institution.
   The web engineering curriculum pattern depicted in Table 3 may be a bit dense.
Removing advanced courses in software engineering and information systems could
be a simple way to lighten it. General non-technical courses could be taught instead.
     SE2004 also includes significant additional sections: Software Engineering as an
Engineering Discipline, Professional Practice, Guiding Principles (for the
development of SE2004) and Student Outcomes. We agree with the underlying
philosophical message of these sections. Therefore, they could be adapted and
included in a curriculum recommendation for web engineering.
   IS2002 also includes significant additional sections: Principles Guiding the
Curriculum Design, Guiding Assumptions about the Information Systems Profession,
and Exit Characteristics of Information Systems graduates. As in the case of SE2004,
we agree with the underlying philosophical message of these sections. Therefore, they
could be adapted and included in a curriculum recommendation for web engineering.


4.2 Related Web Engineering Curriculum Recommendations

   Regarding the available web engineering curriculum recommendations, it is
important to observe that, as the curriculum proposed in this paper, none is made by a
major organization.
   The curriculum proposed in this paper is an undergraduate degree program, while
the curriculum proposed in [12] is a Master’s program. Both programs lay emphasis
on software engineering and information systems. [12] also identifies Networking as
an important element. This element is covered in the curriculum proposed in this
paper by courses CS226 Operating systems and networking and IS2002.6 Networks
and telecommunications.
   A framework for a web engineering curriculum is defined in [13]. Therefore, the
work carried out in [13] is more abstract than that presented in this paper. However,
the courses proposed in this paper fit quite well into the framework proposed in [13].
   Finally, in [14] an undergraduate web engineering program is also proposed. The
courses proposed in this paper are in tune with the courses proposed in [14].
However, eighteen courses are proposed in [14], while more than forty courses are
proposed in this paper. Therefore, our approach is more detailed.


5    Conclusions and future work

The development of a curriculum recommendation is not an easy task. According to
the constituent disciplines of web engineering, this paper has proposed a draft
curriculum pattern for web engineering.
   This curriculum pattern could be reviewed and lightened to be made more
attractive for both students and teachers. In addition, software engineering and web
engineering courses must be adapted to the specific nature of the web engineering
discipline.
   However a question arises on analyzing the proposed curriculum pattern: is a web
engineer a programmer with a solid foundation in software engineering and
information systems that is able to build web applications and is aware of
technologies used in web development? If the answer is yes, the proposed curriculum
could serve as a basis for the development of web engineering curriculum
recommendations. Otherwise, a concise definition of what a web engineer is should
be formulated.
   A final conclusion is that, in our opinion, the course structure presented in SE2004
is more useful and detailed than the one presented in IS2002. Therefore, if a web
engineering curriculum recommendation is made, the structure defined in SE2004
would be preferable to the one defined in IS2002.
   Finally, we think that future work should include the development of web
engineering undergraduate curriculum recommendations by a major worldwide
organization. In addition, the development of Master’s and doctoral programs should
be analysed.

Acknowledgments. El Ministerio de Ciencia e Innovación (TIN2009-14317-C03-
01/TSI), La Comunidad Autónoma de Madrid (S2009/TIC-1650) and La Universidad
Complutense de Madrid (Group 921340) have supported this work.




References

1. The Bologna Declaration on the European space for Higher Education: An Explanation,
   http://ec.europa.eu/education/policies/educ/bologna/bologna.pdf
2. ACM/AIS/IEEE-CS           Computing      Curricula    2005.    The     Overview    Report,
   http://www.acm.org/education/education/curric_vols/CC2005-March06Final.pdf (2005).
3. Deshpande, Y., And Hansen, S.: Web Engineering: Creating a Discipline among
   Disciplines. IEEE MultiMedia 8, 82--87 (2001).
4. Deshpande, Y. Murugesan, S., Ginige, A., Hansen, S., Schwabe, D., Gaedke, M., White, B.:
   Web Engineering. Journal of Web Engineering 1, 3--17 (2002).
5. Ginige, A., and Murugesan, S.: Guest Editors' Introduction: The Essence of Web
   Engineering-Managing the Diversity and Complexity of Web Application Development.
   IEEE MultiMedia 8, 22--25 (2001)..
6. Kappel, G., Pröll, B., Reich, S., Retschitzegger W. (Eds.): Web Engineering: The Discipline
   of Systematic Development. John Wiley & Sons Inc., Chichester (2006).
7. Mendes, E., Mosley, N. (Eds.): Web engineering. Springer-Verlag, Berlin (2005).
8. Murugesan, S., Deshpande, Y. (Eds.): Web Engineering: Managing Diversity and
   Complexity of Web Application Development. LNCS 2016, Springer-Verlag, Berlin (2001).
9. Murugesan, S., Deshpande, Y., Hansen, S., Ginige, A.: Web Engineering: A New Discipline
   for Development of Web-Based Systems. In Web Engineering: Managing Diversity and
   Complexity of Web Application Development, S. Murugesan, and Y. Deshpande, Eds.
   LNCS 2016, Springer-Verlag, Berlin, (2001).
10.Rossi, G., Pastor, O., Schwabe, D. Olsina, L. (Eds.): Web Engineering: Modelling and
   Implementing Web Applications. Springer (2007).
11.Suh, W. (Ed.).: Web Engineering Principles and Techniques. Idea Group Publishing,
   Hershey (2005).
12.Whitehead, E.J. Jr.: A proposed curriculum for a masters in web engineering. Journal of
   Web Engineering 1(1), 18--22 (2002).
13.Deshpande, Y.: Web engineering Curriculum: A case Study of an Evolving Framework.
   ICWE 2004, LNCS 3140, 526--530 (2004).
14.Esterline, A.C., Williams, K.A., Carr, E.C.: An Undergraduate Web Engineering Program,
   http://redux.comp.ncat.edu/carr/web_engineering/SIGCSE_Web.pdf
15.Pressman, R.S.: Software Engineering: A Practitioner’s Approach. 6th edition. McGraw-
   Hill, New York, (2004).
16. Navarro, A.: A SWEBOK-based Viewpoint of the Web Engineering Discipline. Journal of
   Universal Computer Science, 15(17) 3169--3200 (2009).
17.ACM/IEEE-CS                       Software                 Engineering               2004,
   http://sites.computer.org/ccse/SE2004Volume.pdf (2004).
18.ACM/AIS/AITP IS 2002 http://www.acm.org/education/education/curric_vols/is2002.pdf
   (2002).
19.Shklar, L., Rosen, R.: Web Application Architecture: Principles, Protocols and Practices.
   John Wiley & Sons Inc., Chichester, (2003).
20.Hall, M., Brown, C:. Cores Servlets and JavaServer Pages: Core Technologies, Vol. 1 (2nd
   edition). Prentice Hall (2003).
21.Hall, M., Brown, C., Chaikin, Y.: Core Servlets and JavaServer Pages: Advanced
   Technologies, Vol. 2 (2nd edition). Prentice Hall (2007).
22.Rubinger, A.L., Burke, B., Monson-Haefel, R.: Enterprise JavaBeans 3.1. O’Reilly (2010).
23.Kumar, B.,V. Narayan, P., Ng, T.: Implementing SOA Using Java EE. Addison-Wesley
   Professional (2010).
24.Thatcher, J. et al.: Web Accessibility: Web Standards and Regulatory Compliance. friends
   of ED (2006).
25.Wooldridge, M.: An Introduction to MultiAgent Systems. Wiley (2009).
26.Holzner, S.: XML: A Beginner’s Guide: Go Beyond the Basics with Ajax, XHTML, XPath
   2.0, XSLT 2.0 and XQuery. McGraw-Hill Osborne Media (2008).
27.Laudon, K., Guercio Traver, C. E-commerce 2010. Prentice Hall (2009).
28.Carliner, S., Shank, P. The E-Learning Handbook: A Comprehensive Guide to Online
   Learning. Pfeiffer (2008).
29.McCraken D., Wolfe R.J., Spool, J.M.: User-Centered Website Development: A Human-
   Computer Interaction Approach. Prentice Hall PTR (2003).
30.Nielsen J., Pernice, K.: Eyetracking Web Usability. New Riders Press (2009).
31.Lowe, D., Hall, W.: Hypermedia and the Web: An Engineering Approach. Wiley (1999).
32.Daswani, N., Christoph, K., Kesavan, A.: Foundations of Security: What Every Programmer
   Needs to Know. Apress (2007).
33.Segaran T., Evans, C., Taylor, J.: Programming the Semantic Web. O’Reilly Media (2009).
34.Governor, J., Hinchcliffe, D., Nicknull, D.: Web 2.0 Architectures: What Entrepreneurs and
   Information Architects Need to Know. O’Reilly (2009).