01 HTML & CSS Primer

HTML & CSS Primer

From Design Software to Code

You already know how to design. The challenge is understanding how code accomplishes what you do instinctively in Illustrator, InDesign, or Photoshop.

In those programs, you create objects and place them anywhere on the page. Click, drag, done. Behind the scenes, the software writes a long list of instructions describing what you made—position, size, color, relationships. You never see those instructions. The interface hides them.

Code is that list of instructions without the interface.

Each line of code is a potential design object. Your job is learning to see it that way.

Two Languages, Two Jobs

Web pages are built with two languages that handle separate tasks:

HTML (HyperText Markup Language) defines what the content is. This is a headline. This is a paragraph. This is an image. This is a list.

CSS (Cascading Style Sheets) defines how it looks. This headline is red, 48 pixels tall, and positioned in the upper left.

Think of HTML as the content and structure. CSS as the form and appearance. You need both.

HTML: Marking Up the Content

Before anything can be styled, it must be marked up. This means wrapping each piece of content in tags that identify what it is.

A tag is an instruction to the browser. Tags come in pairs—an opening tag and a closing tag—with content between them:

<p>This is a paragraph.</p>

The <p> tells the browser “a paragraph starts here.” The </p> tells it “the paragraph ends here.” Everything between becomes a paragraph element—an object you can style.

Common tags:

  • <h1> through <h6> — Headlines, from most important to least
  • <p> — Paragraph
  • <div> — A generic division or container
  • <ul> and <li> — Unordered list and list items
  • <img> — Image (replaced by the image itself, no closing tag needed)

The first step in building any web page is marking up all the content. Every piece. Only then can you start giving it form.

CSS: Giving Form to the Content

Once content is marked up into elements, CSS rules control how those elements appear.

Here’s where your design software experience helps.

In InDesign, you draw a text box, then look at the toolbar. It shows X and Y coordinates (distance from the top-left corner), plus width and height. You could type numbers directly into those fields to position and size the box precisely.

In CSS, you write those same values as a rule:

p {
	position: absolute;
	left: 300px;
	top: 500px;
	width: 200px;
	height: 100px;
}

This says: take every paragraph, position it 300 pixels from the left edge, 500 pixels from the top, make it 200 pixels wide and 100 pixels tall.

In InDesign, you might add a 1-point stroke around the box and some inset spacing to keep text from touching the edges. You’d use the Text Frame Options dialog.

In CSS, you add properties to the rule:

p {
	border: 1px solid black;
	padding: 6px;
}

Same result. Different method.

In InDesign, you select a word and make it bold using the menu or keyboard shortcut.

In HTML, you wrap the word in a tag:

<p>This word is <strong>important</strong>.</p>

Then CSS defines what “strong” looks like:

strong {
	font-weight: 700;
}

The principle is consistent: HTML identifies the element, CSS styles it.

How Content Flows

Here’s where code diverges from design software.

In Illustrator or InDesign, objects sit wherever you put them. They’re independent. Move one, the others stay put.

On the web, elements are chained together in a document flow. By default, they stack from the top of the page downward, like paragraphs in a word processor.

Block elements (paragraphs, headlines, divs) behave like paragraphs—each one starts on a new line and takes up the full width available. They stack vertically.

Inline elements (links, bold text, images) behave like characters in a sentence—they flow horizontally, one after another, wrapping to the next line when they run out of room.

Think of it this way: block elements are paragraphs. Inline elements are words within those paragraphs.

The Upside-Down Block Stack

Imagine a child stacking blocks. Now flip it upside down—blocks stacking onto the ceiling, hanging down.

That’s how web elements work. They originate from the top-left corner and accumulate downward. The first element sits at the top. The next one appears below it. Then the next.

If you delete an element, everything below it shifts up to fill the gap. The chain adjusts. This is fundamentally different from fixed-position print design.

Why? Because the web is fluid. A page might be viewed on a phone, a tablet, a laptop, a giant monitor. The layout must adapt. Elements need to reflow depending on the viewport—the browser window.

This flexibility is the point. It’s also what makes web layout feel unfamiliar at first.

Breaking the Flow

You can remove elements from the document flow and position them independently, like objects in Illustrator. CSS properties like position: absolute let you place an element at exact coordinates, ignoring everything else on the page.

But this is usually the wrong approach for web design. Fixed positions break when the viewport changes size. The layout that looked perfect on your laptop falls apart on a phone.

Instead, web layouts use the document flow strategically—organizing elements so they reflow gracefully across different screen sizes. You’ll learn techniques for this: Flexbox for arranging elements in rows or columns, Grid for more complex layouts, media queries for adapting to different devices.

For now, understand that the default flow exists for a reason. You’ll work with it more often than against it.

The Design Happens Before the Code

This is the part that surprises design students: there’s little design in the act of coding.

All the creative work—composition, typography, color, hierarchy—happens before you write a single line of HTML. Thumbnails, wireframes, mockups. The same process you’d use for any design project.

Coding is execution. You’re translating a design you’ve already made into instructions the browser can render. It’s closer to prepping a file for print than to designing the piece.

The process:

  1. Sketch thumbnails to explore layouts
  2. Draw wireframes to establish structure
  3. Create mockups to define the visual design
  4. Write HTML to mark up the content
  5. Write CSS to apply the design

Only steps 4 and 5 involve code. The design decisions are already made.

Coding is problem-solving—figuring out how to achieve in code what you designed in your mockup. It can be satisfying in the way puzzles are satisfying. But it’s not where the design happens.

What Comes Next

You have two weeks to learn HTML. Then two weeks for CSS. The rest of the semester applies what you’ve learned to real projects.

The learning comes through repetition. Mark up content. See what happens. Mark up more content. The tags will become familiar. The logic will start to make sense.

It’s not difficult. Creating effective communication in a crowded field—that’s difficult. The code is just the medium.

01 Shared Capacities: Problem Solving

The School has defined a set of shared capacities that describe fundamental problem-solving abilities expected across all disciplines. This course requires you to understand and practice these to secure a place in the industry. Your skills have value only if you can present them clearly to others. You must be able to show how you think, what you can do, and why your judgment should be trusted.

In a world increasingly dominated by AI systems that can generate content and code, output alone is not distinguishing. What matters is judgment—how problems are framed, limits recognized, choices made, and responsibility taken. The shared capacities below identify the skills through which that judgment becomes visible.

These capacities are central to all work in this course. Because you are the person most affected by whether they are exercised well or poorly, you are expected to apply them whenever appropriate. They are:

CRITICAL ANALYSIS

Students will be able to:

  • Effectively assess implicit or explicit claims, attending to factors such as possibilities, limitations, and flaws; and
  • Effectively attend to factors such as evidence and context as appropriate when articulating ideas or arguments.

 

COMMUNICATION

Students will be able to:

  • Produce effective written communications that are appropriate for context and audience; and
  • Produce effective oral communications that are appropriate for context and audience.

 

QUANTITATIVE REASONING

Students will be able to:

  • Construct or interpret arguments based on quantitative data or methods; and
  • Recognize possibilities and limitations of quantitative, mathematical, or statistical methods.
     

 

RESEARCH LITERACY

Students will be able to:

  • Define an appropriate scope of information needed to respond to a research question; and
  • Deploy appropriate research methods and technologies in a manner consistent with relevant norms; and
  • Evaluate information sources critically.

 

SCIENTIFIC LITERACY

Students will be able to:

  • Apply or interpret scientific concepts or methodologies; and
  • Recognize possibilities and limitations of scientific concepts or methodologies. 

 

AUTHORSHIP

Students will be able to:

  • Develop works (in any medium) with an original voice or perspective; and
  • Articulate how their work fits into intellectual or artistic contexts (considering production and/or reception).

 

CREATIVE MAKING

Students will be able to:

  • Generate original work that employs visual, musical, performance, or other creative practices; and
  • Demonstrate reflection upon the iterative process of creating this work.
     

 

CROSS-DISCIPLINARY THINKING

