Course Syllabus
Instructor: Wes Modes
TAs: Isola Tong, Nicki Duval
Term: Spring 2022
Lectures: Tue & Thu 8 - 9:35am
Location: Tue & Thu 8 - 9:35am, J. Baskin 152
Sections:
- A: MW 8:00 - 9:05 am, Soc Sci 2 159 (Isola Tong)
- B: MW 9:20 - 1:25 am, Soc Sci 2 159 (Isola Tong)
- C: MW 10:40-11:45 am, Rachel Carson 250 (Nicki Duval)
- D: MW 9:20--10:25 am, Rachel Carson 252 (Nicki Duval)
Labs: After each class session, due before next class
Quizzes: Occasional surprise quizzes
Final: Tue, June 7 8:00–11:00am, Team project presentation
Weekly: 2 lectures, 2 Sections, coding homework, occasional short quizzes
Office: Tue 12pm - 1:30pm (reserve a slot)
Course Description
An introduction to both programming and web markup languages, designed to help students code their creative projects. Programming is all about methodical problem solving and learning to see the world differently. These skills will serve you well in many things you do. As this is a 5-unit course, expect to spend at least 15 hours a week on lecture, sections, and assignments.
Course Learning Outcomes
The course will consist of lectures and demonstrations followed by in-class and homework exercises focusing on mastering skills with modern web scripting concepts including HTML, CSS, JavaScript, and jQuery.
Upon successful completion of this course, students will be able to:
- Read and write advanced HTML5 and CSS.
- Implement open source CSS frameworks.
- Write JavaScript code using variables, arrays, objects, functions and control structures.
- Write jQuery scripts to update the content and the style of web pages.
- Create interactive forms and dynamic web pages.
- Find and read open source JavaScript libraries that can be used to solve problems.
Lecture
Lectures are twice weekly and are 1 hour and 45 minutes long. This is where new ideas and concepts will be introduced. You will be expected to be intellectually present and involved, take notes and be ready to apply these concepts to your homework, projects, and section discussions.
Sections
You will be attending two hour long sections a week. TAs for this class are experienced programmers and talented instructors. Sections are where you will receive further detailed instruction, and get help in areas in which you need help. If you fall behind, it will be your responsibility to schedule time with your section leaders to help you.
Attendance
Only through continuous practice and discussion and problem-solving will you learn the skill of programming, so attendance in both lecture and sections is mandatory.
Course Requirements
Required Texts/Readings
No textbook is required. Required readings will be distributed via Canvas.
Other Outside Resources
Students struggling with the newness of the material, or those wanting to expand their knowledge beyond the course, are encouraged to check out free coding tutorials such as:
- SoloLearn JavaScript Tutorial (a website and app similar to Duolingo)
- CodeAcademy Introduction To JavaScript
- CodeAcademy Introduction To jQuery
Electronic Devices
You are encouraged to use your electronic devices in class for note-taking, research, or experimentation as long as these devices are not a distraction to you or your classmates. If you are not paying careful attention in class, you will not pass it and since the class is participatory, any distractions will be embarrassing when I call on you. If your devices become a distraction, I will ask you to put it away.
Required Stuff
You'll need:
|
|
Course Requirements and Assignments
Expect to spend roughly 6 hours a week outside class working on this course. This course will be organized as follows:
- Each day we'll have a lecture during which you'll follow along on your machine, followed by a lab about the lecture. The lab will give you working experience with the concepts we're covering.
- Scattered throughout the course we'll have occasional readings and quizzes.
- Near the end of term, you'll be working primarily on a midterm and final project with your team of 3 to 5 students.
Learning programming is a difficult challenge and requires consistent practice. Therefore, attendance is mandatory.
Labs
Labs will be assigned after each lecture and will be due an hour before the next class session Your completed labs will be submitted as a professional-quality PDF summarizing your efforts, showing captioned screenshots of your code and the results of your work.
All late labs will have a deduction of one letter grade per day late. Complete it early so if you encounter problems or surprises you have time to get help. A good guideline is that your homework should generally be started by the time you go to your first section of the week and nearly complete by the second lecture.
The labs will often be open-ended allowing you to exercise your creativity. You are welcome to build on a single project with each new homework assignment.
Projects
Two team projects will be completed in the course, due at the mid-term and final periods. These substantive stand-alone projects will leverage what you've learned in class and encourage you go beyond. As well as effective coding, creativity, style, and playfulness will be well-rewarded.
Final
The final exam will consist of presentations by teams of 3 to 5 students about your final projects . The team will present their project in the final exam period.
Grading Information
Students are responsible for all of the material presented in class. All assignments must be presented on the due date. Late assignments will be accepted no more than 2 weeks after the due date, but with a letter grade reduction and no class critique. Students are expected to meet with the instructor to review progress and discuss individual approaches.
Grading Criteria
All assignments are graded considering the following criteria:
- Does it work? Is it complete and finished?
- Does the project use many of the JavaScript elements we learned?
- Is the code elegant, well-structured, and well-commented?
- Is the presentation beautiful and complete?
- Are you challenging yourself and your team? Did you go beyond what we learned in the class?
- Did you put extraordinary effort and creativity into the assignment or project?
Assignment Percentages for total grade
- Class Participation (10%) - Students are expected to actively participate fully in class discussion, brainstorming, and problem solving. Attendance is a part of this evaluation. Initiative, communication, and collaboration will be valuable skills. This includes quizzes.
- Assignments (60%) - Students are expected to do the assigned homework. You are evaluated on your understanding of the class concepts and your effort in completing assignments.
- Group Projects (30%) - Students will work together to solve problems and accomplish tasks in organizing, preparing and presenting the archive, as well as individual projects. These tasks will have clear milestones and goals.
Important Grading Note
If you show up and do all the work adequately, you will earn a B grade (good) in this class. To earn an A grade, you must do consistently excellent work demonstrating hard work, creativity, collaboration, and expertise. This allows you to get an honest evaluation in this class, and rewards those who are willing to work harder and put more energy and creativity into their work.
A |
93-100% |
Extraordinarily high achievement. Unusually complete command of the course content; outstanding level of scholarship |
A- |
90-92% |
Excellent achievement. Very thorough command of the course content; very high level of scholarship |
B+ |
87-89% |
Very good achievement. Significantly above average understanding of materials and thorough command of course material |
B |
83-86% |
Good achievement. Signifies mastery and fulfillment of all course requirements; Solid, acceptable performance |
B- |
80-82% |
Fair achievement. Acceptable performance on most, but not all, aspects of the course |
C+ |
77-79% |
Not wholly satisfactory achievement. Marginal performance on some aspects of the course |
C |
70-76% |
Marginal achievement. Minimally acceptable performance on most aspects of the course |
D |
60-69% |
Unacceptable work. Little or no command of most aspects of the course |
F |
< 70% |
Unacceptable work. Little or no command of the course |
Disputed Grades
If you have questions about the grading of your work, please make arrangements to meet with your TA. If your questions are not resolved, please see me in office hours. If the matter still remains unresolved, I will advise you on further options.
Classroom Expectations
Here are some of the expectations I have for your participation in Programming for the Arts lecture and sections.
Attendance
Attendance at lectures is required. The reason for this is simple: Mastering programming requires consistent experimentation and practice. While the instructor understands that things may come up, every lecture you miss regardless of the reason counts as an absence. You will be required to mark yourself present at the beginning of each class. If you forget, it will be marked as an absence. Students are expected to show up to class on time and conduct themselves professionally.
Devices
You are welcome to use your electronic devices in class for note taking, research, or experimentation. Please do not text, email, web surf, or use social media outside of class context. If these become a distraction for you or your peers, their use will be restricted.
Participation
The instructor values your skills, experience, and interests. Your views are important and we want to hear them. Involvement in the readings, discussions, critiques, class collaborations, and final presentations are part of your participation grade and critical for each student and the class to thrive.
Collaboration and Respect
We encourage collaboration and building a community of collaborators. Don't be afraid to ask for and offer help! Explaining what you have learned to fellow students can help solidify what you've learned. This class requires a significant amount of student collaboration, both in class and online. Discussions should be civil and based on mutual respect.
Students doing collaborative projects must plan out and document what their roles and accomplishments are in the project so as to be graded individually in terms of both their technical and conceptual skills. The instructor must approve all collaborations before the assignment is due.
Communication
Be honest and clear about where you are at, what you know and need to know, and what you've accomplished (or not). Ask for what you need to succeed. Bring up issues before they become problems, and allow us all to work together as a team to solve them.
Support
We each bring different strengths and weaknesses. Working collaboratively, we support and teach each other in areas where we are not as strong.
Consultation
Students are encouraged to consult with the instructors whenever necessary throughout the semester. Short consultations are best handled by phone or email. Consultation will be more productive if you prepare a brief written agenda outlining the issues you want to discuss.
Other Important Information
Announcements and Communication
Announcements on Canvas and on Slack will be used to announce required information to the class so you should check that regularly. Email is the best way to contact your instructor if you have questions. If you have questions, observations, or references that might be of interest to the entire class, please use the class Slack channel.
A Note about Plagiarism
This is a technical course, so what constitutes plagiarism in this course is different than others. You are welcome to borrow limited code from others, including classmates and online sources. This is considered okay within the industry. However, you MUST acknowledge any sources from which you borrow code within the code (as comments) and in the documentation. Attribution like “Fixed my sidebar thanks to Tim Berners-Lee (tberner@ucsc.edu),” or “CSS vertical centering solution from stackoverflow#4785871” helps us understand your solution, but is also common practice in open-source communities and is considered good practice. If you borrow code, it is expected that you understand the code you borrowed. The instructor will be running scripts to compare code to your classmates. If the instructor sees wholesale copying of code, they will treat it as plagiarism and both students will receive a zero.
Disability Accommodation
UC SANTA CRUZ is committed to creating an academic environment that supports its diverse student body. If you are a student with a disability who requires accommodations to achieve equal access in this course, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me via email, preferably within the first two weeks of the quarter. At this time, I would also like us to discuss ways we can ensure your full participation in the course. I encourage all students who may benefit from learning more about DRC services to contact DRC by email at drc@ucsc.edu.
Grade Disputes
If you have questions about the grading of your work, please make arrangements to meet with your teaching assistant (TA) if applicable. If your questions are not resolved, please email me.
Academic Misconduct
Academic misconduct includes but is not limited to cheating, fabrication, plagiarism, or facilitating academic dishonesty. Acts of academic misconduct during the course, including plagiarism, can and usually do result in failure of the course, at the sole discretion of the instructor of record. Your case will be reported to the College Provost as per the Academic Integrity guidelines found on the web at: https://www.ue.ucsc.edu/academic_misconduct
Course Surveys
Course Surveys (previously called evaluations) for faculty will be available online for students to complete towards the end of quarter. You will be sent emails to your @ucsc.edu email from the course survey system to complete your evaluations online for all of your classes. Please be thoughtful in your responses, as we take these evaluations seriously. Course surveys help faculty consider ways to improve instruction and are completely confidential.
Anti-Discrimination Policy
TITLE IX prohibits gender discrimination, including sexual harassment, domestic and dating violence, sexual assault, and stalking. If you have experienced sexual harassment or sexual violence, you can receive confidential support and advocacy at the Campus Advocacy Resources & Education (CARE) Office by calling (831) 502-2273. In addition, Counseling & Psychological Services (CAPS) can provide confidential, counseling support, (831) 459-2628. You can also report gender discrimination directly to the University’s Title IX Office, (831) 459-2462. Reports to law enforcement can be made to UCPD, (831) 459-2231 ext. 1. For emergencies call 911. Faculty and Teaching Assistants are required under the UC Policy on Sexual Violence and Sexual Harassment to inform the Title IX Office should they become aware that you or any other student has experienced sexual violence or sexual harassment.
Resources for Students
The art department has a list of many resources on campus available to students. Please take a look at these to see what is available for you. https://art.ucsc.edu/links-to-student-resources
Schedule
Class | General Topic | Activity | Assignment |
1 | Getting Started, Net.Art, Digital Art, and New Media | Lecture: Intro to the Course, Digital & New Media How This Class is Run A note about grading Join Class Slack Channel Add photo of your face to Canvas |
Join Class Slack Channel and post a brief introduction and photo Read Course Syllabus Install software (Atom, Github Desktop, Chrome) Lab 1 Getting Started Reading 1: Mark Tribe "Defining New Media Art" |
2 | Intro to the Modern Web, InstallFest | Lecture: Intro to the Modern Web Quiz 0 - Introduction InstallFest! Create Repository with GitHub and Publish Website |
Lab 1 Getting Started Reading 1: Mark Tribe "Defining New Media Art" |
3 | Intro to HTML | Lecture: Intro to HTML | Lab 2: HTML & CSS Starter |
4 | Intro to CSS | Lecture: Intro to CSS | Lab 2: HTML & CSS Starter Project Group Registration and Reading 2: Effective Teams |
5 | File Structures and File Transfer | Lecture: File Structures and File Transfer | Lab 3: File Structure and File Transfer |
6 | Pseudocoding, Problem-solving, and Thinking Like a Programmer | Lecture: Pseudocoding, Problem-solving, and Thinking Like a Programmer | Lab 4: Pseudocoding and Problem-solving |
7 | Basic Data Types & Variables | Lecture: Basic Data Types & Variables | Lab 5: Data Types and Variables Organize Your Project Group Reading 3: Brainstorming Tools |
8 | Arrays and Objects | Lecture: Arrays and Objects | Lab 6: Arrays and Objects |
9 | Functions, Parameters, Arguments, and Return Values | Lecture: Functions, Parameters, Arguments, and Return Values | Lab 7: Functions |
10 | Anon Functions, and Callbacks | Lecture: Anon Functions, and Callbacks | Lab 8: Anon Functions and Callbacks Reading 4: Guide to Paper Prototyping |
11 | Javascript For the Web and the Document Object Model | Lecture: Javascript For the Web and the Document Object Model | Lab 9: JavaScript for the Web |
12 | Javascript events and forms | Lecture: Javascript events and forms | Lab 10: JavaScript Events and Forms Team Project Paper Prototype |
13 | Libraries and jQuery | Lecture: Libraries and jQuery | Lab 11: Libraries & jQuery |
14 | Conditionals | Lecture: Conditionals | Lab 12: Conditionals |
15 | Loops | Lecture: Loops | Lab 13: Loops |
16 | Debugging Tools and Strategies | Lecture: Debugging Tools and Strategies | Lab 14: Debugging Tools & Strategies Team Project Working Prototype Project Team Self Evaluation |
17 | AJAX | Lecture: AJAX | Lab 15: AJAX |
18 | JSON, APIs | Lecture: JSON, APIs | Lab 16: JSON and APIs |
19 | Production and Consultation | Production and Consultation | Lab 17: You Tell Me Final Team Project |
20 | Final Project Production | Final Project Production | Final Team Project Final Presentations |
Final | Project Presentations | Final Project Presentations |
Course Summary:
Date | Details | Due |
---|---|---|