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 web development 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.
You will be learning three new languages in this course while being applying them based on several communication and design principles. Expect to spend on average 12 hours per week of time outside of class meetings on assignments and preparation. This is keeping with a normal undergraduate expectation of 3 hours of out-of-class work for each hour spent in class.
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 links in the menu above for assignment details.
There will be two exams: one at midterm and one during finals week.
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.
The midterm exam will take place outside of class time, and students will have ample time to complete it.
Failure to attempt either exam will result in failure of the course.
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. At the end of the term, your team will make a brief presentation to the class discussing your site.
For additional details, please see the individual assignments under 'Project Deliverables' above.
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 professionally for many years, so I know what I'm doing. I need YOU to be brave and converse with me when a concept isn't clear.
Missing class, consistently arriving late, or being unprepared for discussion of readings will negatively impact your participation grade.
Dates of activities and due dates for assignments are always subject to minor shifting. Refer to back to this schedule regularly.