Students will be able to:

  • Understand concepts, theories, experiences, and/or methods from multiple disciplinary perspectives or fields of study; and
  • Combine diverse modes of inquiry to produce meaningful work.

 

FLEXIBILITY AND RESILIENCY

Students will be able to:

  • Take appropriate risks, rebound from setbacks, and persevere to complete a given course of action; and
  • Adapt to new situations through a process of continual development.

 

WORKING IN COMPLEX SYSTEMS

Students will be able to:

  • Successfully navigate multiple projects or responsibilities (e.g., manage time, organize tasks, meet deadlines, and adhere to requirements and standards for completing); and
  • Understand and work across institutional boundaries.

 

ETHICAL REASONING

Students will be able to:

  • Analyze how social, economic, and/or political systems interact with individual or group identities or experiences within particular cultural and historical contexts; and
  • Articulate effective arguments in support of personal or collective values, judgments, or responsibilities by applying ethical concepts.

AI Website Creation 2025

AI website Creation

The prompt I used was “Create a website to sell myself as a designer” Nothing else, no creative examples, etc. Yes it looks generic, but imagine what it could look like with user input? Those with the best communicative skills will get AI to turn out the most impressive websites. Final website created by Kimi.com. It took only a few minutes. The day will come when it happens in a second or two, and you’ll interactively design your portfolio/website in real time.

Kimi:

I’ll create a stunning personal portfolio website that showcases you as a designer with sophisticated visual appeal and interactive elements. This will be a multi-page experience featuring your work, skills, and personality in a way that immediately captures attention and demonstrates your design expertise.

  1. Let me start by planning the structure and gathering the necessary resources to create something truly impressive.
    Write Todo
    1. Analyze task requirements and plan website structure
    2. Create interaction design document (interaction.md)
    3. Research and gather visual content – search for design-related images
    4. Generate hero image and other custom visuals
    5. Define design style and visual language (design.md)
    6. Create project outline (outline.md)
    7. Develop index.html with hero section and portfolio showcase
    8. Create about.html page with personal story and skills
    9. Build portfolio.html with project gallery and case studies
    10. Develop contact.html with interactive contact form
    11. Create main.js with all interactive functionality
    12. Test all navigation links and interactive elements
    13. Deploy website and provide final URL
  2. Now I’ll create the interaction design document that outlines how users will engage with your portfolio website.
    create interaction.md

    Core User Experience Philosophy

  3. Perfect! Now I’ll research and gather visual content that will make your portfolio truly compelling. I’ll search for design-related imagery that will create immediate visual impact.

    Search images
    modern design studio workspace minimalist designer desk setup creative agency office design thinking process user interface mockups branding identity design typography design samples color palette swatches designer tools sketching creative brainstorming session digital design workflow modern logo design collection web design mockup screens print design layout examples design portfolio presentation
    15 results

  4. Excellent! I’ve gathered a great collection of design-related imagery. Now I’ll generate a stunning hero image that will serve as the centerpiece of your portfolio website.
    Image generation

    A sophisticated designer’s workspace photographed from above in dramatic lighting. Clean white desk with a large monitor displaying colorful UI designs, scattered design sketches with elegant typography, a premium mechanical keyboard, wireless mouse, geometric desk accessories, color swatches, and a minimalist coffee cup. Soft natural lighting from the left creates gentle shadows. The composition uses the rule of thirds with negative space. Color palette of warm whites, soft grays, and subtle accent colors in the design materials. Professional photography style with shallow depth of field and cinematic lighting.

    A sophisticated designer's workspace photographed from above in dramatic lighting. Clean white desk with a large monitor displaying colorful UI designs, scattered design sketches with elegant typography, a premium mechanical keyboard, wireless mouse, geometric desk accessories, color swatches, and a minimalist coffee cup. Soft natural lighting from the left creates gentle shadows. The composition uses the rule of thirds with negative space. Color palette of warm whites, soft grays, and subtle accent colors in the design materials. Professional photography style with shallow depth of field and cinematic lighting.

  5. Now I’ll create the design style document that will guide the visual aesthetic of your entire portfolio website.
    create design.md

    Design Philosophy

  6. Now I’ll create the project outline to structure all the files and sections we’ll need.
    create outline.md

    Complete Summary

  7. Now I’ll update the todo list to track our progress and begin creating the main HTML files. Let me start with the index page.
    Write Todo
    • [x] Analyze task requirements and plan website structure
    • [x] Create interaction design document (interaction.md)
    • [x] Research and gather visual content – search for design-related images
    • [x] Generate hero image and other custom visuals
    • [x] Define design style and visual language (design.md)
    • [x] Create project outline (outline.md)
    • [-] Develop index.html with hero section and portfolio preview
    • [ ] Create about.html page with personal story and skills
    • [ ] Build portfolio.html with project gallery and case studies
    • [ ] Develop contact.html with interactive contact form
    • [ ] Create main.js with all interactive functionality
    • [ ] Test all navigation links and interactive elements
    • [ ] Deploy website and provide final URL
  8. Now I’ll create the main index.html file with a stunning hero section and portfolio preview.
    Create home page

    index.html

  9. Now I’ll create the about.html page with personal story and interactive skills visualization.
    Create about page

    about.html

  10. Now I’ll create the portfolio.html page with an interactive project gallery and filtering system.
    Create portfolio page

    portfolio.html

  11. Now I’ll create the contact.html page with an interactive contact form.
    Create contact page

    contact.html

  12. Now I’ll create the main JavaScript file that powers all the interactive functionality across the website.
    Create Javascript

    main.js

  13. Now let me update the todo list to reflect our progress and test the website functionality.
    Write Todo
    • [x] Analyze task requirements and plan website structure
    • [x] Create interaction design document (interaction.md)
    • [x] Research and gather visual content – search for design-related images
    • [x] Generate hero image and other custom visuals
    • [x] Define design style and visual language (design.md)
    • [x] Create project outline (outline.md)
    • [x] Develop index.html with hero section and portfolio preview
    • [x] Create about.html page with personal story and skills
    • [x] Build portfolio.html with project gallery and case studies
    • [x] Develop contact.html with interactive contact form
    • [x] Create main.js with all interactive functionality
    • [-] Test all navigation links and interactive elements
    • [ ] Deploy website and provide final URL
  14. Now let me create the resources directory and deploy the website to make it accessible.
  15. Let me check the current file structure and then deploy the website.
  16. Perfect! Now I’ll deploy the website to make it accessible.

    Website deployed

  17. Excellent! Now let me update the final todo status and provide you with a comprehensive summary of what I’ve created.
    Write Todo
    • [x] Analyze task requirements and plan website structure
    • [x] Create interaction design document (interaction.md)
    • [x] Research and gather visual content – search for design-related images
    • [x] Generate hero image and other custom visuals
    • [x] Define design style and visual language (design.md)
    • [x] Create project outline (outline.md)
    • [x] Develop index.html with hero section and portfolio preview
    • [x] Create about.html page with personal story and skills
    • [x] Build portfolio.html with project gallery and case studies
    • [x] Develop contact.html with interactive contact form
    • [x] Create main.js with all interactive functionality
    • [x] Test all navigation links and interactive elements
    • [x] Deploy website and provide final URL

    Your portfolio website is now live, featuring four key pages designed to showcase your work effectively.

    The homepage immediately grabs attention with a typewriter animation and client testimonials, while the about page details your professional journey through an interactive skills visualization. The portfolio section highlights 18 projects with real impact metrics, and the contact page includes a functional form with validation.

    Built with a sophisticated terracotta and sage color scheme, the site combines editorial typography with smooth animations. Technical implementation uses five core libraries including Anime.js and p5.js, ensuring fast loading and full responsiveness.

    Key interactive elements include:

    • Dynamic portfolio filtering
    • Project case study modals
    • Animated skill demonstrations
    • Particle background effects

    This isn’t just a portfolio – it’s a strategic tool demonstrating your design expertise through both content and user experience. Every element reinforces your professional narrative while making it easy for potential clients to engage with your work.

01 OpenAI Text/DALL·E 2023

