Course Syllabus

SYLLABUS – Fall 2018

DGMD E-20 (formerly “Understanding and Developing Interactive Multimedia”)

Last Updated: 9/17/18 - swapped accessibility and CSS3 lectures

Course Description

This course dives deeply into HTML5 and cascading style sheets (CSS), so students can better understand their power and flexibility in designing web pages. Students learn about advanced selectors, including general and adjacent sibling selectors, attribute selectors, pseudoselectors, pseudoelements, and CSS specificity and the cascade. Methods for layout are covered extensively, including floats, positioning, Flexbox, and CSS Grid. Students also build their own layout grids, explore media queries, and understand proper responsive image management. The course explores animation and its use in user interfaces, including CSS transforms, CSS animation, and scalable vector graphics (SVG), including filters for CSS. Units on accessibility and forms are included.

Course Prerequisite

CSCI E-12 or permission of the instructor. Instructor grants permission if you can complete Assignment Zero. See: What should I know coming into class?

You should understand HTML5 and CSS fundamentals entering this course. The following lynda.com courses are excellent for learning or review:

Instructors

Jen and Erin

Jen Kramer, Instructor
Email: jkramer@fas.harvard.edu
Twitter: @jen4web
Facebook: www.facebook.com/webdesignjen

Erin Schroeder, Teaching Assistant
Email: erinmarieboyle@gmail.com

Contacting the instructors

Please email Jen and/or Erin with any personal issues that are affecting your class experience or with any information you do not wish to share with the rest of the class. Example: death in the family, severe illness, grading issues, etc.

Please do NOT email Jen and Erin with questions about the week’s material. It is better to ask these questions in the forum for the class, where others can benefit from the answer as well. (See “How Class Works” below.)

Class Objectives

  • Understand the HTML5 standard and use this successfully in building a website, including new standards like canvas and new HTML5 form elements.
  • Understand the CSS3 standard, including advanced selectors, specificity, layout, and new features like rounded corners, RGBA, and multicolumn layouts.
  • Thoroughly understand responsive page layouts, including layouts using floats, positioning, Flexbox, and CSS Grid.
  • Learn about Scalable Vector Graphics (SVG), CSS Transforms, CSS Animation, and CSS and SVG Filters. Compare and contrast their usefulness and processing power with what's available in JavaScript.

Lecture Time

Offered wholly online. New lectures will be posted each Tuesday, sometime during the day.

How Class works

  1. This class is wholly online, which means there is no synchronous portion of the class. You may do the work whenever you wish.

    That having been said, this is a technology class. Do not wait until the last minute to get your work done! In technology, things go wrong all the time, so anticipate this and aim to have your assignments complete a day early... just in case.

    Also note that the work is broken into weekly chunks because it’s expected it will take you a week to complete. You can’t cram it all into the 2 days before the assignment is due. Many have tried... 
  2. For reference, you may use Boston or New York as the city for calculating time and date. The time zone here is US Eastern time. Please refer to http://www.timeanddate.com/worldclock/ for your local time and date for when assignments are due. All dates and times posted in class refer to Eastern time, and you should adjust your time and date accordingly.
  3. We have students from around the world in class. We try to make lectures as clear as possible, but sometimes we are not clear to those who are outside the United States. Please ask questions if the lectures or assignments are not clear. This helps us to improve, and we want you to succeed in class!
  4. A new class will be posted every Tuesday. When the new class is posted, you will find an entry describing exactly what you should do and what you need to turn in. If you have questions on what you should be doing, what the assignment is, when things are due, ask!
  5. There will be a discussion forum posted every week where you can ask questions about the week's assignment, interact with other classmates, and answer each other's questions. 
  6. We anticipate that there will nearly be 100 students in this class. Please, do not email Jen and Erin with questions about the assignment, what you should be doing, something you didn't understand in the reading, etc. Post these questions in the forum so we can ALL answer them. We'd rather answer your question once than individually for each student.

    We will occasionally ask you to post emailed questions in the forum where they can be answered, rather than answering them by email.
  7. This having been said, please email if you have personal issues that will prevent you from completing assignments, pertain to your grade, or contain other personal information you don't wish to share with the class. 

    Jen's email is jkramer@fas.harvard.edu
    Erin's email is erinmarieboyle@gmail.com

  8. Be warned: each lecture builds on the last one. If you're late turning in an assignment, catch up as fast as you can. If you don't understand something, be sure to ask in the forum. DO NOT GET BEHIND. Complete the weekly homework assignments and you should have no trouble keeping up.

If you have any questions on expectations for this class, please ask!

Grading

94-100
A
93-90
A-
89-87
B+
86-84
B
83-80
B-
79-77
C+
76-74
C
73-70
C-
69-67
D+
66-64
D
63-60
D-
Below 60
Failing

