SlideShare a Scribd company logo
1 of 65
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

More Related Content

Similar to Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum

Prog db-and-web-with-html-php-and-my sql
Prog db-and-web-with-html-php-and-my sqlProg db-and-web-with-html-php-and-my sql
Prog db-and-web-with-html-php-and-my sql
Antara Sharma
 
Standards Education W3 C 15.10.2009 Small
Standards Education W3 C 15.10.2009 SmallStandards Education W3 C 15.10.2009 Small
Standards Education W3 C 15.10.2009 Small
Patrick Lauke
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
AliaaTarek5
 

Similar to Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum (20)

Web technologies
Web technologiesWeb technologies
Web technologies
 
Introduction to Web Frameworks
Introduction to Web FrameworksIntroduction to Web Frameworks
Introduction to Web Frameworks
 
Prog db-and-web-with-html-php-and-my sql
Prog db-and-web-with-html-php-and-my sqlProg db-and-web-with-html-php-and-my sql
Prog db-and-web-with-html-php-and-my sql
 
Trends and innovations in web development course
Trends and innovations in web development course Trends and innovations in web development course
Trends and innovations in web development course
 
Standards Education W3 C 15.10.2009 Small
Standards Education W3 C 15.10.2009 SmallStandards Education W3 C 15.10.2009 Small
Standards Education W3 C 15.10.2009 Small
 
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
Facing Backwards While Stumbling Forwards: The Future of Teaching Web Develop...
 
Becoming a MEAN Stack Developer_ A Step-by-Step Guide
Becoming a MEAN Stack Developer_ A Step-by-Step GuideBecoming a MEAN Stack Developer_ A Step-by-Step Guide
Becoming a MEAN Stack Developer_ A Step-by-Step Guide
 
emerging
emergingemerging
emerging
 
emerging
emergingemerging
emerging
 
Course Document
Course DocumentCourse Document
Course Document
 
Web based Software Development
Web based Software DevelopmentWeb based Software Development
Web based Software Development
 
Full Stack Development Course
Full     Stack     Development    CourseFull     Stack     Development    Course
Full Stack Development Course
 
Angular vs React vs Vue – The Right Framework For You.pdf
Angular vs React vs Vue – The Right Framework For You.pdfAngular vs React vs Vue – The Right Framework For You.pdf
Angular vs React vs Vue – The Right Framework For You.pdf
 
Trends in Technology
Trends in TechnologyTrends in Technology
Trends in Technology
 
Why you should use a web framework, eventually
Why you should use a web framework, eventuallyWhy you should use a web framework, eventually
Why you should use a web framework, eventually
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
Mvc3 part1
Mvc3   part1Mvc3   part1
Mvc3 part1
 
Web Design for Everybody (Basics of Web Development and Coding)
Web Design for Everybody (Basics of Web Development and Coding)Web Design for Everybody (Basics of Web Development and Coding)
Web Design for Everybody (Basics of Web Development and Coding)
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
 

More from Randy Connolly

Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...
Randy Connolly
 

More from Randy Connolly (20)

Celebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and DisciplinesCelebrating the Release of Computing Careers and Disciplines
Celebrating the Release of Computing Careers and Disciplines
 
Public Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI CrisisPublic Computing Intellectuals in the Age of AI Crisis
Public Computing Intellectuals in the Age of AI Crisis
 
Why Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social SciencesWhy Computing Belongs Within the Social Sciences
Why Computing Belongs Within the Social Sciences
 
Ten-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS DegreeTen-Year Anniversary of our CIS Degree
Ten-Year Anniversary of our CIS Degree
 
Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)Careers in Computing (2019 Edition)
Careers in Computing (2019 Edition)
 
Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)Where is the Internet? (2019 Edition)
Where is the Internet? (2019 Edition)
 
Modern Web Development (2018)
Modern Web Development (2018)Modern Web Development (2018)
Modern Web Development (2018)
 
Helping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing DisciplinesHelping Prospective Students Understand the Computing Disciplines
Helping Prospective Students Understand the Computing Disciplines
 
Constructing a Web Development Textbook
Constructing a Web Development TextbookConstructing a Web Development Textbook
Constructing a Web Development Textbook
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
 
Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"Disrupting the Discourse of the "Digital Disruption of _____"
Disrupting the Discourse of the "Digital Disruption of _____"
 
17 Ways to Fail Your Courses
17 Ways to Fail Your Courses17 Ways to Fail Your Courses
17 Ways to Fail Your Courses
 
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
Red Fish Blue Fish: Reexamining Student Understanding of the Computing Discip...
 