DALL·E 2023-01-26 06.04.23 - oil painting in the style of Van Gogh of product design students at parsons having a wild and crazy time in New York City
Prompt: oil painting in the style of Van Gogh of product design students at parsons having a wild and crazy time in New York City

OpenAI Chat: Website for Product Design Student

Images and chat response created by artificial intelligence

Me:

Can you turn the following into a website? I am a student product designer looking for work?

ChatGPT:

Yes, I can help you create a website to showcase your work as a student product designer. However, as a language model, I do not have the capability to create a website directly. I can provide you with the information and guidance you need to create a website, such as tips on design, layout, and content. You will need to use a website builder or hire a web developer to create the website for you.

Me:

How do I start?

ChatGPT:

To start creating a website, you will need to decide on a few key things:

  1. Purpose: What is the main goal of your website? Is it to showcase your portfolio, promote your services, or provide information about your work?
  2. Domain and hosting: You will need to purchase a domain name (e.g. www.yourdomain.com) and find a hosting provider to host your website.
  3. Platform: There are several different website builders and platforms available, such as WordPress, Wix, and Squarespace. You will need to choose one that best fits your needs and skills.
  4. Design and layout: Think about the overall design and layout of your website, including colors, fonts, and images. You should also consider how to organize your content in a way that is easy to navigate.
  5. Content: Create the content for your website, including text, images, and videos that showcase your work.

Once you have decided on these things, you can start building your website. You can also hire a web developer to help you with the process.

Also, you can showcase your work using online portfolio platforms like Behance, Dribbble, etc which will make the process easier for you.

Me:

how important are websites for job recruitment?

ChatGPT:

Websites can be an important tool for job recruitment, both for job seekers and employers.

For job seekers, a website can be a great way to showcase their skills, qualifications, and work experience. It can also be an easy way for potential employers to find job candidates and get a sense of their qualifications and experience.

For employers, a website can be a powerful recruitment tool as it allows them to reach a wide audience of potential job candidates and to provide detailed information about job requirements, company culture, and benefits. Additionally, many companies use their website as a way to post job listings and accept online job applications.

Having a website can also give a sense of credibility to the job seeker and employer, as well as it can be a way to share more than what a resume can show, like online portfolio, videos, projects, etc.

Overall, a website can be a valuable tool for both job seekers and employers in the recruitment process.

Me:

In product design, what do employers look for in a website

ChatGPT:

In product design, employers typically look for a few key things when reviewing a candidate’s website:

  1. A clear and well-designed portfolio: Employers want to see a clear and well-organized portfolio that showcases the candidate’s best work. This should include detailed images, descriptions, and any relevant information about the design process.
  2. A strong online presence: Employers want to see that the candidate has a strong online presence, including a professional website, social media profiles, and an active blog. This shows that the candidate is up-to-date with the latest industry trends and technologies.
  3. A clear understanding of the design process: Employers want to see that the candidate has a clear understanding of the design process, including research, concept development, prototyping, and user testing. This can be demonstrated through case studies, design diaries, or other documentation of the design process.
  4. Relevant skills and experience: Employers want to see that the candidate has the relevant skills and experience to do the job. This should be highlighted in the portfolio and on the website, and should include information about the candidate’s education, work experience, and any relevant certifications.
  5. Strong communication and presentation skills: Employers want to see that the candidate can effectively communicate and present their ideas, and this can be demonstrated through the website’s writing, videos, and images.
  6. Strong attention to details: Employers want to see that the candidate has strong attention to details, this can be seen in the design of the website, the way the portfolio is presented, the way the information is organized, etc.

Overall, employers want to see a website that is professional, well-designed, and effectively communicates the candidate’s skills, qualifications, and experience.

Me:

If I only have two years of school work to show, what is the best work to show my skillset and problem solving abilities.

ChatGPT:

If you only have two years of school work to show, it’s important to choose the projects that best demonstrate your skillset and problem-solving abilities. Consider the following when selecting projects to showcase:

  1. Complexity: Choose projects that demonstrate your ability to tackle complex problems and design solutions. These should be projects that required you to use a variety of design techniques, tools, and methodologies.
  2. Originality: Choose projects that demonstrate your ability to come up with original ideas and designs. This could be projects where you had to solve a unique problem or create something that hasn’t been done before.
  3. Design process: Choose projects that demonstrate your ability to follow a design process, including research, concept development, prototyping, and user testing. Provide information about your research, the design process, and the results.
  4. Relevance: Choose projects that are relevant to the type of product design you want to work in. If you want to work in industrial design, for example, choose projects that demonstrate your ability to design physical products.
  5. Problem solving: Choose projects where you had to demonstrate problem-solving skills. This could be projects where you had to find innovative solutions to difficult challenges.
  6. Show the outcome: Choose projects that have clear outcomes, and demonstrate the impact of your design, for example, a product that was manufactured, a service that was launched, etc.

It’s also important to have a clear and well-organized portfolio, with detailed images, descriptions, and any relevant information about the design process, and a clear way of navigation. It’s also helpful if you can provide examples of how your designs have been received by users or customers.

Me:

How important is it for my website to stand out and be memorable? What can I do to make it that way?

ChatGPT:

It is important for your website to stand out and be memorable because it is often the first point of contact potential employers will have with you. A well-designed and memorable website can help you make a strong first impression and increase your chances of getting hired.

Here are a few things you can do to make your website stand out and be memorable:

  1. Be unique: Showcase your personal style, point of view, and personality on your website. This will help you stand out from other candidates and make a lasting impression on potential employers.
  2. Make it visually appealing: Use a clean, modern, and visually appealing design. Use high-quality images, typography, and layout to make your website look polished and professional.
  3. Make it easy to navigate: Make it easy for potential employers to find what they’re looking for on your website. Use clear and consistent navigation, and make sure your portfolio is easy to find.
  4. Show your process: Employers are interested in seeing the design process, not only the final product. Share your design process, research, sketches, and iterations, this will make your portfolio more interesting and unique.
  5. Show your impact: Highlight the impact of your designs, for example, if a product you designed was manufactured, or if a service you designed was launched, etc.
  6. Show your skills: Make sure your website showcases your skills and qualifications, and highlight any relevant work experience or education.
  7. Use multimedia: Use videos, images, and animations to make your website more engaging and interactive.
  8. Make sure your website is mobile-friendly, as many people use their mobile devices to browse the web.

Overall, a memorable website should be visually appealing, easy to navigate, and effectively communicate your skills, qualifications, and experience. It should showcase your unique style, personality and process, as well as the impact of your designs, and be mobile-friendly.

DALL·E claymation  sculptures of product design students at parsons having a wild and crazy time in New York City
Prompt: claymation sculptures of product design students at parsons having a wild and crazy time in New York City

Me:

Will a more generic templated design suffice or does that make it look like what too many other people in my field offer?

ChatGPT:

Using a more generic templated design for your website may make it look similar to other websites in your field, which can make it less memorable and less effective in standing out to potential employers. While it’s understandable to use templates to save time and effort, it’s important to remember that a template often used by others may not be able to reflect your unique style, personality, and design process.

Using a pre-made template can make it harder to showcase your individuality and skillset. It’s also less likely to reflect your design process, design thinking, and problem-solving abilities, which are important for product design.

That being said, it’s not impossible to make a templated website stand out. You can customize it by changing the colors, typography, images and layout, to reflect your style and personality, and by adding multimedia elements, like videos and animations. Additionally, you can make sure that the navigation and the portfolio are easy to find and well-organized.

It’s also important to remember that the content of your website, like the portfolio, case studies, and writing, is the most important aspect. Even if the template is generic, if the content is well-presented, engaging, and effectively communicates your skills, qualifications, and experience, it can still make a strong impression on potential employers.

In summary, while a generic templated design may save time and effort, it can make it harder to stand out and make a memorable impression. Customizing the template and making sure the content effectively communicates your skills, qualifications, and experience is important to make it stand out.

Me:

So you think it is best to hand code websites for maximum creative impact and originality, and to show my problem solving skills.

ChatGPT:

Hand coding a website can have a greater creative impact and originality than using a pre-made template, as it allows you to create a unique and personalized design that truly reflects your style, personality, and problem-solving abilities. It also allows you to have more control over the website’s layout, functionality, and overall user experience.

By hand coding a website, you can create a design that is tailored to your specific needs, and that showcases your problem-solving skills. You can also take into account the latest web design trends and technologies, and ensure that your website is fully responsive and optimized for different devices and screen sizes.

That being said, hand coding a website does require a certain level of technical skill and knowledge, as well as time and effort to develop. It’s important to consider your own skills and resources before deciding to hand code a website. Additionally, it’s not only the website design that makes the difference, but also the content. An effective website should have a clear message, easy to understand and well-organized, and should showcase your skills, qualifications and experience.

Overall, hand coding a website can have a greater creative impact and originality, and can showcase your problem-solving skills. However, it also requires a certain level of technical skill, and time and effort to develop. It’s important to consider your own skills and resources, and also focus on creating a clear, well-organized and effective website content.

Me:

What are the current trends in product design?

ChatGPT:

Here are a few current trends in product design:

  1. Sustainable design: There is an increasing focus on designing products that are environmentally friendly and sustainable. This includes using sustainable materials, designing for disassembly and recycling, and reducing energy consumption.
  2. Human-centered design: Product designers are increasingly using human-centered design methods to create products that are tailored to the needs, wants, and preferences of users. This includes user research, prototyping, and testing to ensure that products are easy to use and meet the needs of their intended users.
  3. Technology integration: Product designers are incorporating new technologies, such as IoT, AI, and AR/VR, into products to enhance their functionality and user experience. This is particularly relevant in areas such as smart home, wearables, and transportation.
  4. Accessibility: There is a growing awareness of the importance of designing products that are accessible to people with disabilities. This includes designing products that are easy to use for people with physical, visual, auditory, or cognitive impairments.
  5. Minimalism: The minimalistic design trend is still popular in product design, characterized by simple and clean lines, and a focus on the essential elements of a product. This helps to create a sense of elegance, simplicity and timelessness.
  6. Personalization: Product designers are increasingly creating products that can be customized to the individual preferences of users. This includes using 3D printing and other technologies to create personalized products.
  7. Virtual and Augmented Reality: These technologies are increasingly used in product design to create immersive experiences, virtual prototypes and simulations, as well as to enable remote collaboration and remote product testing.
  8. Material Innovation: Product designers

Me:

What is the best advice you can give a product design student?

ChatGPT:

Here is some advice for a product design student:

  1. Develop a strong design process: Having a clear and well-defined design process is essential for effective problem-solving and creating successful designs. This includes understanding the problem, researching and gathering information, generating ideas, prototyping and testing, and iterating on your designs.
  2. Learn from other designers: Study the work of other designers, both past and present, to understand different design styles and approaches, and to gain inspiration for your own work.
  3. Be open to feedback: Always be willing to receive feedback on your work and to use it to improve your designs. Feedback can come from your professors, peers, and professionals in the industry.
  4. Stay informed: Stay up-to-date with the latest trends, technologies, and materials in the field of product design. This will help you to create designs that are innovative and relevant.
  5. Don’t be afraid to experiment: Experimentation and exploration are key to developing your own unique style and voice as a designer. Don’t be afraid to try new things and take risks.
  6. Network and collaborate: Network with other designers and professionals in the industry, and seek out opportunities to collaborate with them on projects. This will help you to gain valuable experience and to make connections that can be beneficial for your future career.
  7. Show your work: Document and share your work through a portfolio or website, this will help you to showcase your skills and qualifications to potential employers.
  8. Keep learning: Remember that learning never stops, continue to seek out opportunities for

Me:

I will be competing for jobs with many other like minded and like skilled students, what are the best ways to stand out?

ChatGPT:

Here are some ways to stand out as a product design student competing for jobs:

  1. Develop a strong portfolio: A well-crafted portfolio is essential for showcasing your skills and qualifications to potential employers. Make sure that your portfolio is well-organized, visually appealing, and that it effectively communicates the design process and thought behind your work.
  2. Build a personal brand: Develop a personal brand that reflects your unique style and personality. This can include a personal website, social media presence, and a consistent design aesthetic.
  3. Specialize in a specific area: Consider specializing in a specific area of product design, such as a certain industry or type of product. This will allow you to become an expert in that area and to differentiate yourself from other designers.
  4. Showcase your problem-solving skills: Emphasize your problem-solving skills in your portfolio and during interviews. Highlight how you approached and solved complex design problems, and how you used research, prototyping, and testing to arrive at your final design.
  5. Showcase your experience: If you have any relevant experience, such as internships or freelance work, make sure to include it in your portfolio and highlight it during interviews. This will demonstrate to potential employers that you have real-world experience and that you are capable of working on projects from start to finish.
  6. Be proactive and take initiative: Don’t wait for opportunities to come to you, actively seek out opportunities for internships, collaborations, or freelance work. This will give you valuable experience and help you to build a network of contacts in the industry.
  7. Be adaptable and flexible: Be open to new ideas and be willing to learn new skills and technologies. This will help you to stay current and relevant in the industry.
DALL·E oil painting in the style of Van Gogh of product design students at parsons having a wild and crazy time in New York City
Prompt: oil painting in the style of Van Gogh of product design students at parsons having a wild and crazy time in New York City

Me:

Thank you for your advice

ChatGPT:

You’re welcome! I hope my advice will be helpful for you as you continue to pursue a career in product design. Remember that success in the field of product design often comes down to hard work, persistence, and a willingness to learn and adapt. Keep honing your skills, showcasing your work, and networking with others in the industry. Good luck!

01 HTML5 Template Playground

The HTML and CSS PlayGround is live version of the HTML Template that contains the tags inside the tag of the HTML5 Template. Right-click (control-click)* on the code and choose Open Frame in New Window. Play and experiment until you understand the relation between the HTML content and CSS form.

* Chrome based browsers require the Open Frame extension.

01 Design Fundamentals

All communication is in need of design. While Parsons teaches the visual literacy required for your area of concentration, communication and web design share fundamentals that make for a good product.

Empathize

THE HEART OF DESIGN

Designers work to solve others’ problems but the most insightful and innovative design work begins with empathy. Slip on your users’ shoes and seek to gain understanding with an open mind. You’ll be surprised what deep needs and insights you can uncover.

Define

REFRAME THE PROBLEM

A single image of the earth from the moon shifted the course of environmental history. A new point of view on a design problem can shift your perspective just as much. Learning to reframe your point of view based on insights from your users can be a powerful design tool.

Ideate

BEYOND BASIC BRAINSTORMS

Ideation early in the design process helps teams get aligned and find potential solutions to investigate. While most teams use some form of ideation, design thinking can lend new structure and spark the brainstorming process.

Prototype

GET SMARTER, FASTER

The smartest design teams build prototypes throughout the design process. Rather than discover issues after the expense and time spent on building a complete product, challenge assumptions and solve disagreements through iterative prototyping.

Test

EARLY AND OFTEN

Prototyping forms a key step in solid product design, but the best design teams go a step further and test their products with real users. Observing how your end user approaches your product gives you the most important feedback of all.

15 Final Grade Calculation

Final Grade Calculation

The final grade adds up to a possible 110%, allowing some leeway in the satisfactory completion of all assignments, as long as the student attends and participates in class. 3 Absences are ground for Failure.

* Does not require coding. No Late Assignments accepted.

Send me a zipped version of your final project before the due day, 5 days after the last class.

Grade calculation:

Date Due Percent
2/6/15 Website Analysis* 5%
2/13/15 Landing Page 5%
2/13/15 HTML markup of Analysis 5%
2/20/15 7 Steps — Midterm Worksheet* 5%
2/27/15 CSS selections 5%
2/27/15 Photoshop comp/ HTML Wire Frame 5%
First Quarter Assessment
2/27/15 incorporate CSS Layout Strategies in web site 5%
2/27/15 Quiz:
3/6/15 Peer Review 5%
Official Midterm Review
3/13/15 Typography Poster 5%
3/13/15 Portfolio: Midterm 10%
3/13/15 class Presentation 5%
Second Quarter Assessment
3/20/15 Final: Worksheet* 5%
4/3/15 Responsive Redesign of Portfolio 5%
4/10/15 CSS3 Collateral 5%
4/17/15 CSS3 Animatic 5%
4/24/15 Final: Modular Navigation 5%
Third Quarter Assessment
5/1/15 HTML5 Multimedia 5%
5/8/15 Final: Peer Review 5%
5/8/15 Forms 5%
5/15/15 WordPress CMS 5%
15/15/15 Final: Presentation 5%
Final Quarter Assessment
Two assignments dropped: -10%
Total: 100%

01 CSS3.org intro to HTML

This section is non-normative.

A basic HTML document looks like this:

<!DOCTYPE html>
<html>
 <head>
  <title>Sample page</title>
 </head>
 <body>
  <h1>Sample page</h1>
  <p>This is a <a href="demo.html">simple</a> sample.</p>
  <!-- this is a comment -->
 </body>
</html>

HTML documents consist of a tree of elements and text. Each element is denoted in the source by
a start tag, such as “<body>“, and
an end tag, such as “</body>“.
(Certain start tags and end tags can in certain cases be omitted and are implied by other tags.)

Tags have to be nested such that elements are all completely within each other, without
overlapping:

<p>This is <em>very <strong>wrong</em>!</strong></p>
<p>This <em>is <strong>correct</strong>.</em></p>

This specification defines a set of elements that can be used in HTML, along with rules about
the ways in which the elements can be nested.

Elements can have attributes, which control how the elements work. In the example below, there
is a hyperlink, formed using the a element and its href attribute:

<a href="demo.html">simple</a>

Attributes are placed inside the start tag, and consist
of a name and a value, separated by an “=” character.
The attribute value can remain unquoted if it doesn’t contain space characters or any of " ' ` = < or
>. Otherwise, it has to be quoted using either single or double quotes.
The value, along with the “=” character, can be omitted altogether if the
value is the empty string.

<!-- empty attributes -->
<input name=address disabled>
<input name=address disabled="">

<!-- attributes with a value -->
<input name=address maxlength=200>
<input name=address maxlength='200'>
<input name=address maxlength="200">

HTML user agents (e.g. Web browsers) then parse this markup, turning it into a DOM
(Document Object Model) tree. A DOM tree is an in-memory representation of a document.

DOM trees contain several kinds of nodes, in particular a DocumentType node,
Element nodes, Text nodes, Comment nodes, and in some cases
ProcessingInstruction nodes.

The markup snippet at the top of this section would be
turned into the following DOM tree:

The root element of this tree is the html element, which is the
element always found at the root of HTML documents. It contains two elements, head
and body, as well as a Text node between them.

There are many more Text nodes in the DOM tree than one would initially expect,
because the source contains a number of spaces (represented here by “␣”) and line breaks
(“⏎”) that all end up as Text nodes in the DOM. However, for historical
reasons not all of the spaces and line breaks in the original markup appear in the DOM. In
particular, all the whitespace before head start tag ends up being dropped silently,
and all the whitespace after the body end tag ends up placed at the end of the
body.

The head element contains a title element, which itself contains a
Text node with the text “Sample page”. Similarly, the body element
contains an h1 element, a p element, and a comment.


This DOM tree can be manipulated from scripts in the page. Scripts (typically in JavaScript)
are small programs that can be embedded using the script element or using event
handler content attributes
. For example, here is a form with a script that sets the value
of the form’s output element to say “Hello World”:

<form name="main">
 Result: <output name="result"></output>
 <script>
  document.forms.main.elements.result.value = 'Hello World';
 </script>
</form>

Each element in the DOM tree is represented by an object, and these objects have APIs so that
they can be manipulated. For instance, a link (e.g. the a element in the tree above)
can have its “href” attribute changed in several
ways:

var a = document.links[0]; // obtain the first link in the document
a.href = 'sample.html'; // change the destination URL of the link
a.protocol = 'https'; // change just the scheme part of the URL
a.setAttribute('href', 'http://example.com/'); // change the content attribute directly

Since DOM trees are used as the way to represent HTML documents when they are processed and
presented by implementations (especially interactive implementations like Web browsers), this
specification is mostly phrased in terms of DOM trees, instead of the markup described above.


HTML documents represent a media-independent description of interactive content. HTML documents
might be rendered to a screen, or through a speech synthesiser, or on a braille display. To
influence exactly how such rendering takes place, authors can use a styling language such as
CSS.

In the following example, the page has been made yellow-on-blue using CSS.

<!DOCTYPE html>
<html>
 <head>
  <title>Sample styled page</title>
  <style>
   body { background: navy; color: yellow; }
  </style>
 </head>
 <body>
  <h1>Sample styled page</h1>
  <p>This page is just a demo.</p>
 </body>
</html>

For more details on how to use HTML, authors are encouraged to consult tutorials and guides.
Some of the examples included in this specification might also be of use, but the novice author is
cautioned that this specification, by necessity, defines the language with a level of detail that
might be difficult to understand at first.

Assessable Tasks

Assessable tasks are those core tasks required to create modern web design.

TASKS / ACTIVITIES DATE REQUIREMENTS / INDICATORS
Marking‑up Content week 1 Is the markup valid and semantically correct HTML5? Are images the correct formatand size?
User Experience week 2 Are UX concerns driving the design process?
Design Process week 2 Are all 8 steps articulated? Are they reflected in the portfolio and final?
Styling the Content week 3 Is the CSS valid, clean, external, and using structural selectors wherever possible?
Layout out the Content week 4 Are multiple layout strategies used to construct the website? Document Flow? Positioning? Floats? Flex Box? Grid?
Constructing the Portfolio Site week 5 Is the site logically organized? Is it SEO friendly? Is it tracked using Google Analytics? (only for non‑Parsons hosted websites)
Is the web site Future Proof? week 3‑6 Is the website responsive to a change in viewport size, from smart phones to 4K Screens?
Does the typography communicate? week 6 Does the typography promote legibility? Accessibility?  Does it communicate the messaging, tone, sentiment, and aesthetics?
Exploring CSS3 and beyond week 9‑11 Are advanced CSS modules used to create the look, feel, and functionality of the website? Does it stand out?
Modularity and Interactivity week 12 Are PHP and Javascript used in the final website?
CMS: WordPress week 9‑13 Are You capable of creating a site using WordPress?
Forms week 14 Are forms used in the final website?

01 Intro to the Web

Week 1
1/22-1/23

Introductions. Overview of course, course objectives, outcomes and expectations. Go over syllabus. Introduce hypertext markup language. Activity: Analyze Website. Activity: Create HTML file, start first assignment in class.

Homework

Write out expectations for the course. Use OpenAI to interrogate your future plans. Read Why Do All Websites Look the Same? Watch introductory videos. Analyze the elements of a website. Create a content sheet for the main page of a site that epitomizes the design field you are in. Write down the goals of the site. Use images. Mark up the assignment.. Due: Next Week. Email me if you have questions.


Next up are the goals and outcomes of this course. This is what you are to learn.

Much of the learning is scaffolded, meaning that what you learn is a necessary part of a larger skill set that you need to be familiar with. These learning outcomes need to be acquired before the next class meets, as it likely assumes this knowledge and builds upon it. If you miss a class, you are responsible for making up the class you missed by going over all of the information.


Goals

The goals of this unit are to:

  • Introduction to the World Wide Web.
  • Understand the content strategy that goes into creating websites.
  • Learn how to mark up content.
  • Set up a server at Parsons/New School using Fetch.
  • Start first assignment page on the web.

Outcomes

At the end of this unit, students will:

  • Be familiar with the web and the code that generates web pages.
  • Understand the elements that make websites work.
  • Learn basics of HTML and CSS.
  • Mark up a simple page.
  • Set up server space at b.parsons.edu.
  • Publish a page on the web.

    If the class did not cover all of these topics, relax. They will be covered next week.


