No longer partying like it's 1999: designing a modern web stream
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.
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.
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 .
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.
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.
The focus in this course is mainly on the client (i.e., the browser)
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
This optional, fourth-year course expands on the foundation client, server, and database topics.