SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Awakening Rip Van Winkle: Modernizing the Computer
Science Web Curriculum
Randy Connolly
Dept. Computer Science & Information
Systems
Mount Royal University
4825 Mount Royal Gate SW, Calgary,
AB, Canada T3E 6K6
403-440-6061
rconnolly@mtroyal.ca
ABSTRACT
The world of web development has experienced a great deal of
change over the past decade. The importance and complexity of
web development is currently not adequately reflected in the
ACM Computer Science 2008 Curriculum, nor in most reported
computer science programs. This paper examines published
literature on teaching the web since 2001 and argues that the
computer science curriculum needs to be woken up and
modernized in regards to the importance of web development.
The paper critiques the approach of teaching web development
topics within a single course. It articulates a wide variety of web
development topics that need to be covered in any contemporary
computer science program and which are often absent in other
published accounts of this course. The paper concludes by
arguing that a multi-course stream in web development can help
the students integrate the discrete pieces of knowledge garnered
during their undergraduate education.
Categories and Subject Descriptors
K.3.2 [Computers and Education]: Computer & Information
Science Education – computer science education.
General Terms
Design, Experimentation.
Keywords
CS Education, Web Development, Pedagogy.
1. INTRODUCTION
One of the earliest and most well-known characters in American
literature is that of Rip Van Winkle, who appeared in
Washington’s Irving’s Sketch Book of 1819. In the story, Rip, a
bit of a lazy vagabond, drinks some dubious home brew up in the
hills, falls asleep, awakens twenty years later, and is utterly
astounded by the transformation of his colonial village of Sleepy
Hollow into a bustling commerce-driven republican town. If like
Rip, we were to have slept, but only for the ten years since 2000,
we also might be amazed at the transformations in how people
experience the web. Back in 1999 people used the web for
occasional online shopping at home and examining stock prices or
breaking news on their desktop computers. While this kind of
usage is still important, the type of web sites being accessed, the
user experience while using these sites, and the devices we use to
do it has changed quite a bit in the intervening ten years. In this
decade, the web has transformed into an ever-present information
retrieval mechanism as well as the principal platform for hosting
software applications [25]. Somewhat inexplicably, however,
while the web has experienced this remarkable transformation,
there has been a certain dormancy to the way that the web is
being taught in the computer science curriculum.
While web topics are certainly a recommended component of a
variety of ACM curricula reports, it still very much appears as a
peripheral topic within computer science. In the CS 2008
curriculum, for instance, almost all of the topics recognizable as
pertaining to the field of web development are marked as elective
topics [1]. Similarly, there is a relative dearth of research in the
computer education literature which is somewhat surprising given
the ostensive importance of web technology in the real world of
software development. Each year SIGCSE and ITiCSE have
multiple papers on teaching beginning programming, databases,
and other curricula areas, but only fairly rarely will a paper on
teaching web development appear.
In fact, looking at all the papers presented at SIGCSE and ITiCSE
in the last decade, only about 1.5% of them have pertained at all
to the teaching of web topics. Since 2005 the percentage is even
lower; there have been only 17 papers during that time about web
topics – and many of those were only peripherally focused on
teaching web development. As a point of comparison, in the same
five-year time span, there were 65 papers on game-related topics
in those two conferences. While clearly this represents the
discipline’s interest in trying to increase enrollments in computer
science via the appeal of games, it certainly is not at all indicative
of the job market computer science graduates will face, one in
which arguably a majority of software development jobs are
broadly within the web context [21]. One can verify this by
examining an employment website such as monster.com or
simplyhired.com. For instance, on two different three-day time
periods in October and November 2010, there were roughly twice
as many web-related development job postings as non-web ones
on those two job sites.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. To copy
otherwise, or republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee.
ITiCSE’11, June 27–29, 2011, Darmstadt, Germany.
Copyright 2010 ACM 978-1-4503-0697-3/11/06...$10.00.
Now it is quite possible that the reason why there have been so
few papers on teaching web topics is because the professors
teaching these courses are too busy adapting to new web
technologies to publish their experiences. This is certainly the
impression one gets from reading many of these papers (for
instance, [2], [19], and [40]). These papers invariably agree with
Treu’s designation of the web application course as the
“Unteachable Class” [34].
This paper is going to argue that the computer science curricula
needs to be woken up and modernized in regards to the
importance of web development, and will argue that a two- or a
three-course stream in web development can acquaint students
with the real world of web application development in a
significantly less “unteachable” manner. The paper will describe a
variety of web development topics that should be covered in a
web stream, and yet which are almost always absent in published
accounts of web courses. Its perspective is informed by the
author’s experience teaching these topics since 1998, by his on-
going experiences as a professional web developer for a wide
variety of international clients, and by his experiences writing a
book in this field. The paper will conclude by arguing that such a
series of courses can also address one of the key problems in the
education of our students: namely, how to integrate the discrete
pieces of knowledge that they have gathered during their progress
through their computer science education.
2. HOW THE WEB IS BEING TAUGHT
Most computer science educators would no doubt agree that there
is a lot of material that needs to be shoe-horned into a typical
four-year computer science program. The ACM curriculum for
computer science [1] articulates the very broad body of
knowledge in computer science; it consists of recommended
mandatory learning outcomes as well as additional optional
outcomes. The web topics, subsumed under the banner of Net-
centric computing, include only a very small number of
mandatory core topic outcomes, mainly of the awareness variety.
There are also a number of elective topics that conceivably could
be covered by a single optional course on web development.
Tellingly, despite a decade of transformation in the real world of
web development, the Net-centric topic list in the CS 2008 report
is essentially unchanged from the 2001 version [17].
Yet it appears that despite the (limited) mandate of the ACM
curriculum and despite the importance of web technology to the
student’s own lives, to their job prospects, and also to the research
efforts of many computer science professors, not every computer
science program includes a course in these topics. In 2003, Lee
noted that “there is a surprisingly small number of universities
that offer a serious web programming course for the advanced
computer science student” [19]. Six years later, Stepp in 2009
noted that most universities still don’t cover web development in
their computer science programs, but do so in their IS or IT ones.
[33].
Given the unruly and shifting number of web standards and
practices, it is not surprising that “there does not seem to be a
consensus about where in the curriculum, and at what detail, to
introduce this material” [33]. Surveying the literature that does
exist on teaching web topics, one can see the most common
teaching approaches in Table 1. As is apparent from the number
of references, by far the most common way of teaching the web
course in the reported literature is to try to fit all the material
within a single upper-level course. Not coincidentally, it is in
these papers that one finds most of the complaints about the
difficulty of teaching the web course.
Table 1. Summary of CS web education papers
Course Approach # References
Teach the material as a CS0
course or as non-major elective.
4 12, 16, 26, 27
Use Javascript in the CS1/CS2
course or teach web topics in a CS
1.5 course.
3 16, 29, 33
An intermediate to advanced
single web course which
sometimes serves as a capstone
course.
14
2, 3, 4, 10, 14, 19,
22, 23, 29, 32, 34,
36, 37, 40
A two (or more) course stream on
web development.
3 13, 16, 24
3. WEB TOPICS TO BE TAUGHT
Given the oft-stated worries about the breadth of material needing
to be taught in a web course, this author strongly believes that the
All-the-Web-in-One-Course (AWOC) approach very much needs
to be retired. Back in the late 1960s/early 1970s, a math program
might have had a single course in programming in Fortran or a
business program might have a single course on data processing
in Cobol, 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 by now
be in a similar state.
The principal reason why the AWOC approach is no longer
appropriate is due to the peculiar combination of change and
persistence that characterizes the web development world. As
noted by many of the authors cited in this paper, the web
environment is one very much characterized by flux. It is this
author’s belief that the web environment experiences something
analogous to paradigm shifts, in that web development
experiences cycles of short periods of substantial change followed
by periods of relative stability (see Table 2). The key point is that
these are not exactly paradigm shifts in the Kuhnean sense since a
previous web technology isn’t always being displaced and
replaced (though, for instance, with CGI and ASP it was); more
often the next set of important technologies or approaches are
being used “on top” of, or in addition to, the previous ones,
meaning that knowledge and expertise in the previous paradigm is
still required.
Table 2. Web development paradigms
Principal technology context/layer
Approx.
Year
HTML + CGI 1995-1998
CSS (simple) + Javascript (simple) + ASP/JSP 1999-2002
Semantic Web Standards + PHP/ASP.NET 2003-2006
AJAX + REST/JSON services 2006-2009
Frameworks + Platforms
(WordPress,JQuery,Sharepoint,etc)
2009-
There are indications that the web development environment is
currently at the start of a new cycle of change and, as such, new
topics need to be integrated into how we teach the web. For those
stuck in an AWOC model, it will become increasingly difficult to
keep those courses comprehensive and relevant. As the title of
another paper with a similar theme suggests, those courses will
increasingly seem like they are “partying like it’s 1999” [5].
So what needs to continue to be taught in any web course and
what new topics need to be added in? The remainder of this
section describes those web topics divided into two subcategories:
material that is proscribed, however briefly, in the ACM CS 2008,
and material that is not mentioned in the ACM report, but which,
nonetheless, needs to be covered in contemporary and future web
courses.
3.1 Web Topics in CS 2008
The obvious beginning point of any web stream is with the way
the web works (e.g., the various protocols, the hardware
infrastructure, etc) and with HTML itself. While HTML is
relatively trivial to learn, it is important to cover it in a way that is
consonant with contemporary best practice usage. For reasons of
accessibility [27], maintainability, content management system
(CMS) integration, and search-engine optimization (SEO), HTML
markup today is semantically-structured so as to separate content
from presentation [41].
For these same reasons, CSS is now an essential part of web
development. CSS coverage in reported AWOC courses is often
quite minimal [2,22,36]. While basic text formatting in CSS is
indeed quite straightforward, real world CSS, which is commonly
used as well for positioning and layout, is notoriously difficult to
master due to browser bugs, incompatibilities, and non-obvious
CSS box model interactions [41]. To complicate matters further,
the CSS landscape is undergoing a period of transition, with both
CSS3 and CSS frameworks like 960 adding to the layers of CSS
knowledge necessary for contemporary and future practitioners.
Javascript is another key web development technology. The type
of Javascript that can be covered in just a few lectures (rollovers,
form data validation, browser sniffing) was reasonably close to
what was needed professionally in the late 1990s. Since the
“discovery” of XmlHttpRequest and the subsequent flourishing of
new user interface coding and asynchronous communication with
web services, Javascript coding has become simultaneously
crucial to contemporary web development and significantly more
complicated. Analogous to the case with CSS, this type of
Javascript programming is very difficult to learn due to browser
differences, the untyped nature of the language, the lack of a
cross-browser debugging environment, and the general conceptual
complexity of working with callback functions.
Another key part of learning real-world web development is the
server-side environment. Potentially this is a very large topic and
has its own difficulties from a teaching perspective. There are a
number of different competing technologies (PHP, ASP.NET,
JSP, Ruby on Rails) which all accomplish the same thing:
interacting with server resources and programmatically generating
HTML, CSS, and Javascript that is returned to the browser.
Server-side development also has a number of substantial
additional topics, such as the HTTP protocol, SQL and database-
access APIs, replicating database changes across data servers,
local and distributed transactions, maintaining state (via cookies,
sessions, querystrings, and form elements) across requests (and, in
a web farm, across processes), internationalization, architecting
web infrastructures for scalability, and enterprise design patterns,
which are almost impossible to fit into a AWOC course.
Digital media and information architecture and usability is
another vital area of real-world web practice. This area is often
under-represented in most reported web courses. Usability in
general is a very large topic and will likely be covered in a
computer science program’s HCI courses. Nonetheless, usability
in the web context does require its own unique topics which may
not make it into the typical HCI course. These topics include: the
unique factors affecting web site usability, the different ways of
organizing and structuring web content, the development and
articulation of web conventions, designing web navigation
systems, and an overview of visual design principles. These
usability topics rarely make it into an AWOC course. Of all the
papers examined for this article, only [27], [31], and [39] included
usability or digital media in its reported topic lists.
Web vulnerabilities/security is another vital web topic that can be
difficult to comprehensively cover using the AWOC approach
(see [22] for an exception). Security in general is a very large
topic, and many of the more important general issues and
concepts are likely to be covered in a dedicated networking
course. Web security does have its own unique problems and
concerns. For instance, cross-site scripting, SQL injection attacks
and other common web vulnerabilities are unique to the web
context and as a consequence are often not covered in a standard
network security course. Interestingly, none of the current web
textbooks [7,18,30] examined for this paper contained any
substantial material on web security.
3.2 Web Topics Not in CS 2008
While most of the reported web courses cover some portion of the
preceding topics, the remaining topics that need to be taught in
any future web courses are almost never covered. The first of
these topics is that of web frameworks and APIs. One of the key
features of the contemporary web landscape is that many
organizations are no longer creating their web infrastructure from
scratch but are using single (or integrating multiple) already
existing open-source and/or proprietary web frameworks [11, 35].
Complex content management systems such as Drupal, Joomla,
DotNetNuke, or Microsoft SharePoint, blogging systems such as
WordPress or Blogger, web forums such as phpBB or vBulletin,
e-commerce systems such osCommerce or Magento, and common
business practice portals and services such as SugarCRM,
Salesforce, or Exact are often used as the main framework for an
organization’s public or private web presence.
In other words, the platform for current and future web
development is expanding significantly beyond LAMP (Linux,
Apache, MySQL, and PHP) or WISA (Windows, IIS, SQL
Server, and ASP.NET). Contemporary web development is
increasingly more about building new solutions that involve
customizing or leveraging APIs and/or extension frameworks
(which may themselves be built on LAMP or WISA, so
knowledge of them is still required), such as the Facebook API,
Sharepoint, Drupal, WordPress, Zend, JQuery, and ASP.NET
MVC. The scale of something like the Facebook API usage (over
a million developers and over half a million applications [9]) or
the number of sites built on WordPress (perhaps as many as 10%
of all significant sites on the entire web [11]) is often invisible to
the end user, but is something that needs to be made completely
visible to our computer science students. For the students, it is
important to learn about the existence of these existing
frameworks because the future of web systems will increasingly
lie in their use, integration, and customization.
Another important part of the web systems knowledge area that is
generally missing from computer science education is that of
hosting and deployment. For practical reasons, students generally
learn web development using their own computer or a lab
computer as if it was a web server. Ultimately, however, a web
site needs to be deployed on a public web server. Students thus
need to learn about the advantages and disadvantages of the main
web server platforms as well as third-party hosting environments.
Hosting topics such as web gardens, web farms, load balancing,
data center redundancy and replication, as well as server
configurations for scalability also need to be covered if a
computer science graduate is going to have a realistic sense of the
contemporary web world.
Finally, it is important for students to learn about web service
consumption and integration, especially RESTful services (though
SOAP services should be taught as well). With the broad interest
in the asynchronous consumption of server data at the browser
using Javascript (generally referred to as AJAX) and due to the
relatively easy availability of a wide-range of RESTful services, a
new style of web development known as the mashup has become
increasingly common [10,14]. Consuming these services typically
involves learning XML parsing, XPath search expressions, as well
as more conceptual issues such as mediation techniques between
heterogeneous data sources [6].
4. SAMPLE WEB COURSES
The previous section described a range of topics that should be
covered in our web courses. Below is one sample way to split this
material across three hypothetical semester courses. It should be
mentioned that this list is not completely hypothetical in that it is
the way this author’s department teaches the web. It may be
possible to reduce some of the coverage in order to fit it into just
two courses or to fit it into three quarter-style courses.
4.1 Web 1
This course covers the concepts and practice necessary for
creating an effective web site at the introductory level. Topics
include: how the web works, XHTML (with an emphasis on web
standards, accessibility, and semantic markup), CSS (not just
styling but also positioning and layout), digital media,
information architecture and usability, a very brief introduction to
Javascript, and a brief introduction to server-side development.
4.2 Web 2
This course covers the concepts and technologies needed to
design and develop server-side applications. Its main focus would
be on how server-side technology works and on developing with
server-side technology. Complicated web development
environments such as JSP or ASP.NET have a substantial learning
curve. A fair percentage of this type of course must be devoted to
teaching the practicalities of developing within it. Other topics
would include accessing databases in web applications, software
design in web applications, designing for scalability and
reliability, mechanisms for maintaining state, consuming REST
and SOAP web services, and designing and implementing web
security (though these last two could move to the Web 3 course).
4.3 Web 3
This course expands on the foundation client, server, and database
topics. The course covers: intermediate Javascript development,
asynchronous consumption of web services in Javascript, using
Javascript frameworks and web APIs, web application
deployment and hosting, and issues in adapting web sites for
differing locales and cultures.
5. CONCLUSION
It is this author’s strong belief that teaching web topics can play a
vital role in the development of a computer science student.
Adams has noted that one of the key limitations with computer
science education and the many specialized knowledge
competencies it tries to engender is that “students struggle to put
all the pieces together” [2]. Humphrey similarly noted this lacuna
not just in undergraduate but in graduate computer science
students as well; even graduate students “usually have little or no
experiences in designing, implementing, and evaluating, large-
scale software systems for complex, dynamic, and heterogeneous
environments” [14]. That is, it is not enough to teach each
technology and concept in isolation; “students must understand
how these technologies relate to each other” [2]. This theme has
also been raised by a number of other authors in their reflections
on what needs to be improved in the way computer science is
taught [8,28].
One of the key benefits to teaching web development in two or
three serious web courses is that it can provide the students with a
taste of that needed integration and complexity. Kazmerik [15]
reported in an undergraduate student’s perspective on just such a
series of two web courses that the experience was akin to finally
getting to play the guitar. In Kazmerik’s analogy, all the prior
computer courses were about understanding or making some
small component pieces of the guitar, such as the strings, the
pickups, or the frets. This, according to Kazmerik, frustrates the
students because they decided to take a computer degree because
of their desire to the guitar – that is, many took computer science
because of their desire to create a finished, complex and inspiring
software system such as a real game or a real web application. A
multi-course web stream can provide that much-desired
integration for the upper-level students. It can provide an
experience that White and Weinberg have called for: core
integration at the end of the CS curriculum that helps “clarify the
manner in which the core areas [of the computer science
curriculum] are interdependent” [38].
6. ACKNOWLEDGMENTS
The author would like to thank Amber Settle for her very diligent
reading and insightful feedback on earlier drafts of this paper.
7. REFERENCES
[1] ACM Interim Review Task Force. (2008). Computer Science
Curriculum 2008: An Interim Revision of CS 2001.
http://www.acm.org/education/curricula/ComputerScience20
08.pdf.
[2] Adams, D. R. (2007). Integration early: a new approach to
teaching web application development. Journal of
Computing Sciences in College. 23 (1): 97-104.
[3] Bloss, A. (2001). Teaching fundamentals for web
programming and e-commerce in a liberal arts computer
science curriculum. Journal of Computing Sciences in
Colleges 16 (2).
[4] Coffman, J. and Weaver, A.C. (2010). Electronic Commerce
Virtual Laboratory. In SIGCSE '10.
[5] Connolly, R. (2009). No Longer Partying Like It’s 1999:
Designing a Modern Web Stream Using the IT2008
Curriculum Guidelines. In SIGITE '09.
[6] Connolly, R (2010). Small service is true service while it
lasts: integrating web services into IT education. In SIGITE
'10.
[7] Deitel, H., Deitel, P. (2008). Internet & World Wide Web:
How to Program, Fourth Edition. Prentice Hall.
[8] Denning, P. and McGettrick, A. (2005). Recentering
Computer Science. Communications of the ACM 48 (11).
[9] Facebook. (2010). Press Room.
http://www.facebook.com/press/info.php?statistics.
[10] Frydenberg, M. (2008). Slickr: A Multi-Tiered Web
Development Capstone Project Using Databases, Web
Services, and AJAX. Information Systems Education Journal
6 (37).
[11] Gelbmann, M. (2010). The amazing dominance of
WordPress as CMS. http://w3techs.com/blog.
[12] Gousie, M.B. (2006). A Robust Web Programming and
Graphics Course for Non-Majors. In SIGCSE '06.
[13] Hufford, K.D. (2001). CS265 web network and web site
management development of a core course in the Internet
technology minor curriculum. Journal of Computing Science
in Colleges 16 (4).
[14] Humphrey, Marty. (2004). Web Services as the Foundation
for Learning Complex Software System Development. In
SIGCSE ‘04.
[15] Kazmerik, R. W. (2010). Who cares about web services?: a
student perspective on web technology education. In SIGITE
'10.
[16] Knuckles, C. D. (2002). A net-centric curricular focus.
Journal of Computing Sciences in Colleges 17 (6).
[17] Joint Task Force on Computing Curricula. (2001).
Computing Curricula 2001 Computer Science.
[18] Lecky-Thompson, G.W. (2008). Just Enough Web
Programming with XHTML, PHP, and MySQL. Course
Technology.
[19] Lee, A. H. (2003). A manageable web software architecture:
searching for simplicity. In SIGCSE ’03.
[20] Lim, B., Hosack, B, and Vogt, P. (2010). A web service-
oriented approach to teaching CS/IS1. In SIGCSE '10.
[21] Monster.com. (2009). Winter 2009-10 IT Job Market Report.
http://media.monster.com/a/i/intelligence.
[22] Noonan, R.E. (2007). A course in web programming.
Journal of Computing Sciences in Colleges 22 (3).
[23] Olan, M. (2009). Web applications: a test bed for advanced
topics. Journal of Computing Sciences in Colleges 24 (3).
[24] Phillips, J., et al (2002). Design of a two-course sequence in
web programming and e-commerce. Journal of Computing
Sciences in Colleges 19 (2).
[25] Pirolli, P. (2007). Information Foraging Theory: Adaptive
Interaction with Information. Oxford University Press.
[26] Reed, D. (2001). Rethinking CS0 with JavaScript. In
SIGCSE ‘01.
[27] Rosmaita, B.J. (2006). Accessibility first!: a new approach to
web design. In SIGCSE '06.
[28] Sahami, M., Aiken, A., and Zelenski, J. (2010). Expanding
the frontiers of computer science: designing a curriculum to
reflect a diverse field. In SIGCSE '10.
[29] Scott, T., Ursyn, A. (2006). A web design course team taught
by professors in art and computer science. Journal of
Computing Sciences in Colleges 22 (1).
[30] Sebesta, R. W. (2009). Programming the World-Wide Web,
Fifth Edition. Addison-Wesley.
[31] Sharda, N. (2007). Creating innovative new media programs:
need, challenges, and development framework. In Emme '07.
[32] Silverman, R. (2007). Ecommerce systems design course
using Java servlets. Journal of Computing Sciences in
Colleges 23 (1).
[33] Stepp, M., Miller, J., and Kirst, V. (2009). A ‘CS 1.5’
Introduction to Web Programming. In SIGCSE ‘09.
[34] Treu, K. (2002). To teach the unteachable class: an
experimental course in web-based application design. In
SIGCSE ‘02.
[35] W3techs .com. (2010). Historical trends in the usage of
content management systems for websites.
http://w3techs.com/technologies/history_overview.
[36] Wang, X. (2006). A practical way to teach web programming
in computer science. Journal of Computing Sciences in
Colleges 22 (1).
[37] Weaver, A.C. Electronic Commerce Software Laboratory.
(2004). In SIGCSE '04.
[38] White, W. W. and Weinberg, J. B. (2009). Breadth-last
technical electives: integrating the CS core via computer
games and mobile robotics. In SIGCSE '09.
[39] Wong, Y.L., Burg, J., and Strokanova, V. (2004). Digital
media in computer science curricula. In SIGCSE '04.
[40] Yue, K.B., Ding, W. (2004). Design and evolution of an
undergraduate course on web application development. In
ITiCSE '04.
[41] Zeldman, J. (2003). Designing with Web Standards. New
Riders

