• Save
No longer partying like it's 1999: designing a modern web stream
Upcoming SlideShare
Loading in...5
×
 

No longer partying like it's 1999: designing a modern web stream

on

  • 911 views

Talk I gave at SIGITE 2009 about how to modernize the teaching of web development.

Talk I gave at SIGITE 2009 about how to modernize the teaching of web development.

Statistics

Views

Total Views
911
Views on SlideShare
902
Embed Views
9

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 9

http://randyconnolly.com 9

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

No longer partying like it's 1999: designing a modern web stream No longer partying like it's 1999: designing a modern web stream Presentation Transcript

  • No longer partying like it’s 1999 Designing a modern web stream using the IT2008 Curriculum Guidelines
  • Given the importance of web technology in the real world of software development, the relative dearth of research is somewhat surprising . in the computer education literature
  • The papers that do exist in teaching a web development course. generally begin by stressing the many difficulties
  • teaching a web development course to computer students is challenging because of large bodies of knowledge, rapidly changing technologies, demanding support infrastructures and diverse background of audiences. “ ”
  • One researcher has labeled the web application course the “ Unteachable Class”
  • Examining the literature, approach web content is usually being taught using the broad but shallow One-Course-for-All-the-Web (OCAW)
  • It is somewhat surprising to see programs persist with an approach that appears rife with problems .
  • Given the importance of web systems, retiring the OCAW approach the time has come for
  • Back in the early 1970s, a math program might have had a single course in 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
  • While the OCAW approach does give students in contemporary practice. a sense of the big picture of web development, it by no means provides the students with anything approaching proficiency
  • There are a number of areas is especially deficient in which the OCAW approach
  • CSS coverage in OCAW 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.
  • However, due to practitioners’ move towards web standards and semantically-oriented markup, real world CSS is commonly used as well for positioning and layout .
  • This type of CSS is notoriously browser bugs, incompatibilities, and non-obvious CSS box model interactions. difficult to master due to
  • The reason why there is such a flourishing market in CSS trade books is due to this difficulty. Students do not gain knowledge by being shielded from this complexity.
  • A similar problem shows up in the OCAW approach with Javascript. 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 the discovery of XmlHttpRequest and the subsequent flourishing of new user interface coding and asynchronous communication with web services, Javascript coding as 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: general conceptual complexity of working with callback functions browser differences, the untyped nature of the language, the lack of a cross-browser debugging environment,
  • Another important part of web development that is almost always left out of the OCAW approach is digital media
  • 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.
  • If students haven’t fully mastered the ability to implement a non-trivial design in HTML, CSS, and Javascript, the added indirection of writing a program to generate HTML, CSS, and Javascript can be quite tricky conceptually for a novice developer.
  • Server-side development also has a number of substantial additional topics, which are difficult to fit into a single OCAW course.
  • Yet another vital knowledge area in web development is usability , an area that is almost always ignored in OCAW courses. None of the current web textbooks examined for this paper contained any substantial material on usability.
  • This is an unfortunate missing ingredient as user advocacy and user-centricity are an essential focus of IT as a discipline.
  • Web vulnerabilities/ security is another area that is difficult to comprehensively cover in the AWOC approach None of the current web textbooks examined for this paper contained any substantial material on web security.
  • So, how can we design a better, more modern , web development stream?
  • Web systems and technologies is one of the key knowledge areas in the IT2008 Curriculum Guidelines (IT2008) It makes web systems one of the five central pillars of an IT education.
  • IT2008 notes that IT degrees pillars first integration first will take one of two implementation strategies: or
  • The pillars-firs t approach introduces the detail of the IT pillars first and provides integration later in the curriculum.
  • In it, all the core topics in the web systems and technologies knowledge area are covered in an introductory course called Fundamentals of Web Systems .
  • The integration-first approach gives students an early integrated view of basic topics across the knowledge areas by presenting them in two key courses in the second year of the curriculum, one of which is the Web Systems course.
  • In the integration-first approach, the web systems course is no longer an introductory level course. It is one of the “two key courses in the second year of the curriculum.”
  • Regardless of the approach taken, compared to the other ACM curricula, the IT2008 easily has the most comprehensive coverage of the web systems knowledge area .
  • This knowledge area is organized conceptually into six units:
  • There are, however, three additional topics that are very important to contemporary practice in web systems which are not covered in IT2008 .
  • web frameworks, APIs, and templates. 1
  • More and more organizations are using already existing open-source and/or proprietary web frameworks instead of creating their web infrastructure from scratch.
  • Content management systems, blogging systems, and web forums are often used as the main framework for an organization’s public or private web presence, since these systems handle many of the most common web needs of an organization.
  • Similarly, due to the complexity of layout-oriented CSS and AJAX-focused Javascript, it is becoming increasingly common to use an existing CSS or Javascript framework.
  • Other important web-based APIs revolving around services such as mapping are also an important part of the evolving web.
  • On the design side, web developers can quickly create a web design by making use of pre-existing web designs and templates.
  • Sometimes multiple existing systems will be used by an organization and the key role of the IT professional will be to get these systems to interoperate through their public APIs. 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.
  • Hosting and deployment. 2 Hosting and deployment. 2
  • The advantages and disadvantages of the main web server platforms such as Apache and Microsoft’s IIS. Students need to learn about: The advantages and disadvantages of using third-party hosting environments versus running one’s own web server, Hosting topics such as web gardens, web farms, load balancing, and server configurations for scalability.
  • Search Engine Optimization (SEO) 3
  • It is increasingly important that students learn: how to design web sites for optimal search engine results, how search engines work, how sponsored links systems such as Google’s AdSense work
  • Our Approach
  • For a variety of reasons we decided to take a (e.g., closer alignment with existing courses) pillar-first approach
  • For all the reasons described here to teaching the web systems pillar. we took a multi-course approach
  • We also have strong faculty expertise in this field.
  • In our IT degree web development has a key place, with two required and one optional course .
  • First Course
  • The focus in this course is mainly on the client (i.e., the browser)
  • 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 Very brief (one week) introduction to Javascript. Intro (two weeks) to server-side development with PHP.
  • Second Course
  • The focus in this course is mainly on the server-side. We decided that this course will cover a different type of server-side technology than the first course.
  • We choose ASP.NET due to local employer demand, faculty expertise, and to give the student exposure to a server-side technology that was explicitly designed to be more compliant with contemporary best practices in software design/engineering.
  • Overview of web application development. How ASP.NET works. Developing with ASP.NET. Accessing databases in web applications. Software design in web applications. Mechanisms for maintaining state in web applications. Consuming REST and SOAP web services Designing and implementing web security 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
  • Third Course
  • This optional, fourth-year course expands on the foundation client, server, and database topics.
  • Intermediate Javascript development Creating web services Asynchronous consumption of web services in Javascript Using Javascript frameworks and web APIs Web application deployment and hosting Understanding web site usage and using analytic tools Search engine optimization Internationalization and other issues in adapting web sites for differing locales and cultures
  • Conclusion
  • The complexity of current web systems requires a multi-course approach to teaching the material.
  • Other IT programs have also taken this approach: Pennsylvania College of Technology University of Cincinnati George Mason University
  • Randy Connolly Dept. Computer Science & Information Systems Mount Royal University, Calgary, Canada [email_address]