Course Syllabus

SYLLABUS – Fall 2015

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

Last Updated: 9/9/15 (to reflect additional TA)

Course Description

This course dives deeply into HTML5, Cascading Style Sheets (CSS), and jQuery, 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. Methods for layout are covered extensively. Students explore jQuery, including integrating jQuery functions into their web pages. We also explore jQuery Mobile as a way of creating alternative layouts for smaller devices, and jQuery UI, another framework for incorporating design patterns into web pages with a minimum of programming expertise required.

Formerly CSCI E-14.

Course Prerequisite

CSCI E-12, Fundamentals of Website Development, or a solid understanding of basic HTML and CSS with permission of the instructor. This is a new requirement for this course in 2015.

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

Instructors

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

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

Rebecca Mazur, Teaching Assistant
Email: rebeccamamazur@gmail.com

Contacting the instructors

Please email Jen, Rebecca, 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, Rebecca, 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.
  • Introduce JavaScript and jQuery, demonstrating how this tool manipulates the document object model (DOM) to provide interactivity on a web page.
  • Work with jQuery Mobile, an interactive frameworks for providing different looks in web page design for different types of devices.
  • Work with jQuery UI, a framework for adding different types of interactivity to any website.

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.
  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. (Update Sept 9: There are 161 students in class!) Please, do not email Jen, Rebecca, 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 jen@jenkramer.org

    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

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.

If you are unable to turn the assignment in on time, you must notify Erin Schroeder by email no less than 24 hours before the assignment is due and negotiate a new date when you will turn in the assignment. If this email is not received, you will receive a zero for the assignment. Do not email Jen Kramer, the instructor – email Erin Schroeder, the teaching assistant.

Grades will be posted online in Canvas, our online learning environment. You will receive a login for this in the first few weeks of class.

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

Regrades of assignments are permitted. If you are dissatisfied with a grade you receive on the first three assignments, you may resubmit the assignment for review. This resubmission must occur within 3 days of receiving your grade. If you choose to resubmit your assignment, please email Erin Schroeder that you have done so. 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 2013, and preferably in 2014 or this year, for the most recent information.

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

You will also be given a subscription to lynda.com for the duration of this course. These online training videos are also there to supplement the lecture material. You will receive instructions on how to complete signup for this service in the second week of class.

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 HUID and PIN to access the O’Reilly resources.

 

Course Outline (subject to change)

Class #/date

Agenda

01-
09/01/15

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/08/15

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/15/15

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/22/15

All about positioning part 1

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/25/15

Assignment 1 (25% of grade)

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

05-09/29/15

All about positioning part 2

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/06/15

Proper coding with HTML5 Forms

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/13/15

New CSS3 Features

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
  • Multicolumn layout

08-10/20/15

Introduction to jQuery and Javascript

HTML and CSS are the fundamental building blocks of a web page. Javascript is what makes the page interactive. Using jQuery, a Javascript framework, we’ll explore how to add “interactivity” to our web page in the form of sliders, tabs, dropdowns, and more.

  • Compare and contrast Javascript and jQuery
  • Incorporate jQuery into our HTML5 website
  • Add special effects, relying on the jQuery documentation
  • Become aware of older browser limitations, and learn how to work around these with jQuery.
  • Functions: .fadeIn(), .fadeOut(), .slideUp(), .slideDown(), .css()

10/23/15

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. Create a web form demonstrating proper HTML5 coding practices and including some of the new HTML5 form attributes and data types. Style with recent CSS3 styling features.

09-10/27/15

Javascript/jQuery 2

We continue learning JavaScript and jQuery, looking at some basic programming structures and what problems they solve when writing code.

  • Events: .click(), .hover()
  • Manipulations: .animate(), .removeClass(), .addClass(), .text(), .prepend(), .append(), .replaceWith(), .attr()

10-11/03/15

Javascript/jQuery 3

We continue learning JavaScript and jQuery, looking at some basic programming structures and what problems they solve when writing code.

  • Code a basic form, optionally connect it to Bootstrap
  • Work with the form and jQuery, using events like .change(),.focusout()
  • If/else data structure

11-11/10/15

HTML Canvas

One of the new HTML5 tags we can use is the <canvas> HTML tag. Combined with JavaScript via the jCanvas library, we can draw on our web pages. We will examine the <canvas> tag and its integration with JavaScript, drawing some simple shapes and curves on our web page.

12-11/17/15

jQuery Mobile

Explore jQuery Mobile as a way of laying out mobile-compatible websites.

 

11/20/14

Assignment 3 (25% of grade)

Demonstrate the basics of jQuery, either expanding your site from Assignment 2, or building a new site.

  • Create a form for your site (it does not need to submit) and enhance with jQuery.
  • Demonstrate .click(), .hover(), if/else filtering, and so forth.
  • Incorporate jCanvas in a canvas element on your page.

11/25/15

Thanksgiving Break

13-12/01/15

jQuery Mobile

Continue exploration of jQuery Mobile as a way of laying out mobile-compatible websites.

14-12/08/15

jQuery UI

Take a look at jQuery UI and the elements it offers for enhancing your websites.

12/18/15

Assignment 4/Final Project (25% of grade)

Build a sample website that incorporates jQuery Mobile and jQuery UI to offer different layouts to mobile devices and desktops.

 

Course Summary:

Date Details Due