Mais conteúdo relacionado

Semelhante a Awakening Rip Van Winkle

Augmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer ScienceAugmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer ScienceMelinda Watson
 
Educational Website (E-Learning)
Educational Website (E-Learning)Educational Website (E-Learning)
Educational Website (E-Learning)IRJET Journal
 
A Reappraisal Of Online Mathematics Teaching Using LaTeX
A Reappraisal Of Online Mathematics Teaching Using LaTeXA Reappraisal Of Online Mathematics Teaching Using LaTeX
A Reappraisal Of Online Mathematics Teaching Using LaTeXBryce Nelson
 
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENTAN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENTcsandit
 
Effective online learning_whitepaper
Effective online learning_whitepaperEffective online learning_whitepaper
Effective online learning_whitepaperPatRV
 
An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...
An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...
An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...IJMERJOURNAL
 
The Promise of Grid Computing Technologies for E-Learning Systems in Kenya
The Promise of Grid Computing Technologies for E-Learning Systems in KenyaThe Promise of Grid Computing Technologies for E-Learning Systems in Kenya
The Promise of Grid Computing Technologies for E-Learning Systems in KenyaUmma Khatuna Jannat
 
Cloud computing platform for virtual university providing e-learning
Cloud computing platform for virtual university providing  e-learningCloud computing platform for virtual university providing  e-learning
Cloud computing platform for virtual university providing e-learningIOSR Journals
 
