Web Programming for Non-Programmers

DH 110

Winter 2017

Class Meeting Metadata
Meets: MW 2:30pm - 3:55pm
R (lab) 8:45am - 10:00am
Classroom: Leyburn Library M47
Instructor's Metadata
Instructor: Jason T. Mickel, Ph.D.
E-Mail: mickelj@wlu.edu How to Email a Professor
Phone: (540) 458-8653
Office: Leyburn M33
Office Hours: M 11:15am - 12:15pm
W & R 1:00pm - 2:00pm
By appointment

Overview

Computer science and IT graduates are no longer the only people expected to have some knowledge of how to program. Humanities and social science majors can greatly increase their job prospects by understanding the fundamentals of writing computer code, not only through the ability itself, but also being better able to communicate with programming professionals and comprehending the software development and design process as a whole. The most centralized and simple platform for learning is the Web.

This course starts with a brief introduction to/review of HTML and CSS and then focuses on using Javascript to write basic code and implement preexisting libraries to analyze and visualize data. Students will become familiar with building a complete Web page that showcases all three languages.

No prior programming experience is needed, but a desire to learn and be challenged is a must. Further, possessing the spirit to play, allowing yourself patience for trial and error, and having the willingness to put forth effort even when success doesn't come easily all will greatly enhance your ability to make the most of this course.

Learning Outcomes

Upon completing this course, students should be able to:

  • Write syntactically correct HTML, CSS, and JavaScript that follows generally accepted coding conventions as demonstrated in programming assignments, exams, and a team-developed website
  • Visualize data through maps and charts using commonly utilized JavaScript libraries and present the results of analysis through the team website
  • Contextualize the nature of programming projects in order to better understand how to interface with professional developers through in-class participation
  • Explain and discuss current issues in web development and programming through exams
  • Collaborate effectively and contribute adequately to a group programming assignment using GitHub

Prerequisites

None

Course Policies

Please refer to the box for policies that apply to this course.

Texts

Required Textbooks

HTML & CSS: Design and Build Websites (2011)
Jon Duckett
ISBN-13: 858-0001041711

Eloquent JavaScript, Second Edition (2014)
Marijn Haverbeke
ISBN-13: 978-1593275846
Available for free online at http://eloquentjavascript.net/ or in print from Amazon.

You Don't Know JS: Up and Going (2015)
Kyle Simpson
ISBN-13: 978-1491924464
Available for free online on GitHub or in print from O'Reilly.

JQuery Fundamentals (2014)
Bocoup, LLC
Available for free online at http://jqfundamentals.com/

Additional online readings are listed in the schedule below.

Software

Required Software

Atom
https://atom.io/

GitHub Desktop
https://desktop.github.com/

JSBin
https://jsbin.com/
Click the "Login or Register" button, register a GitHub account, and login

Evaluation

Programming Assignments and Exercises 45%

Programming assignments will evaluate your mastery of concepts as we cover them. Some may be completed in-class; however, most will be completed in the time between class meetings.

An "Exercise" is a shorter assignment that gives you practice with the language but is involved enough to warrant being gradable. These will be assigned during the JavaScript portion of the course.

Please refer to the Sakai course site for assignment details.

Exams 20%

There will be three exams: two during the term and a final. The exams will be open book, note, and Web; however, you may not consult classmates or any others besides your professor through any form of communication (included but not limited to: written, spoken, electronic, telepathic, osmotic, semaphore, hand signals, or Morse code) during the period that the exam is available. Each also will be comprehensive of all information presented up to that point. Consequently, the exams will be designed to test your ability to apply knowledge versus your capability to memorize.

Exams will take place outside of class time, and students will have ample time to complete them.

Term Project 30%

By the end of the term, you will produce a website as part of a small group that will showcase your ability to combine HTML, CSS, and JavaScript for visualizing data. There will be various deliverables throughout the semester to keep you on track such as a website design document, preliminary HTML and CSS design, and the JavaScript you will use to present data. At the end of the term, you will make a brief presentation to the class discussing your website.

