Awakening Rip Van Winkle
Modernizing
M d i i
the
Computer S i
C     t Science
Web Curriculum

Randy Connolly
Mount R
M     Royal U i
          l University
                   i
In the past decade,
the world of web development,
has experienced a remarkable
transformation
t    f    ti
The web development topics in the
ACM Computer Science Curriculum
barely changed from 2001 to 2008.
FURTHERMORE
Almost all of the topics
recognizable as pertaining to the
field of web development are
marked as elective topics
in the CS 2008 curriculum.
There has been a real dearth
of research on the teaching of
web topics.
   b    i
Lee [2003]
“there is a surprisingly
small number of universities
that offer a serious web programming
                         p g       g
course for the
advanced computer science student”




Steep [
    p [2009]
           ]
most universities still don’t cover web
development in their computer science
p g
programs, but do so in their IS or IT one
Given the importance of web technology
in the real world of software development,
This relative lack of interest
in the
i th web b computer science
       b by     t     i


is somewhat surprising.
Number of
                                       Web-Based
                                       Software
                                       Development
                                       Jobs


Number of Non-Web
Software Development
Jobs


    Based on searches in Oct + Nov 2010 on monster.com and simplyhired.com
The papers that do exist
generally begin by stressing
the
th many diffi lti
        difficulties
in teaching a web development course.
“teaching a web development course
 to computer students is challenging
  because of
  large bodies of knowledge
                  knowledge,
  rapidly changing technologies,
  demanding support infrastructures and
                                 ”
  diverse background of audiences.
One researcher
has labeled the
web application
course the




                  “Unteachable Class”
                   Unteachable Class
Examining the literature,
web content is usually being taught using the
broad but shallow
All-the-Web-in-One-Course (AWOC)
 ll h     b
approach
Of CS web education papers reported
       A single web course



16%    Web taught in CS0 or elective


12%    Javascript in CS1/CS2



12% Multicourse stream on web
Given the importance of web systems,
            p                y     ,

the time has come for




             retiring the AWOC approach
While the AWOC approach does give students
a sense of the big picture of web development,
                 gp                     p    ,
it by no means provides the students
with anything approaching proficiency
in contemporary practice.
Back in the early 1970s, a math program
might have had a single course in
   g                 g
programming in Fortran,
but eventually it was recognized that a body
of knowledge as complex as programming
requires multiple courses to teach the
material properly.




Web development
should be in a
similar state today
Why not?
Because web development is
characterized by peculiar combination of

change
and
persistence
2009-       Frameworks + Platforms
            (WordPress,JQuery,Sharepoint,etc)



2006-2009
2006 2009   AJAX + REST/JSON services

            Semantic Web Standards +
2003-2006
2003 2006   CSS (positional) +
            PHP/ASP.NET

            CSS (simple) +
1999-2002   Javascript (simple) +
            ASP/JSP +
            Usability


1995-1998   HTML + CGI + Graphics
For those stuck with the AWOC approach
it will become increasingly
difficult to keep the course
comprehensive
and
relevant
Because of the time
limitations of the
AWOC approach, the
content in these
single web courses
 i gl     b
increasingly seem
like they are …
partying
like it’s
1999
We teach the
web stream
in three courses …

… th gh it could
  though       ld
be done in two.
First
Fi t
Course
The focus in this course is
mainly on th client
    i l    the li t
(
(i.e., the browser)
      ,            )
How the web works.

XHTML with an emphasis on web standards, accessibility,
and semantic markup
                  p

CSS – not just styling but also positioning and layout

Digital media.

Information architecture and usability

Very brief (one week) introduction to Javascript
                                      Javascript.

Intro (two weeks) to server-side development with PHP.
      (         )                      p
HTML
Not just the details
(which are trivial)
but also how to do
semantic separation
of content from
presentation.
CSS coverage in AWOC courses is
often quite minimal.
             For instance,
             Adams and Noonan both report half a
             week for covering CSS, while Wang
             reports one lecture and one lab.
               p
However, due to
practitioners
practitioners’ move
towards web standards and
semantically-oriented
semantically oriented
markup,

real world CSS is
commonly used as well for
positioning and layout.
This type of CSS is notoriously
difficult to master due to
browser bugs incompatibilities, and non-obvious
        bugs, incompatibilities
CSS box model interactions.
The reason w y t e e is suc a flourishing market
   e easo why there s such        lou s g a et
in CSS trade books is due to this difficulty.




Students do not gain knowledge
by being shielded from this complexity
                            complexity.
Another important part of web
development that is almost always
left out of the AWOC approach is