Constructing and revising a web development textbook
Constructing and revising a web development textbookConstructing and revising a web development textbook
Constructing and revising a web development textbook
 
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing DisciplinesComputing is Not a Rock Band: Student Understanding of the Computing Disciplines
Computing is Not a Rock Band: Student Understanding of the Computing Disciplines
 
Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...Citizenship: How do leaders in universities think about and experience citize...
Citizenship: How do leaders in universities think about and experience citize...
 
Thinking About Technology
Thinking About TechnologyThinking About Technology
Thinking About Technology
 
Web Security
Web SecurityWeb Security
Web Security
 
CSS: Introduction
CSS: IntroductionCSS: Introduction
CSS: Introduction
 
HTML: An Introduction
HTML: An IntroductionHTML: An Introduction
HTML: An Introduction
 

Recently uploaded

會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
中 央社
 
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
Krashi Coaching
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
heathfieldcps1
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 

Recently uploaded (20)

Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
BỘ LUYỆN NGHE TIẾNG ANH 8 GLOBAL SUCCESS CẢ NĂM (GỒM 12 UNITS, MỖI UNIT GỒM 3...
 
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽會考英聽
 
The Liver & Gallbladder (Anatomy & Physiology).pptx
The Liver &  Gallbladder (Anatomy & Physiology).pptxThe Liver &  Gallbladder (Anatomy & Physiology).pptx
The Liver & Gallbladder (Anatomy & Physiology).pptx
 
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
MSc Ag Genetics & Plant Breeding: Insights from Previous Year JNKVV Entrance ...
 
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
Mattingly "AI and Prompt Design: LLMs with Text Classification and Open Source"
 
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
 
The Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDFThe Story of Village Palampur Class 9 Free Study Material PDF
The Story of Village Palampur Class 9 Free Study Material PDF
 
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community PartnershipsSpring gala 2024 photo slideshow - Celebrating School-Community Partnerships
Spring gala 2024 photo slideshow - Celebrating School-Community Partnerships
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
demyelinated disorder: multiple sclerosis.pptx
demyelinated disorder: multiple sclerosis.pptxdemyelinated disorder: multiple sclerosis.pptx
demyelinated disorder: multiple sclerosis.pptx
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
Including Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdfIncluding Mental Health Support in Project Delivery, 14 May.pdf
Including Mental Health Support in Project Delivery, 14 May.pdf
 
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....diagnosting testing bsc 2nd sem.pptx....
diagnosting testing bsc 2nd sem.pptx....
 
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH FORM 50 CÂU TRẮC NGHI...
 

Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum

  • 1. 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
  • 2. In the past decade, the world of web development, has experienced a remarkable transformation t f ti
  • 3.
  • 4. The web development topics in the ACM Computer Science Curriculum barely changed from 2001 to 2008.
  • 6. Almost all of the topics recognizable as pertaining to the field of web development are marked as elective topics in the CS 2008 curriculum.
  • 7.
  • 8. There has been a real dearth of research on the teaching of web topics. b i
  • 9.
  • 10.
  • 11. 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
  • 12. 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.
  • 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 that do exist generally begin by stressing the th many diffi lti difficulties in teaching a web development course.
  • 15. “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.
  • 16. One researcher has labeled the web application course the “Unteachable Class” Unteachable Class
  • 17. 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
  • 18. 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
  • 19. Given the importance of web systems, p y , the time has come for retiring the AWOC approach
  • 20. 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.
  • 21. 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
  • 23. Because web development is 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 stuck with the AWOC approach it will become increasingly difficult to keep the course comprehensive and relevant
  • 26. Because of the time limitations of the AWOC approach, the content in these single web courses i gl b increasingly seem like they are …
  • 28.
  • 29. We teach the web stream in three courses … … th gh it could though ld be done in two.
  • 31. The focus in this course is mainly on th client i l the li t ( (i.e., the browser) , )
  • 32. 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
  • 33.
  • 34. HTML Not just the details (which are trivial) but also how to do semantic separation of content from presentation.
  • 35. 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
  • 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 of CSS is notoriously difficult to master due to browser bugs incompatibilities, and non-obvious bugs, incompatibilities CSS box model interactions.
  • 38. 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.
  • 39. Another important part of web development that is almost always left out of the AWOC approach is digital media
  • 40. 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.
  • 41. Second S d Course
  • 42. 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
  • 43. 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
  • 44. 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.
  • 45. 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.
  • 46. Server-side development also has a number of substantial additional topics topics, which are difficult to fit into a single AWOC course.
  • 47. Web-based APIs usingg REST or 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
  • 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, Deployment Hosting 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 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
  • 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 organizations are 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 perhaps the most substantial revolution in web development since the mass adoption of h d i f CSS in the early 2000s
  • 58. 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.
  • 59. 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.
  • 60. 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.
  • 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 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
  • 64. The complexity of current 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