Graded assignments

There will be four projects in this course, as described below in the course outline. A detailed description of each project will be distributed at least 2 weeks before the project is due. Each project is worth 25% of your grade. This includes the last project, which is considered the “final” project.

Graduate students will have additional work or additional requirements to complete for each assignment.

Homework assignments

Each week, you will be offered suggestions for ungraded homework assignments. There is no place to submit these assignments, nor will they be viewed or examined by the instructor or the teaching assistant. These small, interim assignments will test your knowledge of the weekly lecture, and in many cases, they will be reusable as elements in the project for the unit. It is strongly recommended you complete the assignments. You will find that if you wait for the end of a unit to build the final project, you will have gaps in your understanding if you simply listen to lectures without practicing the skills that are taught.

Grading procedures

Projects are due on the dates specified in the course outline by 11:59 PM Eastern time that day. It is expected that you will turn the assignment in on time.

You may turn in assignments 1, 2 or 3 late. (Assignment 4 cannot be late as it is the end of the term.)

"Late" means 3 days late. All assignments are due on Fridays, so the "late" date would be the immediately following Monday at 11:59 PM.

When your assignment is late, we note it in Canvas. There is no penalty for your grade for this late assignment. However, you may only turn in one assignment late. If another assignment is late, it will receive a zero.

Graduate students will have enhanced requirements for all projects.

Turning in assignments

Your assignment will generally be in the form of a web page or several web pages. You will post these in your web hosting environment (directions provided in the first class). You will then paste the URL for the home page of your assignment in a text file and upload this to the assignment box for this course. Detailed instructions will be provided for your first assignment.

Regrading of assignments

If you are dissatisfied with a grade you receive on assignments 2 or 3, you may resubmit the assignment for review. This resubmission must occur within 3 days of receiving your grade.

You may have one regraded assignment per term. Generally, regrades occur because students do not follow directions about how to turn in the assignment. 

Regraded assignments are recorded in Canvas. There is no penalty for your regrade. However, you may only have one per term. 

Regrading is not available for the first (worksheet) assignment, as this is a test more than a project.

Regrading is not available for the fourth (“final”) project due to grade submission timing.

Academic Honesty

Once again, the purpose of this course is to teach you the fundamentals of digital media design and development. This means that copying the files of other students and submitting them as your own work is not only a violation of school academic policies but a real shortchange to your ability to learn what you need to learn.

We fully expect that there will be no issues in this area. We ask that you help keep us out of situations where we might need to take action regarding plagiarism, cheating and other acts of poor academic integrity. 

You are responsible for understanding Harvard Extension School policies on academic integrity (www.extension.harvard.edu/resources-policies/student-conduct/academic-integrity) and how to use sources responsibly. Not knowing the rules, misunderstanding the rules, running out of time, submitting "the wrong draft", or being overwhelmed with multiple demands are not acceptable excuses. There are no excuses for failure to uphold academic integrity. To support your learning about academic citation rules, please visit the Harvard Extension School Tips to Avoid Plagiarism (www.extension.harvard.edu/resources-policies/resources/tips-avoid-plagiarism), where you'll find links to the Harvard Guide to Using Sources and two, free, online 15-minute tutorials to test your knowledge of academic citation policy. The tutorials are anonymous open-learning tools.

Accessibility

The Extension School is committed to providing an accessible academic community. The Disability Services Office offers a variety of accommodations and services to students with documented disabilities. Please visit www.extension.harvard.edu/resources-policies/resources/disability-services-accessibility for more information.

Textbooks & Commercial training video

There is no required textbook for the class. It’s possible that you could complete this course simply by watching the lecture videos and looking up your own resources online. However, a book will help to fill in gaps and supplement the lecture videos. I encourage you to pick as many books as match your learning style.

Keep in mind we are learning HTML5 and CSS3, and you probably want to get a recently published book. I recommend a book published no earlier than 2016, and preferably in 2017 or this year, for the most recent information.

I will recommend other materials as we continue through the semester. None of the materials are required to purchase or read, but you may find them helpful for reference and additional help.

All enrolled students have a subscription to lynda.com for the duration of this course. These online training videos are also there to supplement the lecture material. You may access this resource with your Harvard Key at lynda.harvard.edu.

You may also find the Safari library from O’Reilly to be of help. http://proquest.safaribooksonline.com.ezp-prod1.hul.harvard.edu/

You will need a Harvard Key to access the O’Reilly resources.

Course Outline (subject to change)

Class #/date

Agenda

01-
09/04

Review of HTML5 and CSS

This is one fast week of review. If you are not familiar with the principles introduced in this first lecture, this is not the class for you! It is assumed you know this material coming into the course.

  • Review of Syllabus and other materials
  • Grading and attendance policies
  • Download your editor (Sublime Text 3) for creating web pages
  • Purchasing and configuring a domain name and web hosting
  • Introduction to FTP and posting your page on a server