The topic summary and homework assignment are followed by a materials section that has all of the linked files associated with the course.

Green and red colored links are required reading.

Green signifies conceptual overview that helps put the material in perspective.

Red signifies core knowledge that you need to know to continue. That means you should reread the material if you do not understand, or read the corresponding chapters in the book.

Links without color are suggested readings, but not required.

The homework link takes you to the homework for the week.


Additional material for this unit can be found by following the following links:


The estimated breakdown of time it should take for each topic to be adequately covered in class. Some topics are summarized in a few minutes. Others are demonstrated at length. Emphasis is on those topics that help you master the skills needed to build web pages, which are usually done through in-class activities. What is said and done in class overrides what is written here.


Step-by-Step

15 Welcome, write a few sentences about your expectations for the course as we go through the introductions, and go through the syllabus
5 Overview of the course and class portal.
25 Exploration of the web. Peek behind web page to look at the code.
15 Activity: Create content by writing.
10 Break
30 Demo/Activity: Marking up the content. Writing HTML
15 Tools of the Trade
15 Get server space set up.
5 Go over Homework assignment
10 Q&A

The Original course title was Web Design Basics. The official description and title have changed, but the topic matter is still what it was, and better described by the old title.

Official Description

CD FOUNDATIONS: INTERACTION is designed to introduce students to programming as a creative medium—as a way of making and exploring. The coursework focuses on developing a vocabulary of interaction design principles which can then be applied across a range of platforms. Students are encouraged to experiment with various media, tools, and techniques, ultimately producing a portfolio of interactive and visual projects designed for the screen. An emphasis is placed on typography as it applies to a screen context, research-based problem solving and a “learning through making” approach to technical skill building. Historical and current interaction design precedents will be discussed.

Welcome to Web Design Basics

 

CSS is in the middle of changes that will eventually require me to adjust the way I teach the course. The changes have not yet settled down as I wait for best practices to become clear. In addition, artificial intelligence is changing the landscape, providing editorial, image, and design solutions and code to students where there had been none. It will take a while before the dust has settled. In the meantime, I’ve accumulated a lot of material through the years, so changing the course is easier said than done. I’ve integrated some of the new topics along with making sure that the old ways remain available. Extra credit to anyone giving me useful feedback on improving the website.

Collaborate, be compassionate, and creative!

Tim Berners-Lee, the person who founded the World Wide Web, posted an open letter on the web’s 35’s birthday (March 23, 2024) discussing the state of the web, affirming his original intention, the three Cs: the intention for collaboration, to foster compassion, and generate creativity, and criticizing its commercialization and monopolization. That is what the web is about. This is your community. Collaborate, be compassionate, and creative!

What do you hope to achieve this semester? What kind of learner are you?

Write a sentence or two expressing what you hope to achieve this semester. Also let me know if you are a self learner or not. Post this on the landing page you will create next week.

Inspiration

Building a website opens you up to your target audience. Exposure to what you perceive to be your target audience is the biggest benefit of this course. Capitalize on that opportunity! It is not learning how to build websites, which is easy enough, and gotten easier with AI, but to use that knowledge to discover, target, and convert your target audience: to sell yourself. Use this course to position yourself within your professional horizon. It is an opportunity to organize, test out, innovate, secure and professionally develop yourself. The future will be shaped by AI. What is AI? AI will only become more ubiquitous, so you might as well get to know it. I expect you to use AI to help you confront AI, and to come out on top.

Let’s say your major is product design. When the instructor asks you to come up with a product idea, those ideas most likely originate out of your own interests, of what you want to do, or out of what you think your teacher requests. But by building a website to sell that project, you start thinking about the target audience. Who is the product for? How will they use it. How are similar products marketed? What can I learn from the competition? Do the research. Check out other websites. As the competition is established, they probably know a thing or two about how to reach their customers. This is the market you have to enter.

Working to define your target audience, figuring out how to best capture their attention, and selling your product will impact how you communicate whatever commercial art you are working on here at Parsons. Being attentive to the real world and targeting your work is the best way to initiate any product. Doing so will make you more competitive. A marketing strategy for your product will force you to create a more thorough and complete job from the outset.

The course demands you to think about your target audience. Who will use your website? Who are you building it for? This is an opportunity to think about, investigate, and target your work. Whatever your major: photography, illustration, fashion design, etc, your work will improve when you take your target audience into consideration. Building a website around that goal can only reinforce your concentration as to who your target audience is. Haven’t thought about it much? This is a commercial design school. You are being educated to solve the problems that other people want solved. You need to be clear as to what the problems are, so you can solve them. A website gets you into that space, so you can test things out.

What are my expectations?

I hope this course primes you to always consider your target audience for all your creative commercial work while at Parsons and beyond. It keeps you on target to develop meaningful creative website and marketing materials for whatever projects you will create long after you leave this class.

I recently ran into the son of a friend of mine who picked up a new girlfriend who recently graduated from the fashion design program at Parsons. She did develop a generic website, using SquareSpace or Wix, I’ve forgotten. She did not investigate her target audience until the very last year, and was not prepared to market her work until the last moment. After explaining what this class is about, she wished she had taken something like this early on in her student career, so she could have been up and running by the time she graduated rather than figuring out how to do that at the last moment. This course is about developing who you are and your professional career. Think of it as an opportunity and treat it that way. The real grade for this course is earned by what you make of yourself outside of this class, not some letter grade on a transcript that few will ever take note of.

Communication Design Attendance Policy

In order to foster a studio learning environment where we all learn from peers and through dialogue, timely and regular attendance is a strict expectation for all Communication Design students. Students who are not present in class are unable to meet the learning outcomes of a Communication Design course. Thus, it is an expectation of the program that students attend all classes. We recommend that students reserve the use of absences for unexpected situations.

Should students need to miss class for personal reasons, students are allowed the following number of absences:

For classes meeting once a week, students are allowed 2 absences. For classes meeting twice a week, students are allowed 4 absences. Any absence beyond the allowed absences will result in an automatic failure (F) for the course. There are no excused absences, and doctor’s notes are not necessary.

A student is deemed tardy if a student fails to arrive within 15 minutes past the beginning of class. 2 tardies will result in an automatic absence. A student who arrives an hour past the beginning of class will be deemed absent.

Per Parsons policy, faculty are asked to notify the student’s advisor and program director if the student has missed a significant portion of class time: 2 absences for a once/week class or 4 absences for a twice/week class.

Expectation of Students

  1. Students are expected to adhere to the CD Attendance Policy. Save your absences for unexpected events. Missing class for any reason (including quarantining) will count as an absence.
  2. Students are responsible for ensuring their computers are working
  3. Students are expected to fully and actively participate in class.

Grades

Officially, three absences is failure. That is school policy. It is up to my discretion to enforce that, and I have been known to be a little more lenient with students demonstrating superlative work.

There are 20 assignments I use to grade your progress, but the main deciding factor is the progress you exhibit between the midterm assignments and the final. I expect visually informed, creative, professional looking, websites that take user experience into account. Use validator to catch your errors and fix them before I grade your work. I provide feedback on your work throughout the semester, but calculate a final grade only at the end, which allows for revisions to earlier or incomplete work without penalty. Contact me if you have any questions as to your standing in the course. 

Everyone will not have had the same exposure to the plastic language required to solve visual problems in art, photography, graphic design, and the other Parsons design related fields. Experience has taught me that just because a student can illustrate does not mean that they are effective at solving problems in communication design required to present their work effectively. Students from other parts of the New School may require more visual literacy studies. To help amend any visual literacy deficiencies, there is supplementary information and the vignelli Canon to help everyone achieve effective communication. I expect the Communication Design Minors to be educated visual and communicative problem solvers. These resources will help you achieve visual literacy. I will not grade you on your limitations. Each person is evaluated on their own terms and will not be compared to other students’ fluency in design, etc. Seek help and advice from me or your peers, not only to solve problems in your code, but for visual and design issues as well.

Learning how to Code

