If you could create your dream curriculum for web design and development, what courses and information would you include? Why? What courses and information now in such programs would you eliminate? Why?
- History of the Web
- Fundamentals of Design (typography, layout, color, etc.)
- Information Architecture
- Web Project Management & Business
- Server-side software (PHP, ASP, Rails, etc.—overview)
I think I covered a lot of this in my answer on number one. However I’d definitely drop Flash from the curriculum. It’s far too easy to learn and leaves a lot of graduates who think they have web design skills, when they are actually largely unemployable.
You’d start with a separate deprogramming step. Find out if any of the students had taken any courses or read any books that taught tables and “FONT tags.” Separate these people out for special attention during the next step, which is a simple explanation of what Web standards are. (I’ve given this explanation to non-experts many times and it takes eight minutes flat.)
Then you’d teach the commonest HTML elements (p, h1 through h6, img, lists, forms). You’d show printouts (actual printouts) of Web pages and have students write on top of each item what the structural element is.
You’d give them many kinds of copy, including Microsoft Word documents they’d have to convert, and get them to mark everything up semantically.
Only then do you start teaching CSS, beginning with basic typography and backgrounds and progressing to layouts.
JS I have no advice on.
That’s a huge question and not easily answered. An ideal curriculum for web design would include classical design theory, typography, and other core design areas, plus best practice for markup and CSS, sprinkled with emerging technologies/ideas such as Microformats. In my ideal curriculum, the focus would almost definitely focus on visual design for the Web as a means of creative expression and use supporting technologies in their place, rather than as the main focus.
I don’t know a whole lot about what the current programs offer, but my impression is that the fall into one of two camps. They seem to be either:
Graphic design for the web—these curriculums tend to be very, very Flash heavy and don’t actually teach that much about the web. Rather, they’re simply re-applications of existing graphic design programs with web tools (usually Flash). The web is its own very unique medium and needs to be treated as such.
Computer science—a lot of web developers are simply computer science graduates. They tend to understand basic programming well, but have no real understand of how it applies to the web. They don’t understand dynamically-typed languages, they don’t understand HTTP, and their MVC model doesn’t map directly to the web.
The basic problem in both of these cases is that schools are not looking at the web as something new—they’re looking at it as an extension of things they’ve done before. I suspect another problem is that they’re using the same old instructors that have taught graphic design or computer science for years to teach “web design,” and not using web-savvy experts
- Flash Design
- Flash Scripting
- Interface Design
- Designing and Developing with CMSes
- Working in a Collaborative Environment
- Project Management
- User Testing
- Writing for the Web
- Writing and working with APIs
I would include the following courses:
- An introductory HTML/CSS course
- An introductory graphic design course
- An introductory computer science course, focusing on OOP principles, data structures, and simple algorithms
- A more advanced HTML/CSS course, focusing on layout techniques, creating complex designs, and a discussion of future trends in CSS.
- An art history course covering some important figures and movements in the history of graphic design. Focus on movements such as constructivism and figures such as Ladislav Sutnar (whose catalog work closely resembles modern Web design), and Paul Rand. Course would be writing-heavy.
- An intermediate computer science course, focusing on program design and architecture. Would include significant programming projects, likely web-based.
- An intermediate graphic design course, focusing on typography, layout techniques such as grids, color theory, etc.
- A capstone HTML/CSS course, involving several design projects in which complete Web sites would be developed, perhaps on behalf of non-profits to allow for real-world client interaction.
- A capstone programming course, focusing on algorithms, particularly those relevant to the Web. Would entail a significant programming project of the student’s own design.
- Elective courses covering topics such as Adobe Flash, filmmaking, databases, operating system user interfaces, etc
I would remove anything that focuses too specifically on languages, software packages, or techniques that are likely to become obsolete within a few years.
I would build a curriculum based on small teams of students building and designing a series of increasingly complex fully-functional web sites. The best way to learn is by doing.
First off, I would not teach specifically to any tools. In a design context, it’s a little more difficult. But I would encourage students to try a few different applications and see which is most comfortable to them.
My classes would include:
- How the web works
- Semantics and Meaning on the Web
- Fundamental Markup (HTML, XHTML, XML)
- Designing for the Web
- Designing for Accessibility
- Form Design and Implementation
- Progressive Enhancement
- Fundamental Programming (programming concepts and how they are implemented in an assortment of languages)
- Web Design in Alternative Media (would discuss designing for print, mobile, etc.)
- The Mobile Web
- Multimedia on the Web
Apart from the skills mentioned in the answer to #1, I would add in photography, copywriting and illustration if possible. My college courses were on Natural History Illustration, but also covered design, copywriting and photography/video. This gave me a ‘holistic’ understanding of at least the role of those elements, but in some cases (like the design) enough to change career! I think the understanding of these helps enormously when commissioning them and knowing what to ask for.
This is such a huge question for a person who writes curriculum. I can’t give you an easy answer to this! I think in most simple terms, for a standard four-year curriculum, two solid years of general studies with plenty of IT and design components, and then specialization based on the individual’s interest.
Obviously anything teaching proprietary tools is out. eg. Frontpage and Dreamweaver. Dreamweaver can be used as an all-in-one-tool as long as students understand the basics of FTP (well enough to use any other FTP program) and primarily use the “Source View” when editing HTML or CSS. The foundation of every course should be, “these are the core tools at our disposal, this is how you keep up with their latest uses.”
There’s a lot of overlap here:
- Design Principles 101 (as listed above)
- Reading/Writing for Design 101 (early on, design is communication)
- Typography 101 (leading, tracking, kerning, counters, x-height, small caps, ascenders, descenders, texture, etc)
- Web Design & Development Tools 101 (intro to all the scary acronyms, HTML, CSS, JS, DOM, FTP, PHP, MySQL)
- Markup 101 (a foundation course in semantic markup with XML-like, tag based languages)
- Typography for the Screen 201 (limitations of type on the web, CSS type-related properties, image-replacement, sIFR and kin)
- The Presentation Layer 201 (all about CSS, variety of techniques)
- You vs. The Browsers 201 (browser bugs, gotchas, progressive enhancement, and how to stay current)
- Web Studio 301 (pre-defined projects)
- Web Studio 302 (open-ended projects)
Something like that anyway.
My dream curriculum would contain an explanation of how the web works: URLs, HTTP and hypertext (HTML). The art of writing good, semantically meaningful hypertext would take centre-stage.
The next step would be the realm of visual design: making well-structured hypertext communicate a message. I would focus on traditional “rules” of typography, colour and layout, and show how they can be applied with CSS rather than diving straight into the technical aspects of CSS.
If there was time, I’d like to see some basic DOM Scripting taught but this would only be after HTML and CSS had been well covered.
I would avoid focusing on specific tools: learning to use text editors, WYSIWYG editors or even “industry-standard” graphics programs like Photoshop isn’t as important as knowing what you want to do with them. That said, I understand that that’s often exactly what prospective employers look for on a resume.
It probably goes without saying that any current teaching that focuses on HTML as a layout tool (by abusing the TABLE element) should be terminated with extreme prejudice.
- Grids and typography
- CSS/HTML (versions that currently are common)
- Accessibly - Usability
Like I said I’m not up to date with what is in today’s courses but I bet that Flash is in every design course. I wouldn’t drop Flash because it’s not bad when used right. That should be very clear when you follow Flash classes that it has its purpose on projects that warrant it. I’m not sure but another flaw I believe is trying to teach them too many technologies. I personally do not believe that’s good, it’s better to go very broad on the really important things. The student should have the option to choose what he wants to be really good in. We both personally don’t know anybody that is good in everything.
Show on different platforms websites. Show different setups like one for color blind (there is a photoshop action that you can use to mockup what a color blind user would see). My mom is legally blind, she’s got macular degeneration, is near sighted and far sighted. She uses a PC with a setting that magnifies her desktop so she can read websites.
I think especially in the USA we’re so focused on the perfect youth we forget about the people who have disabilities but still want to experience the web.
Create a project that the students had to test it and watch how people used their website. Because what they think is intuitive isn’t necessarily true for people outside of their profile. Take them into a UI study to see the different setups/techonology that companies use to find out if their website is working or not.
Create a project where they have to create a youtube, viddler or some sort of online video so they can learn about video.
Create a podcast to learn what goes into creating one and putting it on itunes. It could be as simple as interviewing 10 people to see what their favorite website today is.
A well developed web curriculum would include instruction of every discipline in the life-cycle of a project. Obviously, that would include extensive training in design and development. In terms of design, there should be fundamental graphic design training as well as digital design classes. Development training should include fundamental programming skills, ignorant of language, as well as specific language-based classes.
However, it would also include knowledge of ancillary skills, such as project management, information architecture, and explanatory writing.
I’dstart everyone with basic markup, CSS, and scripting; basic design tools and design principles; intro to information architecture; intro to usability and accessibility (I see them as being two sides of a coin); and a few “art” classes.
For developers, there would be two basic ways to go: front-end and back-end. For front-end, the courses would get more in-depth on scripting, markup, CSS, Flash, IA, accessibility/usability, user testing, AJAX, and so on. Back-end would bring in classes on PHP, Ruby/Ruby on Rails, Django, server administration and configuration.
For designers, there would be more design, usability, color theory, grid theory, web typography, and so on. Much more like a traditional graphic design course, really, but grounded in a thorough understanding of the medium.
I particularly want to see bad, outdated practices eliminated from university courses, such as using tables for layout, GIF sspacers, and use of bad inaccessible dHTML. It should removed because it is not helping the evolution of the web, or student’s job prospects.
My answer to #1 is applicable here too.
I may not be the best person to ask this question, as I was educated not in graphic design nor technology but business management with an emphasis in marketing. I thought for sure I’d foster a career in marketing but fell into web design along the way and never looked back. I’m fortunate in that the skills I was taught as a marketing (e.g. knowing the customer) are highly applicable to web design (e.g. knowing the user).
I won’t offer an answer that includes specific course titles and topics. You might have to get that from someone else. However, I’ll offer a few thoughts from my experience and hopefully it helps you answer this question.
Right now I work within a team of 30 full-time web designers at the LDS Church headquarters. We have a very diverse team—two persons from China, one blind since birth, an art director from Lands’ End and LL Bean, etc. Our skills and skill level run the gamut.
Yet, we all came in as specialists, and we’re all working towards becoming generalists, as well. It is this shift, or perhaps broadening, from specialist to generalist that we expect new hires (students included) to embrace. Why? Because great user experiences are all about problem solving, not just solution provisioning. The specialists can provide solutions beautifully. The generalists, on the other hand, understand how to find problems and not just solve them. The world needs both, admittedly, but too often we web folk specialize to the extent we’re uncomfortable acting the generalist role.
There’s a fantastic article in the November issue of Communication Arts titled “Moving Northwest.” I encourage you to read it as it echoes much of what I’m saying here.
Getting back to your question about dream curriculum, again I state I don’t know what that would be. But if it helps, we have a pretty thorough in-house mentoring and training program we’re in the process of establishing. Among many elements that include weekly design reviews and an upcoming design tour in the U.S., we also put on full-day workshops taught by members of our team. Here is the tentative schedule for 2008 thus far:
- Mar 14 - HTML/CSS I
- Apr 10 - HTML/CSS II
- Apr 11 - First Principles of Visual Design
- May 27 - Getting to Know Asian Culture
- June 6 - First Principles of Interaction Design
- July 18 - Design Leadership & Communication
Book reading is naturally part of this overall program (which we’re currently calling “Design Excellence”), and though we’re still formalizing things I’d consider the following required reading for any web professional: The Elements of Typographic Style, How Designers Think, The Design of Everyday Things. Note the absence of tech titles. Those will inevitably be included, but these three books focus more on the generalist role rather than the specialist role. (Although one could probably argue Elements of Typographic Style caters to specialists.)
I’d focus more on fundamentals, practice and less on tools and technologies. I’d like to see lots of classes on graphic design, HCI and communication fundamentals and maybe a bit less on things like Flash and Dreamweaver. When teaching technology I’d focus on the core, standard technologies and not on proprietary tools. For example, teaching XHTML/CSS instead of Dreamweaver. I also think a heavy dose of “doing” would be practical. Start with basics and fundamentals and then move quickly into practice - architecting, designing and building actual web sites and applications.
Why? Well, in large part web design/development is a fast moving, hands on field. You can’t rely on tools as they change, come and go and you need to be able to get your hands dirty, especially when you’re getting started.
I’m not familiar enough with current programs to give a useful opinion (though I was speaking with Steve Smith this week about one class that’s given at Notre Dame, on “XHTML 1.0 Transitional and Java Applets”, which is definitely an example of something that should never be approved as a combined course).
My dream curriculum is outlined above, and the catch is this: to really provide a useful education, these courses must be kept up to date (easier for the introductory semesters, but much more difficult for the higher-level classes). When teaching programming languages (Python, Ruby, etc.), and development frameworks (Django, Rails, etc.) where the capabilities are constantly changing, the course information may have to change every semester in order to stay current. Producing students that graduate with “old knowledge” is of no use to the student or the industry.
On the design side of the higher-level classes, I think a mixture of interface-specific design and traditional design should be taught. Not to the extreme of a classical “art school” curriculum (the idea isn’t to replace such courses), but so that people who have entered the program without any prior training in the basics of art and design can still receive that education. Such courses would perhaps be optional for students coming into the program after already receiving a degree from a classical art/design school. On the UI side, this should go beyond “how to use Photoshop” and instead focus on how to design for pixels and the screen, how to design for interaction, multiple devices, and how to optimize for bandwidth concerns (which, though diminishing as bandwidth increases, will still be important for a good many years to come, if only from a financial point of view on the content-provider side).
Too much time is spent teaching tools (html, photoshop) over theory (hypertext, interface design). I’d rather see people taught how to learn, taught the theory and then given help to turn that theory into practical results. Too many causes just teach people how to use specific software programmes or tools which is impossible in the current fast moving climate. I’d also like to see more students taught about good examples of team organisation and process.
Definitely eliminate the emphasis on teaching tools and software, and concentrate on the fundamental skills. Here’s list of skills I’d include:
- user research
- site mapping
- persona development
- user paths
- usability theory
- usability testing
- design for community (dealing with trolls, encouraging participation etc)
- graphic and visual design - layout, typography, colour theory (as opposed to a Photoshop course)
- semantic HTML
- advanced CSS
- DOM scripting and libraries
- intro to databases
- basic server-side - eg. a mini Rails or PHP project
- Flash - key techniques, video streaming, etc
- project management
- teach students how to teach themselves - where to look, what to read, etc. Everyone I know who is any good in this industry is self taught.
That should be enough for 3 years :-)
- Programming Survey (define the core terms and competencies for a web developer, as well as the history of web development)
- Designing Survey (define the core terms and competencies for a web designer, the history of web design, and basic skills in design software)
- Seminar on Version Control (a short, one or two week course outlining the strategies and use of version control systems like CVS and Subversion)
- Business Management
- Applied Writing (cover both copy writing for the web and writing contracts, proposals, correspondence, etc.)
- Media Law
- Portfolio Course (a semester long course where seniors would create a real-world project ; could be built in partnership with a student from the other track or built by themselves with grading weighted toward their track’s abilities. Additionally this course would cover resume writing and interview taking skills)
- Internship (I would think a minimum of two semesters or one summer full time would be best)
- Basic Programming Skills (probably best as two courses, one on programming languages and one on database languages)
- Information Architecture (this would be a course dealing with how to store, retrieve, and display content)
- Language Specific Courses in PHP, Rails, MySQL, Postgres, ASP and ASP.NET, and Microsoft SQL (would require that 4 of these be taken in the last two years of the program)
- Basic Website Construction (this would be a lab course where students built brochure style websites and recreate an existing site)
- Advanced Website Construction (this would be a lab course where student would build more advance web applications)
- Illustration (this wouldn’t necessarily be a web design focused course)
- Typography and Layout (this wouldn’t necessarily be a web design focused course)
- Web Standards (a course teaching the skills of (X)HTML and CSS)
- UI Design (a course specifically focused on interactivity with an emphasis on web applications)
- Basic Website Design (a lab course where students design simple, brochure style sites and take existing sites and redesign them)
- Advanced Website Construction (a lab course where students design more complex sites with multiple templates as well as full fledge web applications)
- Adobe Flash
- Multimedia for the Web (teaching techniques for web video and audio creation and delivery)
I would focus heavily on the design foundations I mentioned above, for about the first two years of a four year program, and the following two made up with web design courses that apply the design ideals they’ve already learned.
The biggest problem I see with web design curriculums in schools now is that they really consider it web building. They show students how to make a website, but not why they are making a website look, act, and read a certain way. Design, and specifically web design, should never be one or the other. Web should be viewed an another medium, rather than a wholly different entity separated from design. Packaging designers, book designers, newspaper designers, on-screen TV designers, all learn about design, though they work in technically unique mediums that all have different concerns attached to them. Web design, while a bit of a leap from print design, still benefits from traditional design ideals.
These are the objects I made for a Web design course:
Develop and present a well-researched competitive analysis for a Web site project.
Create and present an orderly, well-structured information architecture for a Web site project.
Create and present clear and cleanly designed page-level wireframes indicating the layout of content and features on main site pages.Create valid one, two, or three-column CSS layouts for a Web site project.
Develop a collage-style mood board to define the personality of a Web site.
- Develop and and implement an appropriate color scheme for a client.
- Use best practice approaches to incorporating JPEG, GIF, and PNG imagery in conjunction with CSS.
- Use CSS to specify and layout typography for main Web page applications, including titles, headers, and body text.
- Use CSS to precisely manipulate column width, alignment, paragraph formatting, blockquotes, and initial caps.
- Follow basic principles of usability in page layout and navigation design.
- Perform a usability test to assess the effectiveness of Web site structure or functionality.
- Design an artist’s portfolio site, making sure important objectives are met and using a DOM-based technique for presenting graphics.
My dream curriculum would look like this: why? Because this would teach them to walk, and then to fly and give them a real world experience of working on a deliverable that uses people’s strengths and is based on user focused design.
- The Basics Skills
- Semantic XHTML
- Web Standards / Validation
- Accessibility (may be a 3rd specialty of User Focused Design)
- Usability & Designing for Personas (may be a 3rd specialty of User Focused Design)
- Quality Assurance Testing (may be a 3rd specialty of User Focused Design)
The branch the class based on ability/interest - Design or Development
A) Graphics/Visual Design
- Visual Design Principles (like balance, thythm, proportion, dominence…)
- Visual Design Elements (like point, line, shape, color typography…)
- Digital Media Tools (like Photoshop, Flash)
B) Web Programming (beginner)
Web Programming (selected topics)
- Ruby (on Rails) etc
Then bring them back together at the end with the whole picture and have them work as a team to produce a capstone project using Kelly Goto’s Web Design Process (using Kelly Goto’s book)
- Project Management
- Site Structure
- Information Architecture
- Site Mapping
- Visual Design
- Site Development
- Testing/ Quality Assurance
To answer this question in detail I’ll need time but essentially I would create a curriculum that’s 1/3 history and theory, 1/3 process from start to finish, and 1/3 individual discipline. Here’s a basic rundown of two possible paths for design and developers.
- History of Graphic Design
- History of the Web
- Color Theory
- Web Standards (XHTML/CSS)
- Interactive/Social Networks Design
- Form Design
- Email Newsletter Design and Campaign Management
- History of Internet Technology
- History of the Web
- PHP/MySQL (I don’t believe Rails is ready for prime time, wait and see)
- Content Management Systems Implementation and Management
- Social Networks Design, Implementation, and Management
- Hosting Setup and Maintenance
- Email Campaign Implementation and Management
Digital Design Production: Photoshop and Illustrator for design comp production
Web Design 1: Intro to HTML, inline styles, basic layout with HTML/CSS, FTP, server-client relationship, high level intro to professional process
History of the WWW: Origins of Internet and Web, introduction to key events and the people who were involved
Information Architecture: User research, content inventory, content organization
Web Design 2: Advanced HTML, Forms, image replacement, local and global style sheets, intro to accessibility concepts, intermediate CSS design techniques, production strategies (templating, quick keys, firebug, etc)
Principles of Visual Design: Grid-based layout, typography and typographic history, color, gestalt theory, contemporary trends in design
Layout for the Web: Advanced CSS layout (positioning schemas and floats), creating typographic base-lines, modular design, bullet-proofing designs for dynamic content
User-Centered Interface Design 1: Principles of interaction design, design patterns, intro to design for web applications
DOM Scripting 1: Intro to programming concepts (conditionals, variables, loops, functions), the DOM, progressive enhancement, event handling
Usability: user testing and analysis
Findability: relationship between SEO and web standards, robots.txt, sitemap.xml, performance optimization for efficient search indexing, microformats for content re-discoverability, making blogs findable, making Flash and scripted interfaces findable
Production Team: Students work in small teams to create a professional web site for a nonprofit organization. Students go through each step of the project lifecycle.
Interactive Portfolio: Students create an innovative, online portfolio showcasing their work in order to obtain employment
To properly answer this question would take a lot more time and thought than I have to give at the moment, but one very important thing I suspect is absent from a lot of web-focused design curricula is design history. As far as I’m concerned, if anyone that doesn’t know history is doing important work, they’re doing it by accident.