REVIEW:

  • Introduction to the specific HTML5 tags: header, footer, aside, section, nav, figure
  • Learn about W3C validation and how to use this tool for fixing problems with your HTML
  • Block and inline HTML tags
  • Browser compatibility issues with HTML5 tags and workarounds
  • Classes, IDs, styling HTML tags, external stylesheets

02-09/11

Understanding selectors

When you need to style something on a web page, you don’t necessarily need to add another class or ID. This lecture introduces you to many types of selectors including:

  • Universal selector
  • Descendant combinator
  • Child combinator
  • General sibling combinator
  • Adjacent sibling combinator
  • Attribute selector
  • Pseudo-class
  • Pseudo-element

03-09/18

Understanding inheritance and the cascade

Think you understand what style is taking precedence? How about what styles affect the current element you’re examining on the page?

  • What is inheritance and how exactly does it work in CSS?
  • What is the cascade? What overrides what?
  • How is specificity calculated?

04-09/25

All about layouts part 1: Floats

We will look at different methods for laying out a web page in detail. We’ll focus on several methods for positioning elements on the page, with positives and negatives of each.

  • Box model review and new ways of dealing with the box model
  • Floats and clears, including various clearfix methods

09/28

Assignment 1 (25% of grade)

Complete the assigned worksheet, which covers CSS selectors and specificity problems.

05-10/02

All about layouts part 2: Positioning, inline-block

We will look at different methods for laying out a web page in detail. We’ll focus on several methods for positioning elements on the page, with positives and negatives of each.

  • Absolute, relative, and fixed positioning
  • The display property and new standards like inline-block
  • Creating columns with CSS3

06-10/09

New CSS3 Features and HTML5 forms

We look at some of the new CSS3 properties we can include in our web designs.

  • Rounded corners
  • Gradients
  • Drop shadows
  • Border images
  • RGBA
  • Web fonts
  • We look at the proper way to code an HTML5 form. This include accessibility features, use of the <label> tag, and some of the new HTML5 attributes and data types.

07-10/16

Accessibility

Accessibility is often mentioned but little understood. Identify and understand different features of HTML5 and UI design to aid in accessibility and understand its importance -- not just to those with disabilities, but to search engines as well!

08-10/23

CSS Transforms & Animation

Using CSS, we can change the look of elements using transforms, including rotate, skewing, translating, scaling, and moving. Transforms may happen in 2D or 3D. Next, we'll look at how to combine some of these transform properties with an animation timeline. CSS animation will be compared with JavaScript animations.

10/26

Assignment 2 (25% of grade)

Build a 2-3 page website, demonstrating correct use of floats, at least one type of positioning (absolute, relative, or fixed), and inline-block. Use accessibility best practices to make your page WCAG compliant. Style with recent CSS3 styling features. Include a form.

09-10/30

SVG

Scalable vector graphics (SVG) are a new format that may be embedded in HTML. Understand SVG-specific 'CSS-like' properties (like 'fill', 'stroke', etc.). Unlike raster images, individual components of an SVG can be modified and animated using CSS. Learn how you can build those animations right into the file itself, to make a self-animating vector that can live on its own.

10-11/06

CSS Filters 

Filters are available for standard CSS elements. Learn more about these types of filters, and apply them to your work.

11-11/13

Responsive Design with Floats, part 1: Layout Grids

Responsive design is defined by 3 characteristics: layout grids, media queries, and images that resize. This lecture covers grid creation, as well as working in relative size units (like em, rem and %).

11/16

Assignment 3 (25% of grade)

Demonstrate transforms, animation, SVG, and filters, either expanding your site from Assignment 2, or building a new site.

11/20

Thanksgiving Break - no class

13-11/27

Responsive Design with Floats, part 2: Media queries and responsive images

This lecture takes our grid from the previous week and makes it responsive by adding media queries. We will also explore how to manage images using Picturefill, a JavaScript-based polyfill for the <picture> element. We'll also look at responsive forms.

14-12/4

Responsive Design 3: Flexbox 

Now that we've examined how to make a responsive design using floats, let's examine how Flexbox and Grid are impacting responsive design. We will create layouts hacking Flexbox to use as a grid system, and we'll use Grid to create amazing layouts.

15-12/11

Responsive Design 4: CSS Grid

The new CSS Grid specification is the future of web layouts, and it's nearly ready to use on all websites. Look at this new spec and understand its positives and negatives.

12/20

Assignment 4/Final Project (25% of grade)

Exercises with Flexbox and Grid, and building web pages with responsive design and responsive images.

 

Course Summary:

Date Details Due