My job is to get you to code. Coding for the web is a vast and growing field, and I could never teach it all. Instead, I provide a good foundation that you can build upon as you make coding for the web your own.

Learning to code requires internalizing the rules and methods associated with HTML and CSS. JavaScript will not be covered. You learn by coding. Internalize HTML and CSS by creating websites. Be ready to explore how to code. The World Wide Web is the teacher that has every answer. Effective web searches are a great way to understand the problems that you encounter.

Start with these basic video if you have no clue at all. Follow along and try it yourself. Take the initiative and build websites. The magic is in the repetition. Your ability to problem solve with code improves with each website you build. The more websites you build, the better you become.

Chat GPT and an increasing number of AI competitors are available to help you code, create pictures, write copy, etc. Get to know them and take advantage of these resources. But be familiar with the basics of HTML and CSS, or you will have difficulty integrating the code they produce. For that reason, hold off from using AI to code the website for you until the second half of the course. Then you AI to help create websites that go beyond what you can code on your own, but do not be surprised if the results are generic. Your websites need to stand out, to be different from other websites, to reflect who you really are, and catch the attention you deserve. AI will not do that, or at best help you once you have helped yourself. You need to learn how to hand code to make that unique and special website.

There are other ways to expedite the creation of a website, like using Twitter’s Bootstrap to realize your site. But you still need to have the basics down to take advantage of Bootstrap, and it takes time to learn Bootstrap that is not spent learning HTML and CSS. Though Bootstrap websites are professional, you cannot generate a totally unique site the way you can by hardcoding it. Once again, hold off with Bootstrap or any other web-site-builder software till after the midterm.

Other programs don’t require that you know any HTML or CSS, and provide an InDesign-like interface experience. I’ve had students use Webflow. The websites look professional but generic. The time it takes to learn such a program is better spent learning how to code. It provides you with more flexibility in the end, to create something that stands out.

I haven’t used Adobe Dreamweaver, “what you see is what you get,” in a long time. You are better off using your time to learn to code by hand.

Plagiarism

You are free to use any and all artificial intelligence and other web and code services to create your work. You can beg, borrow, and steal, just let me in on it by including your sources on your landing page, and be able to defend it, if I ask questions. By that I mean that you understand what the code is and what it is doing. The one requirement, if you use outside help, that you document where your code comes from. I will consider it plagiarism if you don’t, which can result in a) failure of the assignment or b) failure of the course, with multiple instances leading to possible suspension or even being expelled from the school. This is from the The New School Academic Honesty And Integrity Policy, so don’t pass off as yours what someone else created.

Document everything that you have not directly created and let me know what services you have used, etc. There is a place in the landing page for you to do that. Most every service can be traced back in the structure of the code, but I prefer to know ahead of time where everything came from, rather than having to figure it out. That makes it easier for me to evaluate you on the basis of the code you write, and not the code you did not write.

Course Design

You only learn to code by doing it. My aim is to get everyone coding by the midterm, so you can practice coding on your own projects for the rest of the semester, with the strategy that you grow secure in your ability to code by the time you leave this course. I front-load the course. That means the first half of the course is demanding and requires you to keep up with the work. I ease up in the second half of the course, to give you the freedom to apply what you have learned on your own projects, or to catch up if they did not fully finish everything by the midterm. This format works for most students. Some students wish I would continue to provide guidance in the second half of the semester. I may figure out additional projects, but if I don’t, and if you are one of those students, ask me, and I’ll be happy to assign additional guidance, projects, and whatever it takes to keep you engaged. 

Seniors can choose to spend the entire course developing their portfolio or senior projects (instead of the final assignment, where everyone else has to sell something other than themselves.) I recommend you to sell something other than yourselves, as that allows for a more effective application of your creative talents. By completing the course successfully, you should be able to build a better portfolio website in short order. You’ll learn more when you’re not stuck on the same project for the entire 15 weeks, and portfolio websites are rarely complicated enough to warrant the extra time. But I understand the pressure to build out and perfect one’s portfolio site, so the option is there.

Communication Design Minors are held to department standards for coding by the end of the semester.

Easy access to artificial intelligence (AI) transforms this course, since it is possible to get the chat bots to write code for you. But to take advantage of that, you need to understand how to code, to integrate what it produces. While there are no restrictions of the use of chat bots to create code for you, you are to attribute where the code came from whenever you do not write the code yourself, be it from a website, or if a chatbot helped you write the code. This can be done using the comment element.

Why learn how to code websites by hand for the web? There are many website builders that allow a person without much prior knowledge to create a good-looking website without hand coding HTML or CSS. The tradeoff is that these web experiences use templates, making it more difficult to differentiate yourself from other web experiences. In today’s competitive world, to stand out in a captivating way is a plus. 

You should be able to follow me in class and glean most everything you need to learn how to code. If not, the course portal has your back.
 

This website is here to help you. Use this portal to help you catch up when you’ve missed a class or need a reminder later on. All the lectures are written out. If you have trouble with a topic as presented in class, read the topic on the website, and follow the links and examples. 

Make up the material of a missed class before the next class. Students entering the course after the first or second lectures need to read all the material as soon as possible and complete all assignments to catch up with the rest of the class. 

Much of the learning takes place as you write code. Learning to build websites is a cumulative effort: basic skills are necessary for building advanced skills. Watching me write code is not the same as writing code yourself. You start learning when you try to overcome the mistakes you have made. Don’t be intimidated. Start simple and you will become more adventurous as you gain confidence. Most of you will be wondering what all the fuss was all about by the time the midterm arrives. 

The scope of this course is coding HTML and CSS with a smidgin of PHP and JavaScript thrown in. A student needs a solid foundation in designing and developing HTML and CSS before they deploy JavaScript to develop behaviors. That makes it optional. Anyone can use existing JavaScript code, and if you already know the language, don’t let me stop you.

If you missed a class or do not completely understand a topic well enough to move on, go back to the supporting material. If you have difficulties understanding the material or completing your homework, email me or visit the Learning Center. I recently found out that the department has students available for you to ask questions at the Design Lab located on 10th Floor of 2 W 13th Street. Just go in and there should be people there to help you with your code. This may be better help than the university learning center.

In-Class Code Checking

Class Assignments require me to personally check your code in class for correctness. Many of you have laptop screens and display the code in small type, or reverse the color. While I want you to set your preferences that work best for you, these issues make it difficult for me to find that needle in a haystack, which is what it is like to discover errors in existing code. To facilitate my correcting your work, please increase the size of the code so I can easily see it, use black text on a white background, and move your laptop to the side, so I can sit directly behind it. The corrective glasses I wear operate optimally at a specific distance two or so feet from the screen.

I mention this because it is possible that I encroach on your personal space as I situate myself to read your code, and I would prefer not doing that. This is especially important if you are sensitive about your space. Some people are more sensitive than others. I work to be respectful of everyone, knowing that there are many personal and cultural differences at play. Please make sure I can view your code in a way that is both comfortable for me and for you.

Do not hesitate to ask or email me if you have questions.

I am always surprised by the number of students who do not ask me for help when they are having problems. You can always ask me. Email me, and if I can’t answer the question over email, we can schedule a zoom meeting to figure out what the story is. Remaining silent when I ask, if anyone has any questions, communicates to me that you understand what the story is, and that you have no questions. Speak up if that is not the case. If you do not like to speak up, email me.

Most answers can be found in this website, or on the web. Write full sentences in Google Search to ask your question, as in “how do I create a link in HTML.” Or just ask a chatbot. If you can’t figure out the problem on your own, ask me. There is so much information that it’s not always easy to connect it all with what you need at that moment. So you get stuck. Know that most of the mistakes happen in the first four weeks of the course. Use validator with some frequency to catch any issues as you code. Sometimes in CSS the mistake happens right before the css code that does not work. By the midterm, the mistakes will mostly disappear.

Do a through job on the first assignment and the worksheet. The writing you complete provides the repetition necessary to make marking up content second nature, and that makes coding web pages a lot easier. I’ve had students who skimped and the result was they did not internalize marking up the content, and without that foundation, their progress was slow, and coding remained difficult.

