Web Apps Syllabus 2020
Web Apps Syllabus 2020
Course Description
Introduces web markup, coding, and programming for journalism and communications students with no
prior coding experience. Explore media-industry best practices for front-end web development, problem
solving and algorithmic thinking, and recent examples of interactives and apps from media
organizations.
Course Objectives
At the end of the course, students should be able to:
1. Name, list and use common HTML and CSS syntax and structures to create stand-alone web and
mobile apps that are standards-compliant.
2. Use GitHub to set up and collaborate on web and mobile projects.
3. Apply algorithmic thinking to analyze a problem and construct a solution.
4. Name, list and use common JavaScript syntax and structures.
5. Create interactive quiz applications using JavaScript and HTML forms.
6. Create interactive charts and graphs using Highcharts and JavaScript.
7. Create interactive maps using Leaflet and JavaScript.
8. Create interactive image displays and menus using vanilla JavaScript.
9. Use and adapt a web framework to create fully responsive apps that work across a variety of
devices.
For the Zoom meeting, students must be sitting up (not lying down) and dressed as if this were a regular
classroom meeting. Show respect for one another and for the instructor by arriving before the class
starting time. Use the “hand raised” feature in Zoom to ask a question.
The Zoom chat feature will be disabled. This is because I want you to do all chatting in Slack, even during
Zoom. Slack has a free phone app, so you can use your phone for this. Slack also has a free desktop app,
or you can run it in your web browser. The Slack chats will be available even after our Zoom session
ends, so if I miss your question during class, I can answer it afterward. Also, you don’t need to speak on
camera if you don’t want to.
Do not check text messages, social media, email, etc., during class, as your instructor considers this quite
rude and therefore grounds for disciplinary action. Moreover, you will miss things if you’re checking
your phone. Give your full and undivided attention to anyone who is speaking in class, including your
fellow students. Another student might ask a question that will help you, if you are listening.
In a normal semester, lab attendance is also required and counts toward your course grade. Typically
students get a lot of hands-on, one-on-one help during lab and workshop hours. Skipping lab hours can
really drag down your grades on assignments. The reason is that students in this course often kid
themselves about how long the weekly assignment will take — and then run into trouble and can’t finish
the work, which results in a 0 because they miss the deadline. I don’t want that to happen to you! The
idea of required lab attendance is to make sure you have spent this three-hour lab period working on
the assignment.
However, requiring three hours of lab attendance is not practical when we are online only.
Note that early assignments likely will not take you three hours, but by about week 5, most assignments
will take three hours or more to finish (for most students). These weekly assignments are 50% of your
course grade. They are the main work in the course and the main form of learning.
Assignments are always due Friday at 11:59 p.m. All deadlines are in Canvas.
For information about illnesses, religious obligations, or other absences that might be excused, see:
UF Attendance Policies
> https://catalog.ufl.edu/UGRD/academic-regulations/attendance-policies/
NOTE: Assignment deadlines in Canvas are usually set for 11:59 p.m. If you submit after the deadline,
your assignment is late. Your inability to upload at the last minute is NOT a valid excuse for lateness.
Academic Dishonesty
Academic dishonesty of any kind is not tolerated in this course. It will be reported to the student’s
department chair AND to the university’s Dean of Students—and it will result in a failing grade for this
course. A formal report of the offense will be filed with the university’s Dean of Students.
§ Using any work done by another person and submitting it for a class assignment.
§ Submitting work you did for another class or course.
§ Copying and pasting code written by another person in place of solving the assigned problem on
your own. (Note: In some cases an assignment will instruct you to use code written by others.
Those cases are exempt.)
§ Sharing code written by you with another student. You may talk about their incomplete code,
but do not show them your completed code or allow them to copy your code.
Learning Web Design: A Beginner’s Guide to HTML, CSS, JavaScript, and Web Graphics
(5th edition), by Jennifer Niederst Robbins (O’Reilly, 2018)
All students are expected to possess their own copy of the book, whether printed or electronic. Quiz
questions are taken from the book. Students will need to use the book to complete most assignments
successfully. Note that the 4th edition is NOT an acceptable substitute. Much has changed since 2012,
when that edition was published.
Videos that supplement and explain the assigned readings are here:
The videos are NOT an adequate substitute for the book. Watching the videos should make concepts
and skills in the assigned reading clearer. Students are expected to complete the assigned reading and
watch the videos for the week BEFORE class meets that week. Videos for each week are listed and linked
in the Canvas module for that week.
Web hosting
Students must acquire full-service web hosting and a personal domain name. The recommended
provider is Reclaim Hosting. Your professor receives no kickbacks or other deals from Reclaim. Shared
hosting costs $30/year and includes registration for one domain. Domains must be renewed yearly or
they will expire.
> https://reclaimhosting.com/
Laptop
All students in this course must own a laptop that is not shared with anyone else. Managing files and
folders is part of the workflow you will be learning, and using your own computer is key. A tablet will
NOT be sufficient for this course. Any operating system is okay, but Mac OSX is strongly preferred. For
assistance with your operating system or hardware, or with UF wifi, please use the UF Computing Help
Desk (https://helpdesk.ufl.edu/) if you cannot solve a problem.
Obviously, we won’t have face-to-face time when the course is wholly online. The flipped classroom still
serves as our model for learning, however.
What about the lectures? Are you being cheated out of your lectures?
I feel strongly that learning code practices from videos is much better than trying to learn them “live,”
because each of us has a different attention span for this kind of material. Sometimes you grasp a
concept by seeing it once, but in other cases you’ll watch a video multiple times before you really get it.
Many students are able to watch many of the videos at 2x speed. I speak rather slowly in the videos.
You can’t really binge these videos. Take breaks. And take notes! It helps a lot.
The videos are directly tied to the assigned readings, but they do not cover everything that is in the
readings. Some students will get more out of the book, and others will get more out of the videos, but
the expectation is that every student will use BOTH the book AND the videos to learn the material
necessary to do well on the quizzes and assignments.
Many students find they learn better if they watch some of the videos more than once.
It is your responsibility to watch the videos before lab, so that you are prepared to begin work on that
week’s assignment during lab, while an instructor is available to answer your questions.
The lab is for you to work on and possibly complete your assignment for the week. To be prepared to
work on the assignment, you need to have FINISHED reading the assigned readings and watching the
assigned videos. Lab is when you can get live, hands-on help with the assignment.
Workshop hours are the other designated times when I’m online to help you, in Slack and Zoom.
Here’s how I would plan my coursework for the week if I were a student in this course:
1. Read book and watch videos during the weekend and on Monday (before the quiz deadline).
2. Come to lecture on Tuesday and ask questions about anything that’s not clear.
3. Before coming to lab, read the week’s assignment and then review any videos I might not have
understood. Make sure I’ve finished all the prep I need to do the assignment.
4. Plan to spend the entire three-hour lab working on the assignment. Aim to finish it during lab, if
possible.
5. If I finish the assignment during lab, I can start on next week’s readings and videos before the
weekend.
6. If I can’t finish the assignment during the lab, come to workshop hours for more help.
Please make sure to check the relevant Canvas module early in the week. Plan your work accordingly so
you have enough time to absorb the material. All your deadlines are in Canvas.
Quizzes
There will be at least one quiz every week. Quizzes are in Canvas and are always open-book. Quizzes
cover the assigned readings for the coming week. These are always listed in precise detail in the
module’s “Assigned readings” document in Canvas. Deadlines are in Canvas. Any quiz not submitted by
the deadline is graded 0.
If you think a quiz question was marked as wrong in error, screenshot it and email it to me. Do not ask
me about these in Slack.
Assignments
There will be one assignment every week. Assignments are provided in Canvas along with exact
deadlines. Each assignment is likely to require a substantial time commitment from the student. For
assignments after the first few weeks, it is very likely you will need more time than the three lab hours.
All students are strongly encouraged to come to the workshop hours for help with the week’s
assignment if they have not finished it by that time. Any assignment not submitted by the deadline is
graded 0.
Final project
In the final weeks of the course, you will create an interactive web app. A personal online portfolio is
NOT permitted as a project. The project must include JavaScript in a meaningful way (not just for the
sake of having it there). The app must be of interest to a defined audience. It must work well on mobile
(small screens). It must allow users to make choices (not just clicking links). The topic is your choice.
Professionalism
When choosing subject matter for your later assignments and the final project, keep in mind that these
projects could be included in your professional portfolio. For that reason, I strongly encourage you to
avoid unprofessional topics such as “my summer vacation” and “my favorite foods.” You should choose
topics that interest you — but they should also be of interest to others.
Enforcement of these attendance policies will, it is hoped, inspire you to take your lecture, lab and
workshop opportunities seriously.
Grades
Quizzes 30 percent
Assignments 50 percent
Final project 10 percent
Attendance and participation 10 percent
TOTAL 100 percent
Course Evaluations
Students are expected to provide feedback on the quality of instruction in this course.
Course Workload
One credit hour is defined by the U.S. Department of Education as “one hour of classroom or direct
faculty instruction and a minimum of two hours of out-of-class student work each week for
approximately fifteen weeks for one semester.” It is entirely reasonable for a three-credit university
course to require students to spend six to nine hours outside of class each week working on
assignments, reading, etc. Elective courses — particularly professional electives, such as this one — are
not expected to require less time and might in fact require more time, as these electives are extending
your knowledge beyond the basics taught in required courses.
For this course, you may consider the lecture and videos as “classroom or direct faculty instruction”
(3 hours per week) and the lab, readings, quizzes and assignments as out-of-class student work (6 to 9
hours per week).
Please note that Dec. 8 and 9 are a normal class meeting days. If you are not present in Zoom for
lecture, it will count as an absence. Lab attendance is also required this week.
Weekly topics are subject to change. Please check in Canvas for the latest updates.
The link below provides a grid that shows my schedule. All white cells in the grid are open for
appointments. Please give me 24 hours to respond to your request, and please send your request in
email, not in Slack.
https://docs.google.com/spreadsheets/d/1coH020Bvzs0-
GXV2dQP1B7zUUE2ma0DBRC0iXr24FRY/edit?usp=sharing
During all times marked in the grid as LAB HOURS or WORKSHOP HOURS, I will be online in Slack and
available to help you. If necessary, we can go to Zoom for screen-sharing.
For questions about any assignment, you should use our class Slack, in the #assignments channel.
Someone else might have already asked the same question! It might already have an answer there!
For interaction during lab or workshop hours, please use Slack first. We can go to Zoom if necessary, but
none of us want to be in Zoom for two or three hours, so Slack is our way to interact easily. You can
private-message anyone in our Slack by finding their name in the bottom left list (desktop app or web).
The heading is “Direct messages.” These are private — I can’t see messages between you and another
student if you DM.
Make sure to read all Announcements posted in Canvas. I will use the Announcements to remind you
about deadlines or any changes in class meetings, assignments, etc.
• If you have a name and/or set of pronouns that differ from those that appear in your official
records, and you want me to know this, please tell me.
• If something was said (or written) in class — by anyone, including me — that made you feel
uncomfortable, please talk to me about it.
• If you feel that your performance in the class is being affected by your experiences outside of
class, please don’t hesitate to tell me. I want to be a resource for you, and I’m open to discussing
anything that’s standing in the way of your success.
• If you would rather speak with someone outside of the course — Joanna Hernandez, the CJC
director of inclusion and diversity, is an excellent resource. You can email her at:
jhernandez@jou.ufl.edu
Every student and every person deserves respect and fair treatment. I expect all students to show
respect toward others and treat them fairly, and I always try to do so. If I fall short, you should let me
know.