digital media
Yet another vital knowledge
area in web development is
usability, an area that is
almost always ignored in
AWOC courses.




None of the current web
N     f h              b
textbooks examined for this
p p
paper contained any substantial
                    y
material on usability.
Second
S    d
Course
The focus in this course is
mainly on the server side
               server-side.
We decided that this
W d id d th t thi course will cover
                                ill
a different type of server-side
technology th th fi t course.
t h l       than the first
Overview of web application development.

How ASP.NET works.    The students need to understand how such an
                      environment works with the underlying web
                      server software and operating system so that
                      they fully comprehend the design limitations
                      of web applications
Developing with ASP.NET.
      p g

Accessing databases in web applications.

Software design in web applications.

Mechanisms for maintaining state in web applications
                                        applications.

Consuming REST and SOAP web services
A key part of learning real-
world web development is
                  p
the server-side
environment.

Potentially this is a very
           y             y
large topic, and has its own
difficulties from a teaching
perspective.
If students haven t fully
            haven’t
mastered the ability to
implement a non trivial design
              non-trivial
in HTML, CSS, and Javascript,


the added indirection of
writing a program to generate
HTML, CSS
HTML CSS, and Javascript can
be quite tricky conceptually
for a novice developer
             developer.
Server-side development also has a
number of substantial additional topics
                                    topics,
which are difficult to fit into a single
AWOC course.
Web-based APIs usingg
REST or SOAP services
are also an important
part of the web world
of 2008+
flickr




MusicMoz
                                 last.fm
                                 last fm



                                                     cloudspeakers




           amazon   livenation             Videos from youtube
                                           Concerts from Upcoming.org

                    yahoo
Third
Thi d
Course
This ti
Thi optional, f th
            l fourth-year
course expands on the
         p
foundation client, server,
and database topics
              topics.
Javascript and Asynchronous

JQuery

Security

Deployment,
Deployment Hosting and Administration

Frameworks

Search Engines, Search Optimization, Analytic Tools

Internationalization and other issues in adapting web sites
for differing locales and cultures
Javascript h b
J      i t has become t
                      too
complex to be covered in a
AWOC course.


The type of Javascript that can
be covered in one or two weeks
(rollovers, form data validation, browser sniffing)
was reasonably close to what
was needed professionally in the
late 1990s.
Since th di
Si    the discovery of X lHtt R
                     f XmlHttpRequest t
and the subsequent flourishing of new
user interface coding and asynchronous
communication with web services,
         i i      ih    b    i




                     Javascript coding as become simultaneously
                     crucial to contemporary web development
                     and significantly more complicated.
Analogous to the case with CSS,
this type of J
thi t       f Javascript
                      i t
programming
is very difficult to learn due to:
browser differences,

the untyped nature of the language,

the lack of a cross-browser debugging
environment,

general conceptual complexity of
working with callback functions
Web vulnerabilities/security is
                   another area that is d ff l
                        h        h      difficult
                   to comprehensively cover in
                   the A OC approach
                    h AWOC           h




None of the current web
textbooks examined for this
paper contained any substantial
material on web security
                security.
More and more
organizations are
       i ti
using already
existing open-
   i i
source and/or
proprietary web
frameworks
instead of
creating their
web infrastructure
from scratch.
This is perhaps the
most substantial
revolution in web
development since
the mass adoption of
 h         d i      f
CSS in the early
2000s
Content management systems,
blogging systems,
bl   i      t
and web forums

are more and more
often being used
as the main framework for an
organization s
organization’s public or private
web presence,

since these systems handle
many of the most common web
needs of an organization.
Similarly,
Similarly due to the
complexity of layout-
oriented CSS and AJAX
  i t d         d AJAX-
focused Javascript, it is
becoming increasingly
common to use an
existing CSS or
Javascript framework
           framework.
On the design side, web
developers can quickly
d    l            i kl
create a web design by
making use of pre-existing
   ki       f        i ti
web designs and templates.
For the students, it is important to learn
about the existence of these existing
frameworks and templates because the future
of web systems will increasingly lie in their
use, integration, and customization.



               Sometimes multiple existing
               systems will be used by an
               organization and the key role of
               the web professional will be to
               get these systems to interoperate
               through th i public API
               th    h their bli APIs.
Our students also need to learn a
certain amount about hosting and
administration issues, such as:
The architecture of the main web server
platforms such as Apache and Microsoft’s IIS.

Hosting topics such as web gardens, web
                             gardens
farms, load balancing, and server
configurations for scalability.




                          Image Source:
                          http://sharepointmagazine.net
Conclusion
The complexity of current
web systems requires a multi-
course approach to teaching
the material
    material.
