Successfully reported this slideshow.

Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum

1

Share

1 of 65
1 of 65

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Awakening Rip Van Winkle: Modernizing the Computer Science Web Curriculum

  1. 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. 2. In the past decade, the world of web development, has experienced a remarkable transformation t f ti
  3. 3. The web development topics in the ACM Computer Science Curriculum barely changed from 2001 to 2008.
  4. 4. FURTHERMORE
  5. 5. Almost all of the topics recognizable as pertaining to the field of web development are marked as elective topics in the CS 2008 curriculum.
  6. 6. There has been a real dearth of research on the teaching of web topics. b i
  7. 7. 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
  8. 8. 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.
  9. 9. 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
  10. 10. The papers that do exist generally begin by stressing the th many diffi lti difficulties in 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 researcher has labeled the web application course the “Unteachable Class” Unteachable Class
  13. 13. 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
  14. 14. 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
  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 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.
  17. 17. 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
  18. 18. Why not?
  19. 19. Because web development is characterized by peculiar combination of change and persistence
  20. 20. 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
  21. 21. For those stuck with the AWOC approach it will become increasingly difficult to keep the course comprehensive and relevant
  22. 22. Because of the time limitations of the AWOC approach, the content in these single web courses i gl b increasingly seem like they are …
  23. 23. partying like it’s 1999
  24. 24. We teach the web stream in three courses … … th gh it could though ld be done in two.
  25. 25. First Fi t Course
  26. 26. The focus in this course is mainly 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 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
  28. 28. HTML Not just the details (which are trivial) but also how to do semantic separation of content from presentation.
  29. 29. 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
  30. 30. 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.
  31. 31. This type of CSS is notoriously difficult to master due to browser bugs incompatibilities, and non-obvious bugs, incompatibilities CSS 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 et in CSS trade books is due to this difficulty. Students do not gain knowledge by being shielded from this complexity complexity.
  33. 33. Another important part of web development that is almost always left out of the AWOC approach is digital media
  34. 34. 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.
  35. 35. Second S d Course
  36. 36. 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
  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 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
  38. 38. 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.
  39. 39. 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.
  40. 40. Server-side development also has a number of substantial additional topics topics, which are difficult to fit into a single AWOC course.
  41. 41. Web-based APIs usingg REST or SOAP services are also an important part of the web world of 2008+
  42. 42. flickr MusicMoz last.fm last fm cloudspeakers amazon livenation Videos from youtube Concerts from Upcoming.org yahoo
  43. 43. Third Thi d Course
  44. 44. This ti Thi optional, f th l fourth-year course expands on the p foundation client, server, and database topics topics.
  45. 45. 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
  46. 46. 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.
  47. 47. 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.
  48. 48. 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
  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 h None of the current web textbooks examined for this paper contained any substantial material on web security security.
  50. 50. 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.
  51. 51. This is perhaps the most substantial revolution in web development since the mass adoption of h d i f CSS in the early 2000s
  52. 52. 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.
  53. 53. 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.
  54. 54. 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.
  55. 55. 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.
  56. 56. 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
  57. 57. Conclusion
  58. 58. The complexity of current web systems requires a multi- course approach to teaching the material material.
  59. 59. Randy Connolly Dept. Computer Science & Information Systems p p y Mount Royal University, Calgary, Canada rconnolly@mtroyal.ca Images from iStockPhoto and stock.xchng

×