Book time at the Learning Center. How to make an appointment. and schedule an appointment.. They can help you understand and overcome the problems you are facing, help you code your final project, and keep you organized and working. Or check out the Design Lab located on 10th Floor of 2 W 13th Street. Just go in and there are people there help you with your code.

There are many resources on the web from which to learn how to code. Do make sure that the information is current or you will be learning ways that are no longer practiced. A comprehensive resource is Mozilla’s Mozilla developer network (MDN) which includes individualizedAI Help. Also look into Google’s Chrome Developer Relations web.dev. The important thing is that you practice writing code and to do it often. The only way to learn to write code is by writing code. Making mistakes is part of the process. The mistakes that stop you dead in your tracks disappear after a week or two of doing the work. Do not become discouraged when you get stuck. There are many ways to solve most problems. Take a step back and try again. Use validator to help you avoid mistakes. 

And what if you do not like my teaching style or this website?

There are people who cover the basics from the beginning. CSS Tricks is Chris Coyer’s website and a great resource for all things for building websites. His Where do you learn HTML & CSS is 2020 is a great place to start. But many people attempt to communicate the basics, like How to Build a Website with HTML to help you learn the basics. I googled that and there is so much more so finding alternatives to me is easy enough.

The real grade for the course

The grade that goes on your transcript is not as important as learning the basics of web design well. You could gain a career out of front-end web development, as previous students have. You are planning to enter the workforce, a good website can only help. Whatever you want to do with your life is at stake. Work as if that is the case, and your grades will be fine. Everyone is different. Not everyone needs to sell their creativity on the open marketplace. I will be grading you on your work, and will not be comparing you to others in the course. I look to see how much each person improved from the first assignments to the last. It is easy to see the effort in your projects, and effort counts.

Getting Help:

  1. Ask questions during the lectures and code demonstrations in-class.
  2. Read and watch videos on the website.
  3. Do the homework.
  4. Validate your work often. This will keep you from making mistakes.
  5. Email me whenever you have questions.
  6. Search the web for solutions. Type the solution you’re looking for in complete sentences.
  7. Visit the Design Lab located on 10th Floor of 2 W 13th Street. Just go in and there should be people there to help you with your code.
  8. ask a chat-bot for help, or to solve the problem for you.
  9. Visit the Learning Center. They will help you with your homework. Slots are limited, so sign up in advance.
  10. Watch Lynda.com video instruction. 
  11. Book is optional. It is ancient and I don’t refer to it in the course. HTML5 & CSS3 Visual QuickStart Guide (8th Edition). Some students like to read a book, and if you are one of those students, please use this or any other HTML/CSS book to do so. 

About this Website

 

I present each class systematically. Figuring out the topic, the information you need, the homework, and support files, is straightforward. Otherwise, you can use the search bar at the top of the window to find what you are looking for.

The fixed menu on the right-hand side covers every class, in addition to often used reference websites. Clicking on the link loads the class page. I structure each page in the same way, except this one, as it has welcome information. 

A shortcut to each class, the associated pages, and to the homework is available on the top menu.



Learn By Doing

Paying attention in class is half the battle. Putting into practice what’s covered in class is the other half. Each class teaches a necessary skill. It is your responsibility to learn it. 

  • Code a little each day, not a lot once in a while. You’ll get over the frustration soon enough. Coding web pages is not so difficult once you get over the minor mistakes that everyone makes when they start. 
  • There are two major assignments: a midterm portfolio and a professional, standards compliant, website that sells a product for the final.
  • Validate!

           

    Why validate?

    The core reason to run your HTML documents through a conformance checker is simple: To catch unintended mistakes—mistakes you might have otherwise missed—so that you can fix them.

    Validate your work often! The validator is your friend that will point out your mistakes.

    There are alternatives, like Validator.nu, an alternate address for CSS validator, and direct CSS input.

    Go beyond validation by measuring your page quality using web.dev’s web page audit. It will measure your performance, accessibility, best practices, and Search Optimization, give you hints on how to fix it, and teach you how to do it better as well.

    Do not be alarmed if there are 50 mistakes. That can happen if you haven’t been using the validator as you should. One mistake can flag a lot of other issues. Fixing one problem can make other problems disappear.


    Many of the units point to a number of websites that exemplify current practices. This helps you see how the web implements the topics discussed in class.

    Current Practices

    A lot of websites deserve to be looked at as standard bearers for the web. A few that have stood the test of time:

    • CSS Zen Garden Original CSS experiment in 2003 that explores what is possible using CSS and galvanized the web toward standards compliant websites.
    • The Rijks Museum opened the floodgates for the new single page jQuery web design experience. Others had come before but it pushed behaviors over the top. The user experience and content interaction are impeccable.
    • NY Times The New York Times soon followed. A standard setting newspaper that helped move the web away from its addiction to tables in 2007 has just been redesigned using jQuery animation. Follow the link to see how design considerations led to a more engaging web experience.
    • The New School Jumped onboard with the JQuery look in 2014 as well. It’s redesigned the website several times since then. The Parsons Web Site.
    • Apple helped define design as the central tenet of computer usage and did so against the establishment for many years. Now it is the establishment. Its website is has remained similar for many years. It is sparse, to focus on what is important while hiding a site of vast complexity.
    • Facebook Not for what it looks like but for having taken over such a big part of the web. It has walled off a large section of the web and privatized the experience. The privacy is good for users, who feel free to share their experiences with friends and family. Except there is a back door. Facebook shares details with corporations to target advertising and government spy agencies. That’s not all they collect, so watch out what you say or do. That’s the price of freedom, or so they say.
    • The Bulletin of Atomic Scientists: How a nuclear war would kill you — and almost everyone else.
      In a nuclear war, hundreds to thousands of detonations would occur within minutes, resulting in tens to hundreds of millions of people dead or injured in a few days. But a few years after, global climatic changes caused by the many nuclear explosions could be responsible for the death of more than half of the human population on Earth. Good use of multimedia and paralax effect to tell the story.
    • The Armed Conflict Location & Event Data Project exemplifies information design.

    There is nothing like examples to motivate your own work. Be motivated to do your best. You are the one who gains from learning these skills. I’ve had students, like Urara Ito, who entered the industry after taking the class.


    The last item on the first few pages contains definitions for words used in the class that you should be familiar with.

    Definitions

    These are the terms that participants should be familiar with during this unit:

    The W3 organization definitions of HTML, XHTML and CSS:

    HTML (the Hypertext Markup Language) and CSS (Cascading Style Sheets) are two of the core technologies for building Webpages. HTML provides the structure of the page, CSS the(visual and aural) layout, for a variety of devices. Along with graphics and scripting, HTML and CSS are the basis of building Web pages and WebApplications.

    What is HTML?

    HTML is the language for describing the structure of Web pages. HTML gives authors the means to:

    • Publish online documents with headings, text, tables, lists, photos, etc.
    • Retrieve online information via hypertext links, at the click of a button.
    • Design forms for conducting transactions with remote services, for use in searching for information, making reservations, ordering products, etc.
    • Include spread-sheets, video clips, sound clips, and other applications directly in their documents.
    With HTML, authors describe the structure of pages using markup. The elements of the language label pieces of content such as “paragraph,” “list,” “table,” and so on.

    What is CSS?

    CSS is the language for describing the presentation of Web pages, including colors, layout, and fonts. It allows to adapt the presentation to different types of devices, such as large screens, small screens, or printers. CSS is independent of HTML and can be used with any XML-based markup language. The separation of HTML from CSS makes it easier to maintain sites, share style sheets across pages, and tailor pages to different environments. This is referred to as the separation of structure (or:content) from presentation.

    HTTP

    The Hypertext Transfer Protocol (HTTP) is a networking protocol for distributed, collaborative, hypermedia information systems.[1] HTTP is the foundation of data communication for the World Wide Web.

    FTP

    File Transfer Protocol (FTP) is a standard network protocol used to copy a file from one host to another over a TCP-based network, such as the Internet.