For additional details, please see the separate project deliverable assignments in Sakai.

Participation 5%

Although this is primarily a lecture and lab style course, there will be several opportunities for discussion and questions. I encourage you to engage with the lectures through asking me questions about the material being presented. If no one speaks up, I am forced to assume that you understand everything I am saying. I have been working with this material for years, so I know what I'm doing. I need YOU to converse with me when a concept isn't clear.

Attendance (or lack thereof) to lecture and labs will impact your participation grade.

Course Policies

Laptops

Students must bring their own laptops to class or make arrangements to borrow one on a regular basis. Macs, Windows PCs, or Chromebooks are welcome. If it is usable for writing papers and your everyday use, it will be good enough for our course. You will be required to install two pieces of free software for use in the course.

Attendance & Participation (Lecture)

I will be keeping a regular attendance record. Attending class is crucial to learning not only for yourself but also for your colleagues. You are permitted 1 unexcused absence without penalty. Subsequent unexcused absences will be penalized 2 points of the attendance and participation grade per absence.

Arriving late to class is equally impactful and also distracting. Show up on time. I reserve the right to penalize those consistently arriving late.

Absences will be excused only if I am notified prior to class.

If you do miss, securing the information covered during that class is YOUR responsibility.

You are expected to actively answer questions posed in class and participate in discussions when they occur. Asking pertinent questions also contributes to your participation.

Attendance (Lab)

All above policies apply except that no unexcused absences will be permitted without penalty, and excused absences will be permitted under much more restricted circumstances than for lectures.

Late Work

Late work is accepted at my discretion, but it will always have some amount of penalty applied. This is in fairness to those who strived to submit their work on time. The penalty may vary based on the circumstances but will always be fair and appropriate.

Class Conduct

All communication should be approached with maturity and academic respect. We may not always agree, but we will give each other the opportunity to hold and support our positions. This applies not only in-class but also to any electronic discussions assigned.

Please put your phones on vibrate or silent mode. Check social media before class begins. To put it simply, be respectful to everyone in the room.

Grading Scale (Inclusive)

Letter Grade Ranges (in percents)
A+ >= 97 C+ 77 - 79
A 93 - 96 C 73 - 76
A- 90 - 92 C- 70 - 72
B+ 87 - 89 D+ 67 - 69
B 83 - 86 D 60 - 66
B- 80 - 82 F <= 59

Final grades will be rounded to the nearest whole number. .5 and higher will be rounded up. For example, 92.5 will round up to 93 and an A. A grade of 92.49 will round down to 92 and an A-. To keep things fair, there will be no exceptions to this rule.

Academic Integrity

With the exception of any group assignments, everything submitted for credit should be your own work. You must give full and accurate credit to sources that are not your own (books/ journals, online resources, other students). Deliberate concealment of sources constitutes plagiarism and will result in a failing grade for the course and a report to the EC. Cite and credit everything, except your own class notes. All work must be pledged.

This is NOT intended to discourage helping or seeking help from your classmates, but rather, it is intended to promote the idea that when help is received that it should be credited explicitly.

Please familiarize yourself with W&L's policy on plagiarism at: http://libguides.wlu.edu/plagiarism.

Accommodations for Students with Disabilities

Washington and Lee University makes reasonable academic accommodations for qualified students with disabilities. All undergraduate accommodations must be approved through the Office of the Dean of the College. Students requesting accommodations for this course should present an official accommodation letter within the first two weeks of the term and schedule a meeting with me outside of class time to discuss accommodations. It is the student's responsibility to present this paperwork in a timely fashion and to follow up about accommodation arrangements. Accommodations for test taking should be arranged with me at least a week before the date of the exam.

Tentative Schedule

(nb. Dates of activities and due dates for assignments are always subject to shifting. Refer to Sakai for the most accurate information.)