Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum


Published on

Presentation of paper for ITiCSE 2011 in Darmstadt, Germany.

Published in: Education
  • Be the first to comment

  • Be the first to like this

Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum

  1. 1. Awakening Rip Van WinkleModernizingM d i itheComputer S iC t ScienceWeb CurriculumRandy ConnollyMount RM Royal U i l University i
  2. 2. In the past decade,the world of web development,has experienced a remarkabletransformationt f ti
  3. 3. The web development topics in theACM Computer Science Curriculumbarely changed from 2001 to 2008.
  5. 5. Almost all of the topicsrecognizable as pertaining to thefield of web development aremarked as elective topicsin the CS 2008 curriculum.
  6. 6. There has been a real dearthof research on the teaching ofweb topics. b i
  7. 7. Lee [2003]“there is a surprisinglysmall number of universitiesthat offer a serious web programming p g gcourse for theadvanced computer science student”Steep [ p [2009] ]most universities still don’t cover webdevelopment in their computer sciencep gprograms, but do so in their IS or IT one
  8. 8. Given the importance of web technologyin the real world of software development,This relative lack of interestin thei th web b computer science b by t iis somewhat surprising.
  9. 9. Number of Web-Based Software Development JobsNumber of Non-WebSoftware DevelopmentJobs Based on searches in Oct + Nov 2010 on and
  10. 10. The papers that do existgenerally begin by stressingtheth many diffi lti difficultiesin teaching a web development course.
  11. 11. “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.
  12. 12. One researcherhas labeled theweb applicationcourse the “Unteachable Class” Unteachable Class
  13. 13. Examining the literature,web content is usually being taught using thebroad but shallowAll-the-Web-in-One-Course (AWOC) ll h bapproach
  14. 14. Of CS web education papers reported A single web course16% Web taught in CS0 or elective12% Javascript in CS1/CS212% Multicourse stream on web
  15. 15. Given the importance of web systems, p y ,the time has come for retiring the AWOC approach
  16. 16. While the AWOC approach does give studentsa sense of the big picture of web development, gp p ,it by no means provides the studentswith anything approaching proficiencyin contemporary practice.
  17. 17. Back in the early 1970s, a math programmight have had a single course in g gprogramming in Fortran,but eventually it was recognized that a bodyof knowledge as complex as programmingrequires multiple courses to teach thematerial properly.Web developmentshould be in asimilar state today
  18. 18. Why not?
  19. 19. Because web development ischaracterized by peculiar combination ofchangeandpersistence
  20. 20. 2009- Frameworks + Platforms (WordPress,JQuery,Sharepoint,etc)2006-20092006 2009 AJAX + REST/JSON services Semantic Web Standards +2003-20062003 2006 CSS (positional) + PHP/ASP.NET CSS (simple) +1999-2002 Javascript (simple) + ASP/JSP + Usability1995-1998 HTML + CGI + Graphics
  21. 21. For those stuck with the AWOC approachit will become increasinglydifficult to keep the coursecomprehensiveandrelevant
  22. 22. Because of the timelimitations of theAWOC approach, thecontent in thesesingle web courses i gl bincreasingly seemlike they are …
  23. 23. partyinglike it’s1999
  24. 24. We teach theweb streamin three courses …… th gh it could though ldbe done in two.
  25. 25. FirstFi tCourse
  26. 26. The focus in this course ismainly on th client i l the li t((i.e., the browser) , )
  27. 27. How the web works.XHTML with an emphasis on web standards, accessibility,and semantic markup pCSS – not just styling but also positioning and layoutDigital media.Information architecture and usabilityVery brief (one week) introduction to Javascript Javascript.Intro (two weeks) to server-side development with PHP. ( ) p
  28. 28. HTMLNot just the details(which are trivial)but also how to dosemantic separationof content frompresentation.
  29. 29. CSS coverage in AWOC courses isoften quite minimal. For instance, Adams and Noonan both report half a week for covering CSS, while Wang reports one lecture and one lab. p
  30. 30. However, due topractitionerspractitioners’ movetowards web standards andsemantically-orientedsemantically orientedmarkup,real world CSS iscommonly used as well forpositioning and layout.
  31. 31. This type of CSS is notoriouslydifficult to master due tobrowser bugs incompatibilities, and non-obvious bugs, incompatibilitiesCSS box model interactions.
  32. 32. The reason w y t e e is suc a flourishing market e easo why there s such lou s g a etin CSS trade books is due to this difficulty.Students do not gain knowledgeby being shielded from this complexity complexity.
  33. 33. Another important part of webdevelopment that is almost alwaysleft out of the AWOC approach isdigital media
  34. 34. Yet another vital knowledgearea in web development isusability, an area that isalmost always ignored inAWOC courses.None of the current webN f h btextbooks examined for thisp ppaper contained any substantial ymaterial on usability.
  35. 35. SecondS dCourse
  36. 36. The focus in this course ismainly on the server side server-side.We decided that thisW d id d th t thi course will cover illa different type of server-sidetechnology th th fi t course.t h l than the first
  37. 37. 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 applicationsDeveloping with ASP.NET. p gAccessing databases in web applications.Software design in web applications.Mechanisms for maintaining state in web applications applications.Consuming REST and SOAP web services
  38. 38. A key part of learning real-world web development is pthe server-sideenvironment.Potentially this is a very y ylarge topic, and has its owndifficulties from a teachingperspective.
  39. 39. If students haven t fully haven’tmastered the ability toimplement a non trivial design non-trivialin HTML, CSS, and Javascript,the added indirection ofwriting a program to generateHTML, CSSHTML CSS, and Javascript canbe quite tricky conceptuallyfor a novice developer developer.
  40. 40. Server-side development also has anumber of substantial additional topics topics,which are difficult to fit into a singleAWOC course.
  41. 41. Web-based APIs usinggREST or SOAP servicesare also an importantpart of the web worldof 2008+
  42. 42. flickrMusicMoz last fm cloudspeakers amazon livenation Videos from youtube Concerts from yahoo
  43. 43. ThirdThi dCourse
  44. 44. This tiThi optional, f th l fourth-yearcourse expands on the pfoundation client, server,and database topics topics.
  45. 45. Javascript and AsynchronousJQuerySecurityDeployment,Deployment Hosting and AdministrationFrameworksSearch Engines, Search Optimization, Analytic ToolsInternationalization and other issues in adapting web sitesfor differing locales and cultures
  46. 46. Javascript h bJ i t has become t toocomplex to be covered in aAWOC course.The type of Javascript that canbe covered in one or two weeks(rollovers, form data validation, browser sniffing)was reasonably close to whatwas needed professionally in thelate 1990s.
  47. 47. Since th diSi the discovery of X lHtt R f XmlHttpRequest tand the subsequent flourishing of newuser interface coding and asynchronouscommunication with web services, i i ih b i Javascript coding as become simultaneously crucial to contemporary web development and significantly more complicated.
  48. 48. Analogous to the case with CSS,this type of Jthi t f Javascript i tprogrammingis very difficult to learn due to:browser differences,the untyped nature of the language,the lack of a cross-browser debuggingenvironment,general conceptual complexity ofworking with callback functions
  49. 49. Web vulnerabilities/security is another area that is d ff l h h difficult to comprehensively cover in the A OC approach h AWOC hNone of the current webtextbooks examined for thispaper contained any substantialmaterial on web security security.
  50. 50. More and moreorganizations are i tiusing alreadyexisting open- i isource and/orproprietary webframeworksinstead ofcreating theirweb infrastructurefrom scratch.
  51. 51. This is perhaps themost substantialrevolution in webdevelopment sincethe mass adoption of h d i fCSS in the early2000s
  52. 52. Content management systems,blogging systems,bl i tand web forumsare more and moreoften being usedas the main framework for anorganization sorganization’s public or privateweb presence,since these systems handlemany of the most common webneeds of an organization.
  53. 53. Similarly,Similarly due to thecomplexity of layout-oriented CSS and AJAX i t d d AJAX-focused Javascript, it isbecoming increasinglycommon to use anexisting CSS orJavascript framework framework.
  54. 54. On the design side, webdevelopers can quicklyd l i klcreate a web design bymaking use of pre-existing ki f i tiweb designs and templates.
  55. 55. For the students, it is important to learnabout the existence of these existingframeworks and templates because the futureof web systems will increasingly lie in theiruse, 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.
  56. 56. Our students also need to learn acertain amount about hosting andadministration issues, such as:The architecture of the main web serverplatforms such as Apache and Microsoft’s IIS.Hosting topics such as web gardens, web gardensfarms, load balancing, and serverconfigurations for scalability. Image Source:
  57. 57. Conclusion
  58. 58. The complexity of currentweb systems requires a multi-course approach to teachingthe material material.
  59. 59. Randy Connolly Dept. Computer Science & Information Systems p p y Mount Royal University, Calgary, Canada rconnolly@mtroyal.caImages from iStockPhoto and stock.xchng