educational website report
educational website reporteducational website report
educational website reportKedar Kumar
 
EFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESS
EFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESSEFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESS
EFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESSacijjournal
 
The impact of cloud computing and web2.0 on e learning ecosystem
The impact of cloud computing and web2.0 on e learning ecosystemThe impact of cloud computing and web2.0 on e learning ecosystem
The impact of cloud computing and web2.0 on e learning ecosystemMona Nasr
 
Small service is true service while it lasts: integrating web services into I...
Small service is true service while it lasts: integrating web services into I...Small service is true service while it lasts: integrating web services into I...
Small service is true service while it lasts: integrating web services into I...Randy Connolly
 
Universities and Web 2.0: Institutional challenges
Universities and Web 2.0: Institutional challengesUniversities and Web 2.0: Institutional challenges
Universities and Web 2.0: Institutional challengeseLearning Papers
 
ONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKS
ONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKSONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKS
ONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKSIRJET Journal
 
E-learning_Issues_and_Challenges.pdf
E-learning_Issues_and_Challenges.pdfE-learning_Issues_and_Challenges.pdf
E-learning_Issues_and_Challenges.pdfSriPritikaBalamuruga
 
A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)
A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)
A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)paperpublications3
 
I.Background The crisis caused by the Covid19 pandemic has ser
I.Background The crisis caused by the Covid19 pandemic has serI.Background The crisis caused by the Covid19 pandemic has ser
I.Background The crisis caused by the Covid19 pandemic has serLizbethQuinonez813
 

