The City College of New York, Art 39552, Spring 2014
Instructor: Dan Phiffer
Course website: javascript.phiffer.org
Thursdays, 6:15-9:05 pm
Compton-Goethals Hall 121
This document can be found at https://github.com/ccny-edm/javascript
This course will provide both an introduction to programming for the web, and guide students through the process of building creative web-based projects. JavaScript is the de facto programming language of the web, so a lot of our time will be spent learning how to actually write code. At first we're just going to be learning the basics: how to use developer tools, how to read documentation, how to properly indent code, and strategies for debugging. As working with JavaScript becomes more familiar as the semester progresses, assignments will provide more opportunities for more creative projects.
I'm assuming that students are coming into the class already familiar with writing HTML and CSS, but haven't written code in a procedural language like JavaScript.
- Students should be able to describe the functionality of web-oriented programming languages and their appropriate use.
- Students should become familiar with at least one web-based scripting language and use it to develop complex web pages.
- Students should successfully employ and debug projects using the programming languages taught in class.
The University has a published policy on academic integrity that may be found at http://www1.ccny.cuny.edu/current/integrity.cfm.
Two unexcused absences will lead to a grade reduction. If you are late three times, it is equivalent to one absence.
Each week you'll be given an assignment to work on, due at the following class meeting. These assignments comprise the largest portion of your grade, and will be graded along three axes:
- Completeness: does your implementation actually do the thing it's supposed to?
- Clarity of code: is the code itself written consistently, using good conventions?
- Aesthetics: are you making something people will actually want to use?
Grades are given based on:
- Assignments: 30%
- Midterm: 25%
- Final: 25%
- Professionalism: 20% (participation in class, meeting deadlines, and attendance)
- Week 1: Developer tools (January 30)
- Week 2: HTML and CSS (February 6)
- Feb 13 snow day
- Week 3: JavaScript syntax, variables, DOM (February 20, meet at New Yorker building)
- Week 4: Arrays and loops (February 27)
- Week 5: Functions and conditionals (March 6)
- Week 6: jQuery, events, and images (March 13)
- Week 7: Objects (March 20)
- Week 8: Lab day (March 27)
- Week 9: Lab day (April 3)
- Week 10: Midterm presentations (April 10)
- (April 17: Spring Break)
- Week 11: Short and Long project (April 24)
- Week 12: Presentations (May 1)
- Week 13: Topic TBD (May 8)
- Week 14: Lab day (May 15)