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.
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
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.
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.
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
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