Semelhante a Awakening Rip Van Winkle (20)

Augmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer ScienceAugmented Reality For Teaching Data Structures In Computer Science
Augmented Reality For Teaching Data Structures In Computer Science
 
e learning merged.pdf
e learning merged.pdfe learning merged.pdf
e learning merged.pdf
 
Educational Website (E-Learning)
Educational Website (E-Learning)Educational Website (E-Learning)
Educational Website (E-Learning)
 
A Reappraisal Of Online Mathematics Teaching Using LaTeX
A Reappraisal Of Online Mathematics Teaching Using LaTeXA Reappraisal Of Online Mathematics Teaching Using LaTeX
A Reappraisal Of Online Mathematics Teaching Using LaTeX
 
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENTAN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
AN EMPIRICAL STUDY OF USING CLOUD-BASED SERVICES IN CAPSTONE PROJECT DEVELOPMENT
 
Effective online learning_whitepaper
Effective online learning_whitepaperEffective online learning_whitepaper
Effective online learning_whitepaper
 
An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...
An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...
An Efficient Methodology To Develop A Secured E-Learning System Using Cloud C...
 
The Promise of Grid Computing Technologies for E-Learning Systems in Kenya
The Promise of Grid Computing Technologies for E-Learning Systems in KenyaThe Promise of Grid Computing Technologies for E-Learning Systems in Kenya
The Promise of Grid Computing Technologies for E-Learning Systems in Kenya
 
Cloud computing platform for virtual university providing e-learning
Cloud computing platform for virtual university providing  e-learningCloud computing platform for virtual university providing  e-learning
Cloud computing platform for virtual university providing e-learning
 
educational website report
educational website reporteducational website report
educational website report
 
EFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESS
EFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESSEFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESS
EFFECTIVE WAYS CLOUD COMPUTING CAN CONTRIBUTE TO EDUCATION SUCCESS
 
The impact of cloud computing and web2.0 on e learning ecosystem
The impact of cloud computing and web2.0 on e learning ecosystemThe impact of cloud computing and web2.0 on e learning ecosystem
The impact of cloud computing and web2.0 on e learning ecosystem
 
Small service is true service while it lasts: integrating web services into I...
Small service is true service while it lasts: integrating web services into I...Small service is true service while it lasts: integrating web services into I...
Small service is true service while it lasts: integrating web services into I...
 
Universities and Web 2.0: Institutional challenges
Universities and Web 2.0: Institutional challengesUniversities and Web 2.0: Institutional challenges
Universities and Web 2.0: Institutional challenges
 
ONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKS
ONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKSONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKS
ONLINE WEB APPLICATION FOR CREATING AND SHARING INTERACTIVE TEXTBOOKS
 
E-learning_Issues_and_Challenges.pdf
E-learning_Issues_and_Challenges.pdfE-learning_Issues_and_Challenges.pdf
E-learning_Issues_and_Challenges.pdf
 
A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)
A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)
A SURVEY AND COMPARETIVE ANALYSIS OF E-LEARNING PLATFORM (MOODLE AND BLACKBOARD)
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
I.Background The crisis caused by the Covid19 pandemic has ser
I.Background The crisis caused by the Covid19 pandemic has serI.Background The crisis caused by the Covid19 pandemic has ser
I.Background The crisis caused by the Covid19 pandemic has ser
 
ComputingCurric
ComputingCurricComputingCurric
ComputingCurric
 

Mais de Emily Smith

Purdue OWL Annotated Bibliographies Essay Writi
Purdue OWL Annotated Bibliographies Essay WritiPurdue OWL Annotated Bibliographies Essay Writi
Purdue OWL Annotated Bibliographies Essay WritiEmily Smith
 
How To Sight A Quote In Mla Ma
How To Sight A Quote In Mla MaHow To Sight A Quote In Mla Ma
How To Sight A Quote In Mla MaEmily Smith
 
Top 3 Best Research Paper Writing Services Online - The Je
Top 3 Best Research Paper Writing Services Online - The JeTop 3 Best Research Paper Writing Services Online - The Je
Top 3 Best Research Paper Writing Services Online - The JeEmily Smith
 
