Course Number: DIG 3480C-0001 Digital Media: Computer as a Medium SVAD, University of Central Florida COURSE SYLLABUS Instructor: Office: Phone: E-Mail: Website: Office Hours: Anastasia Salter OTC 500 N/A anastasia.salter@ucf.edu Webcourses OTC 500: Tue 9:00-noon and Wed 10:30-11:30 VAB 105Q: Wed 2:00-4:00 Term: Class Meeting Days: Class Meeting Hours: Class Location: Lab Location: Fall 2015 Mon 2:30 – 4:20PM HEC 0125 Check Section Course Overview Fundamentals of client-side scripting with an emphasis on web technologies. Development of interactive web sites using current scripting languages. Course Objectives Students will explore the foundations of interactive media through client-side web design technologies with JavaScript and HTLM5. Topics include user interface design, games and interactive applications, and multimedia development practices using scripting. Students will: 1. Develop their skills with JavaScript 2. Structure browser content for display using HTML5 and the Document Object Model 3. Learn the history of web standards and ECMAScript 4. Understand and apply principles of object-oriented programming 5. Build original interactive applications of digital media, including games 6. Apply and build skills in understanding, reading, and debugging code 7. Implement their projects on live web servers Course Prerequisites DIG 2500C, DIG 2000 Required Texts and Materials Speaking JavaScript. Dr. Axel Rauschmayer. O’Reilly, 2014. Eloquent JavaScript. Marijn Haverbeke. Free online: http://eloquentjavascript.net/ Supplementary (Optional) Texts and Materials (Recommended Readings) Recommended texts include: JavaScript and JQuery. Jon Duckett. Wiley, 2014. HTML5. Preston Prescott. CreateSpace, 2015. HTML5 Pocket Reference. Jennifer Niederst Robbins. O’Reilly, 2013. While these texts are not required, they will be very helpful for completing and building on course exercises. Additional materials and tutorials will be assigned from online resources and will be listed with each week’s material. Grading Assessment Lab Exercises Exams Projects Attendance Grading Scale (%) 94-100 90-93 87-89 84-86 80-83 77-79 74-76 70-73 67-69 64-66 60-63 0 - 59 Percent of Final Grade 30% 20% 40% 10% 100% A AB+ B BC+ C CD+ D DF Grade Dissemination Graded tests and materials in this course will be returned individually only by request. You can access your scores at any time using the Grade Book function of Webcourses. Please note that scores returned mid-semester are unofficial grades. Course Policies: Grades No late work will be accepted in this course. You can resubmit through Webcourses at any time up to the deadline, but work submitted after the deadline will not be graded. When working on a live website through Sulley, please remember that all interactions with the site are timestamped, and work uploaded or changed after the deadline will not be accepted and may result in a zero for the project. There is no extra credit work available in this class. Course Policies: Technology and Media Email: Students can email at any time. All emails will receive a response within one business day (this does not include weekends or holidays.) UCF policy requires you to use your UCF email account to communicate. Assistance with code debugging is not available through email: for help with debugging, please bring your code to office hours or lab. Webcourses: All assignments will be submitted through webcourses. Plan on checking the site at least twice a week for updates and assignment information. If you miss a class, a summary of what you missed will be posted in the corresponding week’s announcements. Laptop Usage: Bringing your laptop to lab and lecture is strongly encouraged. Headphones and other noise-making devices are not permitted during lecture, however you are welcome to bring them for distraction-free working during some parts of lab time. You will be required to have access to software for all the necessary functions of web development, including: A text editor (Sublime or Notepad++ are recommended) A PC or Mac An FTP program (Filezilla is recommended) Backups: You are required to maintain your own backups. If you lose your project, you will be responsible for completing it on time: file loss is not an acceptable excuse for missing deadlines in the industry or in this class. Course Policies: Student Expectations Disability Access: The University of Central Florida is committed to providing reasonable accommodations for all persons with disabilities. This syllabus is available in alternate formats upon request. Students who need accommodations must be registered with Student Disability Services, Ferrell Commons Room 185, phone (407) 823-2371, TTY/TDD only phone (407) 823-2116, before requesting accommodations from the professor. Attendance Policy: Lecture attendance is mandatory, and will be included as 10% of your grade. Professionalism Policy: Per university policy and classroom etiquette; mobile phones, iPods, etc. must be silenced during all classroom and lab lectures. Those not heeding this rule will be asked to leave the classroom/lab immediately so as to not disrupt the learning environment. Please arrive on time for all class meetings. Students who habitually disturb the class by talking, arriving late, etc., and have been warned may suffer a reduction in their final class grade. Academic Conduct Policy: Academic dishonesty in any form will not be tolerated. If you are uncertain as to what constitutes academic dishonesty, please consult The Golden Rule, the University of Central Florida's Student Handbook (http://www.goldenrule.sdes.ucf.edu/) for further details. As in all University courses, The Golden Rule Rules of Conduct will be applied. Violations of these rules will result in a record of the infraction being placed in your file and receiving a zero on the work in question AT A MINIMUM. At the instructor’s discretion, you may also receive a failing grade for the course. Confirmation of such incidents can also result in expulsion from the University. Important Dates to Remember Skills Survey Due: Labor Day: Exam (Online) Due: Project One Due: Midterm Exam: Project Two Due: Exam (Online) Due: Project Three Due: Project Four Due: Fri, August 28th, 2015 Mon, September 7th, 2015 Sun, September 20th, 2015 Sun, September 27th, 2015 Mon, October 12th, 2015 Sun, October 25th, 2015 Sun, November 15th, 2015 Sun, November 22nd, 2015 Exam Week (TBA) Religious Observances Students are expected to notify their instructor in advance if they intend to miss class to observe a holy day of their religious faith. If the holiday conflicts with a major class assignment, alternate arrangements will be made. Class Schedule (Important Dates and Times) Readings for each week should be completed before the week’s lecture and will be referenced during class. Date Work (complete before the start of lecture Monday) Lecture Lab 8/24 8/26 Course Plan and Syllabus Review Demo: JavaScript Hello World First Week of Class! Introducing HTML5 + JavaScript Setting up your software: Notepad++, Sublime, FileZilla Complete Skills Survey 8/31 9/2 9/7 9/9 Read: Speaking JavaScript Pt. I Basic Javascript Speaking JavaScript Pt. II Background Basic Elements of JavaScript Lab One: Console Log Scripting Intro to Project One: Quiz Game Set up a basic JavaScript program with variables, data types, and proper syntax. No Lecture: Labor Day No Lecture Lab Two: Data Types Read: Eloquent JavaScript, Values, Types, and Operators, http://eloquentjavascript.net/01_values. html; Speaking JavaScript, Chapter 7, Syntax; Chapter 8, Values; Chapter 9, Operators 9/14 9/16 Read: Eloquent JavaScript, Program Structure, http://eloquentjavascript.net/02_progra m_structure.html; Speaking JavaScript, Chapter 12, Strings; Chapter 13, Statements Complete several JavaScript operations using data of different types and displaying the results in the browser through pop-up windows in a wellstructured HTML document. Expressions and Loops Lab Four: Expressions and Loops Make a simple JavaScript pattern generator using loops and strings to build ASCII art objects. Complete Online: Exam – due 9/20 at 11:59PM! 9/21 9/23 Read: Eloquent JavaScript, Program Structures, http://eloquentjavascript.net/02_progra m_structure.html; Speaking JavaScript, Chapter 15, Functions; Chapter 16, Variables Functions, Variables, and Input Lab Five: Working with Input Using variables, take input from HTML form fields, save it, and output feedback to the user. Project One Due 9/27 at 11:59PM! 9/28 9/30 10/5 10/7 Read: Eloquent JavaScript, Objects and Arrays and Objects Arrays, http://eloquentjavascript.net/04_data.ht Intro to Project Two: ml; Platformer Speaking JavaScript, Chapter 17, Objects; Chapter 18, Arrays Read: Eloquent JavaScript, Document Working with the DOM Object Model, http://eloquentjavascript.net/13_dom.ht ml; Lab Six: Handling Arrays Create a page with several different buttons that all call functions to manipulate a set of arrays. Lab Seven: Document Object Model Use the DOM to add and remove content from a page dynamically based on user input from buttons. 10/12 Read: Eloquent JavaScript, Handling Midterm: In-Class Exam 10/14 Events, http://eloquentjavascript.net/14_event.h tml Lab Eight: Events and Interfaces Hunting Bugs and Errors 10/19 Read: Eloquent JavaScript, Bugs and 10/21 Error Handling, http://eloquentjavascript.net/08_error.ht ml Speaking JavaScript, Chapter 14, Exception Handling Project Two Lab Time 10/26 Read: Eloquent JavaScript, Drawing on Introducing the Canvas 10/28 the Canvas, http://eloquentjavascript.net/16_canvas. Intro to Project Three: html Generative Art and Animation Speaking JavaScript, Chapter 11, Numbers; Chapter 21, Math Lab Nine: Making Shapes 11/2 11/4 Read: Let’s Call it a Draw(ing) Surface, Canvas Animation http://diveintohtml5.info/canvas.html Use the DOM to add and remove content from a page dynamically based on user input choices. Bring your nearly-complete project for feedback and debugging. Project Two Due 10/25 at 11:59PM! Write functions for drawing basic shapes on a canvas element to generate basic patterns. Lab Ten: Animating the Canvas Use objects and paths to animate the movements of basic shapes, and scale the canvas to fit the browser window. 11/9 Read: Designing Fun, 11/11 http://alistapart.com/article/designingfun Making Games with Canvas Project Three Lab Time Bring your nearly-complete project for feedback and debugging. Complete Online: Exam – due 11/15 at 11:59PM! 11/16 Read: Web Animation at Work, 11/18 http://alistapart.com/article/webanimation-at-work Planning your Final Project Final Project Lab Time Intro to Final Project: Interactive Experience Brainstorming and prototyping Project Three Due 11/22 at 11:59PM! 11/23 Work on Final Project 11/25 Thinking Responsively Final Project Lab Time Bring your in-progress project for evaluation of the interface and handling of user input 11/30 Work on Final Project 12/1 Future of Interaction Design Final Project Lab Time Bring your nearly-complete project for feedback and debugging. 12/7 Last Day of Classes Moving Beyond JavaScript No lab this week! 12/14 Final Projects Due * Note: The Schedule is subject to revision TBA Assignments Overview Skills Survey Due Date: August 28th As of Fall 2014, all faculty members are required to document students' academic activity at the beginning of each course. In order to document that you began this course, please complete the following academic activity by the end of the first week of classes, or as soon as possible after adding the course, but no later than August 28. Failure to do so will result in a delay in the disbursement of your financial aid. For this class, you are required to complete a short skills survey. Access your Webcourses@UCF (Canvas) course site following the directions below. Go to the myUCF portal (https://my.ucf.edu) and select the Webcourses@UCF button on the left side of the screen. Log in with your NID and NID password, then access each course by selecting it in the "Courses" dropdown menu at the top of the page. Find the “Skills Survey” under quizzes and complete all questions Lab Exercises Due Date: In Class Each lab exercise will present a short challenge using coding topics from the week. Elements of the exercise will be demoed, and students will have the rest of the lab time to complete a short challenge. Exercises are evaluated by the lab instructor before the end of lab time on the day they are assigned. Lab exercises cannot be made up if missed. Exams Due Date: Varies (see breakdown above) The course consists of several exams, administered both online and in-person. These exams are code-focused and require interpretation and debugging of code fragments drawn from the topics covered in lectures and labs. Review materials with topic overviews for each exam will be posted on Webcourses. Projects Due Date: Varies (see breakdown above) For each project, students will create an original interactive experience using a particular modality. The four projects will all be implemented for the web and submitted through upload to Sulley, the UCF student webhosting server. Each project is graded on a specific rubric emphasizing: Successful implementation of the requirements Clear, well-designed code Meeting different levels of challenges Originality and creative thinking