Randy Connolly
                                  Dept. Computer Science & Information Systems
                                     p      p                           y
                                  Mount Royal University, Calgary, Canada
                                  rconnolly@mtroyal.ca




Images from iStockPhoto and stock.xchng

Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum

  • 1.
    Awakening Rip VanWinkle Modernizing M d i i the Computer S i C t Science Web Curriculum Randy Connolly Mount R M Royal U i l University i
  • 2.
    In the pastdecade, the world of web development, has experienced a remarkable transformation t f ti
  • 4.
    The web developmenttopics in the ACM Computer Science Curriculum barely changed from 2001 to 2008.
  • 5.
  • 6.
    Almost all ofthe topics recognizable as pertaining to the field of web development are marked as elective topics in the CS 2008 curriculum.
  • 8.
    There has beena real dearth of research on the teaching of web topics. b i
  • 11.
    Lee [2003] “there isa surprisingly small number of universities that offer a serious web programming p g g course for the advanced computer science student” Steep [ p [2009] ] most universities still don’t cover web development in their computer science p g programs, but do so in their IS or IT one
  • 12.
    Given the importanceof web technology in the real world of software development, This relative lack of interest in the i th web b computer science b by t i is somewhat surprising.
  • 13.
    Number of Web-Based Software Development Jobs Number of Non-Web Software Development Jobs Based on searches in Oct + Nov 2010 on monster.com and simplyhired.com
  • 14.
    The papers thatdo exist generally begin by stressing the th many diffi lti difficulties in teaching a web development course.
  • 15.
    “teaching a webdevelopment course to computer students is challenging because of large bodies of knowledge knowledge, rapidly changing technologies, demanding support infrastructures and ” diverse background of audiences.
  • 16.
    One researcher has labeledthe web application course the “Unteachable Class” Unteachable Class
  • 17.
    Examining the literature, webcontent is usually being taught using the broad but shallow All-the-Web-in-One-Course (AWOC) ll h b approach
  • 18.
    Of CS webeducation papers reported A single web course 16% Web taught in CS0 or elective 12% Javascript in CS1/CS2 12% Multicourse stream on web
  • 19.
    Given the importanceof web systems, p y , the time has come for retiring the AWOC approach
  • 20.
    While the AWOCapproach does give students a sense of the big picture of web development, gp p , it by no means provides the students with anything approaching proficiency in contemporary practice.
  • 21.
    Back in theearly 1970s, a math program might have had a single course in g g programming in Fortran, but eventually it was recognized that a body of knowledge as complex as programming requires multiple courses to teach the material properly. Web development should be in a similar state today
  • 22.
  • 23.
    Because web developmentis characterized by peculiar combination of change and persistence
  • 24.
    2009- Frameworks + Platforms (WordPress,JQuery,Sharepoint,etc) 2006-2009 2006 2009 AJAX + REST/JSON services Semantic Web Standards + 2003-2006 2003 2006 CSS (positional) + PHP/ASP.NET CSS (simple) + 1999-2002 Javascript (simple) + ASP/JSP + Usability 1995-1998 HTML + CGI + Graphics
  • 25.
    For those stuckwith the AWOC approach it will become increasingly difficult to keep the course comprehensive and relevant
  • 26.
    Because of thetime limitations of the AWOC approach, the content in these single web courses i gl b increasingly seem like they are …
  • 27.
  • 29.
    We teach the webstream in three courses … … th gh it could though ld be done in two.
  • 30.
  • 31.
    The focus inthis course is mainly on th client i l the li t ( (i.e., the browser) , )
  • 32.
    How the webworks. XHTML with an emphasis on web standards, accessibility, and semantic markup p CSS – not just styling but also positioning and layout Digital media. Information architecture and usability Very brief (one week) introduction to Javascript Javascript. Intro (two weeks) to server-side development with PHP. ( ) p
  • 34.
    HTML Not just thedetails (which are trivial) but also how to do semantic separation of content from presentation.
  • 35.
    CSS coverage inAWOC courses is often quite minimal. For instance, Adams and Noonan both report half a week for covering CSS, while Wang reports one lecture and one lab. p
  • 36.
    However, due to practitioners practitioners’move towards web standards and semantically-oriented semantically oriented markup, real world CSS is commonly used as well for positioning and layout.
  • 37.
    This type ofCSS is notoriously difficult to master due to browser bugs incompatibilities, and non-obvious bugs, incompatibilities CSS box model interactions.
  • 38.
    The reason wy t e e is suc a flourishing market e easo why there s such lou s g a et in CSS trade books is due to this difficulty. Students do not gain knowledge by being shielded from this complexity complexity.
  • 39.
    Another important partof web development that is almost always left out of the AWOC approach is digital media
  • 40.
    Yet another vitalknowledge area in web development is usability, an area that is almost always ignored in AWOC courses. None of the current web N f h b textbooks examined for this p p paper contained any substantial y material on usability.
  • 41.
    Second S d Course
  • 42.
    The focus inthis course is mainly on the server side server-side. We decided that this W d id d th t thi course will cover ill a different type of server-side technology th th fi t course. t h l than the first
  • 43.
    Overview of webapplication development. How ASP.NET works. The students need to understand how such an environment works with the underlying web server software and operating system so that they fully comprehend the design limitations of web applications Developing with ASP.NET. p g Accessing databases in web applications. Software design in web applications. Mechanisms for maintaining state in web applications applications. Consuming REST and SOAP web services
  • 44.
    A key partof learning real- world web development is p the server-side environment. Potentially this is a very y y large topic, and has its own difficulties from a teaching perspective.
  • 45.
    If students havent fully haven’t mastered the ability to implement a non trivial design non-trivial in HTML, CSS, and Javascript, the added indirection of writing a program to generate HTML, CSS HTML CSS, and Javascript can be quite tricky conceptually for a novice developer developer.
  • 46.
    Server-side development alsohas a number of substantial additional topics topics, which are difficult to fit into a single AWOC course.
  • 47.
    Web-based APIs usingg RESTor SOAP services are also an important part of the web world of 2008+
  • 48.
    flickr MusicMoz last.fm last fm cloudspeakers amazon livenation Videos from youtube Concerts from Upcoming.org yahoo
  • 49.
  • 50.
    This ti Thi optional,f th l fourth-year course expands on the p foundation client, server, and database topics topics.
  • 51.
    Javascript and Asynchronous JQuery Security Deployment, DeploymentHosting and Administration Frameworks Search Engines, Search Optimization, Analytic Tools Internationalization and other issues in adapting web sites for differing locales and cultures
  • 52.
    Javascript h b J i t has become t too complex to be covered in a AWOC course. The type of Javascript that can be covered in one or two weeks (rollovers, form data validation, browser sniffing) was reasonably close to what was needed professionally in the late 1990s.
  • 53.
    Since th di Si the discovery of X lHtt R f XmlHttpRequest t and the subsequent flourishing of new user interface coding and asynchronous communication with web services, i i ih b i Javascript coding as become simultaneously crucial to contemporary web development and significantly more complicated.
  • 54.
    Analogous to thecase with CSS, this type of J thi t f Javascript i t programming is very difficult to learn due to: browser differences, the untyped nature of the language, the lack of a cross-browser debugging environment, general conceptual complexity of working with callback functions
  • 55.
    Web vulnerabilities/security is another area that is d ff l h h difficult to comprehensively cover in the A OC approach h AWOC h None of the current web textbooks examined for this paper contained any substantial material on web security security.
  • 56.
    More and more organizationsare i ti using already existing open- i i source and/or proprietary web frameworks instead of creating their web infrastructure from scratch.
  • 57.
    This is perhapsthe most substantial revolution in web development since the mass adoption of h d i f CSS in the early 2000s
  • 58.
    Content management systems, bloggingsystems, bl i t and web forums are more and more often being used as the main framework for an organization s organization’s public or private web presence, since these systems handle many of the most common web needs of an organization.
  • 59.
    Similarly, Similarly due tothe complexity of layout- oriented CSS and AJAX i t d d AJAX- focused Javascript, it is becoming increasingly common to use an existing CSS or Javascript framework framework.
  • 60.
    On the designside, web developers can quickly d l i kl create a web design by making use of pre-existing ki f i ti web designs and templates.
  • 61.
    For the students,it is important to learn about the existence of these existing frameworks and templates because the future of web systems will increasingly lie in their use, integration, and customization. Sometimes multiple existing systems will be used by an organization and the key role of the web professional will be to get these systems to interoperate through th i public API th h their bli APIs.
  • 62.
    Our students alsoneed to learn a certain amount about hosting and administration issues, such as: The architecture of the main web server platforms such as Apache and Microsoft’s IIS. Hosting topics such as web gardens, web gardens farms, load balancing, and server configurations for scalability. Image Source: http://sharepointmagazine.net
  • 63.
  • 64.
    The complexity ofcurrent web systems requires a multi- course approach to teaching the material material.
  • 65.
    Randy Connolly Dept. Computer Science & Information Systems p p y Mount Royal University, Calgary, Canada rconnolly@mtroyal.ca Images from iStockPhoto and stock.xchng