011 How To Start Summary Essay Best Photos Of Res
011 How To Start Summary Essay Best Photos Of Res011 How To Start Summary Essay Best Photos Of Res
011 How To Start Summary Essay Best Photos Of ResEmily Smith
 
Some Snowman Fun Kindergarten Writing Paper
Some Snowman Fun Kindergarten Writing PaperSome Snowman Fun Kindergarten Writing Paper
Some Snowman Fun Kindergarten Writing PaperEmily Smith
 
Types Of Essay Writing With Examples Telegraph
Types Of Essay Writing With Examples TelegraphTypes Of Essay Writing With Examples Telegraph
Types Of Essay Writing With Examples TelegraphEmily Smith
 
Solar System And Planets Unit Plus FLIP Book (1St, 2
Solar System And Planets Unit Plus FLIP Book (1St, 2Solar System And Planets Unit Plus FLIP Book (1St, 2
Solar System And Planets Unit Plus FLIP Book (1St, 2Emily Smith
 
Essay Essaytips Essay University
Essay Essaytips Essay UniversityEssay Essaytips Essay University
Essay Essaytips Essay UniversityEmily Smith
 
Acknowledgement Samples 06 Acknowledgement Ack
Acknowledgement Samples 06 Acknowledgement AckAcknowledgement Samples 06 Acknowledgement Ack
Acknowledgement Samples 06 Acknowledgement AckEmily Smith
 
A Sample Position Paper - PHDessay.Com
A Sample Position Paper - PHDessay.ComA Sample Position Paper - PHDessay.Com
A Sample Position Paper - PHDessay.ComEmily Smith
 
PPT - About Our University Essay Writing Services PowerPoint
PPT - About Our University Essay Writing Services PowerPointPPT - About Our University Essay Writing Services PowerPoint
PPT - About Our University Essay Writing Services PowerPointEmily Smith
 
5 Qualities Of A Professional Essay Writer
5 Qualities Of A Professional Essay Writer5 Qualities Of A Professional Essay Writer
5 Qualities Of A Professional Essay WriterEmily Smith
 
College Essay Princeton Acce
College Essay Princeton AcceCollege Essay Princeton Acce
College Essay Princeton AcceEmily Smith
 
How To Write An Interesting Essay 2. Include Fascinating Details
How To Write An Interesting Essay 2. Include Fascinating DetailsHow To Write An Interesting Essay 2. Include Fascinating Details
How To Write An Interesting Essay 2. Include Fascinating DetailsEmily Smith
 
Letter Paper Envelope Airmail Writing PNG, Clipart, Board Game
Letter Paper Envelope Airmail Writing PNG, Clipart, Board GameLetter Paper Envelope Airmail Writing PNG, Clipart, Board Game
Letter Paper Envelope Airmail Writing PNG, Clipart, Board GameEmily Smith
 
Really Good College Essays Scholarship Essay Exampl
Really Good College Essays Scholarship Essay ExamplReally Good College Essays Scholarship Essay Exampl
Really Good College Essays Scholarship Essay ExamplEmily Smith
 
Poetry On UCF Diversity Initiatives Website By UCF
Poetry On UCF Diversity Initiatives Website By UCFPoetry On UCF Diversity Initiatives Website By UCF
Poetry On UCF Diversity Initiatives Website By UCFEmily Smith
 
Research Proposal On Childhood Obesity. Childho
Research Proposal On Childhood Obesity. ChildhoResearch Proposal On Childhood Obesity. Childho
Research Proposal On Childhood Obesity. ChildhoEmily Smith
 
270 Amazing Satirical Essay Topics To Deal With
270 Amazing Satirical Essay Topics To Deal With270 Amazing Satirical Essay Topics To Deal With
270 Amazing Satirical Essay Topics To Deal WithEmily Smith
 
How To Write A Good Philosophy Paper. How To
How To Write A Good Philosophy Paper. How ToHow To Write A Good Philosophy Paper. How To
How To Write A Good Philosophy Paper. How ToEmily Smith
 

Mais de Emily Smith (20)

Purdue OWL Annotated Bibliographies Essay Writi
Purdue OWL Annotated Bibliographies Essay WritiPurdue OWL Annotated Bibliographies Essay Writi
Purdue OWL Annotated Bibliographies Essay Writi
 
How To Sight A Quote In Mla Ma
How To Sight A Quote In Mla MaHow To Sight A Quote In Mla Ma
How To Sight A Quote In Mla Ma
 
Top 3 Best Research Paper Writing Services Online - The Je
Top 3 Best Research Paper Writing Services Online - The JeTop 3 Best Research Paper Writing Services Online - The Je
Top 3 Best Research Paper Writing Services Online - The Je
 
011 How To Start Summary Essay Best Photos Of Res
011 How To Start Summary Essay Best Photos Of Res011 How To Start Summary Essay Best Photos Of Res
011 How To Start Summary Essay Best Photos Of Res
 
Some Snowman Fun Kindergarten Writing Paper
Some Snowman Fun Kindergarten Writing PaperSome Snowman Fun Kindergarten Writing Paper
Some Snowman Fun Kindergarten Writing Paper
 
Types Of Essay Writing With Examples Telegraph
Types Of Essay Writing With Examples TelegraphTypes Of Essay Writing With Examples Telegraph
Types Of Essay Writing With Examples Telegraph
 
Solar System And Planets Unit Plus FLIP Book (1St, 2
Solar System And Planets Unit Plus FLIP Book (1St, 2Solar System And Planets Unit Plus FLIP Book (1St, 2
Solar System And Planets Unit Plus FLIP Book (1St, 2
 
Essay Essaytips Essay University
Essay Essaytips Essay UniversityEssay Essaytips Essay University
Essay Essaytips Essay University
 
Acknowledgement Samples 06 Acknowledgement Ack
Acknowledgement Samples 06 Acknowledgement AckAcknowledgement Samples 06 Acknowledgement Ack
Acknowledgement Samples 06 Acknowledgement Ack
 
A Sample Position Paper - PHDessay.Com
A Sample Position Paper - PHDessay.ComA Sample Position Paper - PHDessay.Com
A Sample Position Paper - PHDessay.Com
 
PPT - About Our University Essay Writing Services PowerPoint
PPT - About Our University Essay Writing Services PowerPointPPT - About Our University Essay Writing Services PowerPoint
PPT - About Our University Essay Writing Services PowerPoint
 
5 Qualities Of A Professional Essay Writer
5 Qualities Of A Professional Essay Writer5 Qualities Of A Professional Essay Writer
5 Qualities Of A Professional Essay Writer
 
College Essay Princeton Acce
College Essay Princeton AcceCollege Essay Princeton Acce
College Essay Princeton Acce
 
How To Write An Interesting Essay 2. Include Fascinating Details
How To Write An Interesting Essay 2. Include Fascinating DetailsHow To Write An Interesting Essay 2. Include Fascinating Details
How To Write An Interesting Essay 2. Include Fascinating Details
 
Letter Paper Envelope Airmail Writing PNG, Clipart, Board Game
Letter Paper Envelope Airmail Writing PNG, Clipart, Board GameLetter Paper Envelope Airmail Writing PNG, Clipart, Board Game
Letter Paper Envelope Airmail Writing PNG, Clipart, Board Game
 
Really Good College Essays Scholarship Essay Exampl
Really Good College Essays Scholarship Essay ExamplReally Good College Essays Scholarship Essay Exampl
Really Good College Essays Scholarship Essay Exampl
 
Poetry On UCF Diversity Initiatives Website By UCF
Poetry On UCF Diversity Initiatives Website By UCFPoetry On UCF Diversity Initiatives Website By UCF
Poetry On UCF Diversity Initiatives Website By UCF
 
Research Proposal On Childhood Obesity. Childho
Research Proposal On Childhood Obesity. ChildhoResearch Proposal On Childhood Obesity. Childho
Research Proposal On Childhood Obesity. Childho
 
270 Amazing Satirical Essay Topics To Deal With
270 Amazing Satirical Essay Topics To Deal With270 Amazing Satirical Essay Topics To Deal With
270 Amazing Satirical Essay Topics To Deal With
 
How To Write A Good Philosophy Paper. How To
How To Write A Good Philosophy Paper. How ToHow To Write A Good Philosophy Paper. How To
How To Write A Good Philosophy Paper. How To
 

Último

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxsqpmdrvczh
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 

Último (20)

Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 

Awakening Rip Van Winkle

  • 1. Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum Randy Connolly Dept. Computer Science & Information Systems Mount Royal University 4825 Mount Royal Gate SW, Calgary, AB, Canada T3E 6K6 403-440-6061 rconnolly@mtroyal.ca ABSTRACT The world of web development has experienced a great deal of change over the past decade. The importance and complexity of web development is currently not adequately reflected in the ACM Computer Science 2008 Curriculum, nor in most reported computer science programs. This paper examines published literature on teaching the web since 2001 and argues that the computer science curriculum needs to be woken up and modernized in regards to the importance of web development. The paper critiques the approach of teaching web development topics within a single course. It articulates a wide variety of web development topics that need to be covered in any contemporary computer science program and which are often absent in other published accounts of this course. The paper concludes by arguing that a multi-course stream in web development can help the students integrate the discrete pieces of knowledge garnered during their undergraduate education. Categories and Subject Descriptors K.3.2 [Computers and Education]: Computer & Information Science Education – computer science education. General Terms Design, Experimentation. Keywords CS Education, Web Development, Pedagogy. 1. INTRODUCTION One of the earliest and most well-known characters in American literature is that of Rip Van Winkle, who appeared in Washington’s Irving’s Sketch Book of 1819. In the story, Rip, a bit of a lazy vagabond, drinks some dubious home brew up in the hills, falls asleep, awakens twenty years later, and is utterly astounded by the transformation of his colonial village of Sleepy Hollow into a bustling commerce-driven republican town. If like Rip, we were to have slept, but only for the ten years since 2000, we also might be amazed at the transformations in how people experience the web. Back in 1999 people used the web for occasional online shopping at home and examining stock prices or breaking news on their desktop computers. While this kind of usage is still important, the type of web sites being accessed, the user experience while using these sites, and the devices we use to do it has changed quite a bit in the intervening ten years. In this decade, the web has transformed into an ever-present information retrieval mechanism as well as the principal platform for hosting software applications [25]. Somewhat inexplicably, however, while the web has experienced this remarkable transformation, there has been a certain dormancy to the way that the web is being taught in the computer science curriculum. While web topics are certainly a recommended component of a variety of ACM curricula reports, it still very much appears as a peripheral topic within computer science. In the CS 2008 curriculum, for instance, almost all of the topics recognizable as pertaining to the field of web development are marked as elective topics [1]. Similarly, there is a relative dearth of research in the computer education literature which is somewhat surprising given the ostensive importance of web technology in the real world of software development. Each year SIGCSE and ITiCSE have multiple papers on teaching beginning programming, databases, and other curricula areas, but only fairly rarely will a paper on teaching web development appear. In fact, looking at all the papers presented at SIGCSE and ITiCSE in the last decade, only about 1.5% of them have pertained at all to the teaching of web topics. Since 2005 the percentage is even lower; there have been only 17 papers during that time about web topics – and many of those were only peripherally focused on teaching web development. As a point of comparison, in the same five-year time span, there were 65 papers on game-related topics in those two conferences. While clearly this represents the discipline’s interest in trying to increase enrollments in computer science via the appeal of games, it certainly is not at all indicative of the job market computer science graduates will face, one in which arguably a majority of software development jobs are broadly within the web context [21]. One can verify this by examining an employment website such as monster.com or simplyhired.com. For instance, on two different three-day time periods in October and November 2010, there were roughly twice as many web-related development job postings as non-web ones on those two job sites. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ITiCSE’11, June 27–29, 2011, Darmstadt, Germany. Copyright 2010 ACM 978-1-4503-0697-3/11/06...$10.00.
  • 2. Now it is quite possible that the reason why there have been so few papers on teaching web topics is because the professors teaching these courses are too busy adapting to new web technologies to publish their experiences. This is certainly the impression one gets from reading many of these papers (for instance, [2], [19], and [40]). These papers invariably agree with Treu’s designation of the web application course as the “Unteachable Class” [34]. This paper is going to argue that the computer science curricula needs to be woken up and modernized in regards to the importance of web development, and will argue that a two- or a three-course stream in web development can acquaint students with the real world of web application development in a significantly less “unteachable” manner. The paper will describe a variety of web development topics that should be covered in a web stream, and yet which are almost always absent in published accounts of web courses. Its perspective is informed by the author’s experience teaching these topics since 1998, by his on- going experiences as a professional web developer for a wide variety of international clients, and by his experiences writing a book in this field. The paper will conclude by arguing that such a series of courses can also address one of the key problems in the education of our students: namely, how to integrate the discrete pieces of knowledge that they have gathered during their progress through their computer science education. 2. HOW THE WEB IS BEING TAUGHT Most computer science educators would no doubt agree that there is a lot of material that needs to be shoe-horned into a typical four-year computer science program. The ACM curriculum for computer science [1] articulates the very broad body of knowledge in computer science; it consists of recommended mandatory learning outcomes as well as additional optional outcomes. The web topics, subsumed under the banner of Net- centric computing, include only a very small number of mandatory core topic outcomes, mainly of the awareness variety. There are also a number of elective topics that conceivably could be covered by a single optional course on web development. Tellingly, despite a decade of transformation in the real world of web development, the Net-centric topic list in the CS 2008 report is essentially unchanged from the 2001 version [17]. Yet it appears that despite the (limited) mandate of the ACM curriculum and despite the importance of web technology to the student’s own lives, to their job prospects, and also to the research efforts of many computer science professors, not every computer science program includes a course in these topics. In 2003, Lee noted that “there is a surprisingly small number of universities that offer a serious web programming course for the advanced computer science student” [19]. Six years later, Stepp in 2009 noted that most universities still don’t cover web development in their computer science programs, but do so in their IS or IT ones. [33]. Given the unruly and shifting number of web standards and practices, it is not surprising that “there does not seem to be a consensus about where in the curriculum, and at what detail, to introduce this material” [33]. Surveying the literature that does exist on teaching web topics, one can see the most common teaching approaches in Table 1. As is apparent from the number of references, by far the most common way of teaching the web course in the reported literature is to try to fit all the material within a single upper-level course. Not coincidentally, it is in these papers that one finds most of the complaints about the difficulty of teaching the web course. Table 1. Summary of CS web education papers Course Approach # References Teach the material as a CS0 course or as non-major elective. 4 12, 16, 26, 27 Use Javascript in the CS1/CS2 course or teach web topics in a CS 1.5 course. 3 16, 29, 33 An intermediate to advanced single web course which sometimes serves as a capstone course. 14 2, 3, 4, 10, 14, 19, 22, 23, 29, 32, 34, 36, 37, 40 A two (or more) course stream on web development. 3 13, 16, 24 3. WEB TOPICS TO BE TAUGHT Given the oft-stated worries about the breadth of material needing to be taught in a web course, this author strongly believes that the All-the-Web-in-One-Course (AWOC) approach very much needs to be retired. Back in the late 1960s/early 1970s, a math program might have had a single course in programming in Fortran or a business program might have a single course on data processing in Cobol, 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 by now be in a similar state. The principal reason why the AWOC approach is no longer appropriate is due to the peculiar combination of change and persistence that characterizes the web development world. As noted by many of the authors cited in this paper, the web environment is one very much characterized by flux. It is this author’s belief that the web environment experiences something analogous to paradigm shifts, in that web development experiences cycles of short periods of substantial change followed by periods of relative stability (see Table 2). The key point is that these are not exactly paradigm shifts in the Kuhnean sense since a previous web technology isn’t always being displaced and replaced (though, for instance, with CGI and ASP it was); more often the next set of important technologies or approaches are being used “on top” of, or in addition to, the previous ones, meaning that knowledge and expertise in the previous paradigm is still required. Table 2. Web development paradigms Principal technology context/layer Approx. Year HTML + CGI 1995-1998 CSS (simple) + Javascript (simple) + ASP/JSP 1999-2002 Semantic Web Standards + PHP/ASP.NET 2003-2006 AJAX + REST/JSON services 2006-2009 Frameworks + Platforms (WordPress,JQuery,Sharepoint,etc) 2009-
  • 3. There are indications that the web development environment is currently at the start of a new cycle of change and, as such, new topics need to be integrated into how we teach the web. For those stuck in an AWOC model, it will become increasingly difficult to keep those courses comprehensive and relevant. As the title of another paper with a similar theme suggests, those courses will increasingly seem like they are “partying like it’s 1999” [5]. So what needs to continue to be taught in any web course and what new topics need to be added in? The remainder of this section describes those web topics divided into two subcategories: material that is proscribed, however briefly, in the ACM CS 2008, and material that is not mentioned in the ACM report, but which, nonetheless, needs to be covered in contemporary and future web courses. 3.1 Web Topics in CS 2008 The obvious beginning point of any web stream is with the way the web works (e.g., the various protocols, the hardware infrastructure, etc) and with HTML itself. While HTML is relatively trivial to learn, it is important to cover it in a way that is consonant with contemporary best practice usage. For reasons of accessibility [27], maintainability, content management system (CMS) integration, and search-engine optimization (SEO), HTML markup today is semantically-structured so as to separate content from presentation [41]. For these same reasons, CSS is now an essential part of web development. CSS coverage in reported AWOC courses is often quite minimal [2,22,36]. While basic text formatting in CSS is indeed quite straightforward, real world CSS, which is commonly used as well for positioning and layout, is notoriously difficult to master due to browser bugs, incompatibilities, and non-obvious CSS box model interactions [41]. To complicate matters further, the CSS landscape is undergoing a period of transition, with both CSS3 and CSS frameworks like 960 adding to the layers of CSS knowledge necessary for contemporary and future practitioners. Javascript is another key web development technology. The type of Javascript that can be covered in just a few lectures (rollovers, form data validation, browser sniffing) was reasonably close to what was needed professionally in the late 1990s. Since the “discovery” of XmlHttpRequest and the subsequent flourishing of new user interface coding and asynchronous communication with web services, Javascript coding has become simultaneously crucial to contemporary web development and significantly more complicated. Analogous to the case with CSS, this type of Javascript programming is very difficult to learn due to browser differences, the untyped nature of the language, the lack of a cross-browser debugging environment, and the general conceptual complexity of working with callback functions. Another key part of learning real-world web development is the server-side environment. Potentially this is a very large topic and has its own difficulties from a teaching perspective. There are a number of different competing technologies (PHP, ASP.NET, JSP, Ruby on Rails) which all accomplish the same thing: interacting with server resources and programmatically generating HTML, CSS, and Javascript that is returned to the browser. Server-side development also has a number of substantial additional topics, such as the HTTP protocol, SQL and database- access APIs, replicating database changes across data servers, local and distributed transactions, maintaining state (via cookies, sessions, querystrings, and form elements) across requests (and, in a web farm, across processes), internationalization, architecting web infrastructures for scalability, and enterprise design patterns, which are almost impossible to fit into a AWOC course. Digital media and information architecture and usability is another vital area of real-world web practice. This area is often under-represented in most reported web courses. Usability in general is a very large topic and will likely be covered in a computer science program’s HCI courses. Nonetheless, usability in the web context does require its own unique topics which may not make it into the typical HCI course. These topics include: the unique factors affecting web site usability, the different ways of organizing and structuring web content, the development and articulation of web conventions, designing web navigation systems, and an overview of visual design principles. These usability topics rarely make it into an AWOC course. Of all the papers examined for this article, only [27], [31], and [39] included usability or digital media in its reported topic lists. Web vulnerabilities/security is another vital web topic that can be difficult to comprehensively cover using the AWOC approach (see [22] for an exception). Security in general is a very large topic, and many of the more important general issues and concepts are likely to be covered in a dedicated networking course. Web security does have its own unique problems and concerns. For instance, cross-site scripting, SQL injection attacks and other common web vulnerabilities are unique to the web context and as a consequence are often not covered in a standard network security course. Interestingly, none of the current web textbooks [7,18,30] examined for this paper contained any substantial material on web security. 3.2 Web Topics Not in CS 2008 While most of the reported web courses cover some portion of the preceding topics, the remaining topics that need to be taught in any future web courses are almost never covered. The first of these topics is that of web frameworks and APIs. One of the key features of the contemporary web landscape is that many organizations are no longer creating their web infrastructure from scratch but are using single (or integrating multiple) already existing open-source and/or proprietary web frameworks [11, 35]. Complex content management systems such as Drupal, Joomla, DotNetNuke, or Microsoft SharePoint, blogging systems such as WordPress or Blogger, web forums such as phpBB or vBulletin, e-commerce systems such osCommerce or Magento, and common business practice portals and services such as SugarCRM, Salesforce, or Exact are often used as the main framework for an organization’s public or private web presence. In other words, the platform for current and future web development is expanding significantly beyond LAMP (Linux, Apache, MySQL, and PHP) or WISA (Windows, IIS, SQL Server, and ASP.NET). Contemporary web development is increasingly more about building new solutions that involve customizing or leveraging APIs and/or extension frameworks (which may themselves be built on LAMP or WISA, so knowledge of them is still required), such as the Facebook API, Sharepoint, Drupal, WordPress, Zend, JQuery, and ASP.NET MVC. The scale of something like the Facebook API usage (over a million developers and over half a million applications [9]) or
  • 4. the number of sites built on WordPress (perhaps as many as 10% of all significant sites on the entire web [11]) is often invisible to the end user, but is something that needs to be made completely visible to our computer science students. For the students, it is important to learn about the existence of these existing frameworks because the future of web systems will increasingly lie in their use, integration, and customization. Another important part of the web systems knowledge area that is generally missing from computer science education is that of hosting and deployment. For practical reasons, students generally learn web development using their own computer or a lab computer as if it was a web server. Ultimately, however, a web site needs to be deployed on a public web server. Students thus need to learn about the advantages and disadvantages of the main web server platforms as well as third-party hosting environments. Hosting topics such as web gardens, web farms, load balancing, data center redundancy and replication, as well as server configurations for scalability also need to be covered if a computer science graduate is going to have a realistic sense of the contemporary web world. Finally, it is important for students to learn about web service consumption and integration, especially RESTful services (though SOAP services should be taught as well). With the broad interest in the asynchronous consumption of server data at the browser using Javascript (generally referred to as AJAX) and due to the relatively easy availability of a wide-range of RESTful services, a new style of web development known as the mashup has become increasingly common [10,14]. Consuming these services typically involves learning XML parsing, XPath search expressions, as well as more conceptual issues such as mediation techniques between heterogeneous data sources [6]. 4. SAMPLE WEB COURSES The previous section described a range of topics that should be covered in our web courses. Below is one sample way to split this material across three hypothetical semester courses. It should be mentioned that this list is not completely hypothetical in that it is the way this author’s department teaches the web. It may be possible to reduce some of the coverage in order to fit it into just two courses or to fit it into three quarter-style courses. 4.1 Web 1 This course covers the concepts and practice necessary for creating an effective web site at the introductory level. Topics include: how the web works, XHTML (with an emphasis on web standards, accessibility, and semantic markup), CSS (not just styling but also positioning and layout), digital media, information architecture and usability, a very brief introduction to Javascript, and a brief introduction to server-side development. 4.2 Web 2 This course covers the concepts and technologies needed to design and develop server-side applications. Its main focus would be on how server-side technology works and on developing with server-side technology. Complicated web development environments such as JSP or ASP.NET have a substantial learning curve. A fair percentage of this type of course must be devoted to teaching the practicalities of developing within it. Other topics would include accessing databases in web applications, software design in web applications, designing for scalability and reliability, mechanisms for maintaining state, consuming REST and SOAP web services, and designing and implementing web security (though these last two could move to the Web 3 course). 4.3 Web 3 This course expands on the foundation client, server, and database topics. The course covers: intermediate Javascript development, asynchronous consumption of web services in Javascript, using Javascript frameworks and web APIs, web application deployment and hosting, and issues in adapting web sites for differing locales and cultures. 5. CONCLUSION It is this author’s strong belief that teaching web topics can play a vital role in the development of a computer science student. Adams has noted that one of the key limitations with computer science education and the many specialized knowledge competencies it tries to engender is that “students struggle to put all the pieces together” [2]. Humphrey similarly noted this lacuna not just in undergraduate but in graduate computer science students as well; even graduate students “usually have little or no experiences in designing, implementing, and evaluating, large- scale software systems for complex, dynamic, and heterogeneous environments” [14]. That is, it is not enough to teach each technology and concept in isolation; “students must understand how these technologies relate to each other” [2]. This theme has also been raised by a number of other authors in their reflections on what needs to be improved in the way computer science is taught [8,28]. One of the key benefits to teaching web development in two or three serious web courses is that it can provide the students with a taste of that needed integration and complexity. Kazmerik [15] reported in an undergraduate student’s perspective on just such a series of two web courses that the experience was akin to finally getting to play the guitar. In Kazmerik’s analogy, all the prior computer courses were about understanding or making some small component pieces of the guitar, such as the strings, the pickups, or the frets. This, according to Kazmerik, frustrates the students because they decided to take a computer degree because of their desire to the guitar – that is, many took computer science because of their desire to create a finished, complex and inspiring software system such as a real game or a real web application. A multi-course web stream can provide that much-desired integration for the upper-level students. It can provide an experience that White and Weinberg have called for: core integration at the end of the CS curriculum that helps “clarify the manner in which the core areas [of the computer science curriculum] are interdependent” [38]. 6. ACKNOWLEDGMENTS The author would like to thank Amber Settle for her very diligent reading and insightful feedback on earlier drafts of this paper. 7. REFERENCES [1] ACM Interim Review Task Force. (2008). Computer Science Curriculum 2008: An Interim Revision of CS 2001.
  • 5. http://www.acm.org/education/curricula/ComputerScience20 08.pdf. [2] Adams, D. R. (2007). Integration early: a new approach to teaching web application development. Journal of Computing Sciences in College. 23 (1): 97-104. [3] Bloss, A. (2001). Teaching fundamentals for web programming and e-commerce in a liberal arts computer science curriculum. Journal of Computing Sciences in Colleges 16 (2). [4] Coffman, J. and Weaver, A.C. (2010). Electronic Commerce Virtual Laboratory. In SIGCSE '10. [5] Connolly, R. (2009). No Longer Partying Like It’s 1999: Designing a Modern Web Stream Using the IT2008 Curriculum Guidelines. In SIGITE '09. [6] Connolly, R (2010). Small service is true service while it lasts: integrating web services into IT education. In SIGITE '10. [7] Deitel, H., Deitel, P. (2008). Internet & World Wide Web: How to Program, Fourth Edition. Prentice Hall. [8] Denning, P. and McGettrick, A. (2005). Recentering Computer Science. Communications of the ACM 48 (11). [9] Facebook. (2010). Press Room. http://www.facebook.com/press/info.php?statistics. [10] Frydenberg, M. (2008). Slickr: A Multi-Tiered Web Development Capstone Project Using Databases, Web Services, and AJAX. Information Systems Education Journal 6 (37). [11] Gelbmann, M. (2010). The amazing dominance of WordPress as CMS. http://w3techs.com/blog. [12] Gousie, M.B. (2006). A Robust Web Programming and Graphics Course for Non-Majors. In SIGCSE '06. [13] Hufford, K.D. (2001). CS265 web network and web site management development of a core course in the Internet technology minor curriculum. Journal of Computing Science in Colleges 16 (4). [14] Humphrey, Marty. (2004). Web Services as the Foundation for Learning Complex Software System Development. In SIGCSE ‘04. [15] Kazmerik, R. W. (2010). Who cares about web services?: a student perspective on web technology education. In SIGITE '10. [16] Knuckles, C. D. (2002). A net-centric curricular focus. Journal of Computing Sciences in Colleges 17 (6). [17] Joint Task Force on Computing Curricula. (2001). Computing Curricula 2001 Computer Science. [18] Lecky-Thompson, G.W. (2008). Just Enough Web Programming with XHTML, PHP, and MySQL. Course Technology. [19] Lee, A. H. (2003). A manageable web software architecture: searching for simplicity. In SIGCSE ’03. [20] Lim, B., Hosack, B, and Vogt, P. (2010). A web service- oriented approach to teaching CS/IS1. In SIGCSE '10. [21] Monster.com. (2009). Winter 2009-10 IT Job Market Report. http://media.monster.com/a/i/intelligence. [22] Noonan, R.E. (2007). A course in web programming. Journal of Computing Sciences in Colleges 22 (3). [23] Olan, M. (2009). Web applications: a test bed for advanced topics. Journal of Computing Sciences in Colleges 24 (3). [24] Phillips, J., et al (2002). Design of a two-course sequence in web programming and e-commerce. Journal of Computing Sciences in Colleges 19 (2). [25] Pirolli, P. (2007). Information Foraging Theory: Adaptive Interaction with Information. Oxford University Press. [26] Reed, D. (2001). Rethinking CS0 with JavaScript. In SIGCSE ‘01. [27] Rosmaita, B.J. (2006). Accessibility first!: a new approach to web design. In SIGCSE '06. [28] Sahami, M., Aiken, A., and Zelenski, J. (2010). Expanding the frontiers of computer science: designing a curriculum to reflect a diverse field. In SIGCSE '10. [29] Scott, T., Ursyn, A. (2006). A web design course team taught by professors in art and computer science. Journal of Computing Sciences in Colleges 22 (1). [30] Sebesta, R. W. (2009). Programming the World-Wide Web, Fifth Edition. Addison-Wesley. [31] Sharda, N. (2007). Creating innovative new media programs: need, challenges, and development framework. In Emme '07. [32] Silverman, R. (2007). Ecommerce systems design course using Java servlets. Journal of Computing Sciences in Colleges 23 (1). [33] Stepp, M., Miller, J., and Kirst, V. (2009). A ‘CS 1.5’ Introduction to Web Programming. In SIGCSE ‘09. [34] Treu, K. (2002). To teach the unteachable class: an experimental course in web-based application design. In SIGCSE ‘02. [35] W3techs .com. (2010). Historical trends in the usage of content management systems for websites. http://w3techs.com/technologies/history_overview. [36] Wang, X. (2006). A practical way to teach web programming in computer science. Journal of Computing Sciences in Colleges 22 (1). [37] Weaver, A.C. Electronic Commerce Software Laboratory. (2004). In SIGCSE '04. [38] White, W. W. and Weinberg, J. B. (2009). Breadth-last technical electives: integrating the CS core via computer games and mobile robotics. In SIGCSE '09. [39] Wong, Y.L., Burg, J., and Strokanova, V. (2004). Digital media in computer science curricula. In SIGCSE '04. [40] Yue, K.B., Ding, W. (2004). Design and evolution of an undergraduate course on web application development. In ITiCSE '04. [41] Zeldman, J. (2003). Designing with Web Standards. New Riders