Warning:
This wiki has been archived and is now read-only.

Relationship to CS

From OWEA
Jump to: navigation, search

The possible relationships between Web Development Education and Computer Science should be laid out clearly.

In some cases, parts of the OWEA curricula may be integrated into existing CS departments, either as introductory material or as a course or course track within a CS department that otherwise focuses on more traditional CS studies. In other cases, the curricula could be used to form a separate (either parallel or subordinate) department within the university.

There are some general differences between a CS department's goals and those of Web development. The goal of a CS department is typically in-depth abstract knowledge about all aspects of programming languages and environments, and usually includes a focus on computer engineering research, with the possibility of an academic career or advanced degrees. A Web development program, at least at the earliest levels, would typically focus on the craft and trade of programming for the Web in a more specific manner, and perhaps with a concentration on the skills a graduate would need to enter into the market immediately. There are possible synergies between these approaches, and the most successful schools will create programs that blend the two in productive ways.

For example, a Web development track might focus only on the immediate training in the many languages applicable to Web programming, but not teach the beyond some simple Best Practices; a more holistic approach that draws upon CS practice might include a treatment of software design patterns (such as those described in Design Patterns: Elements of Reusable Object-Oriented Software), to give the student the advantage of recognizing how to solve problems in a more crafted and efficient manner. (Note that Web design patterns, because of the nature of the platform architecture, may differ from those traditionally taught in CS course. Yahoo has compiled a set of patterns that may not quite be analogous to other software design patterns, but which are a good start.)