CSC 120CPVL - Introduction to Creative Graphical Coding, Spring 2018

Dr. Dale E. Parson

Section 010 meets TuTh 12-1:20 PM, Section 020 meets TuTh 1:30-2:50 PM, Grim 307.
    Section 010 will meet in the planetarium Tu May 8 at 8-10 AM for the final demo. Attendance is worth 20% of assignment 5.
    Section 020 will meet in the planetarium Th May 10 at 11 AM-1 PM for the final demo. Attendance is worth 20% of assignment 5.
Spring 2018 Office Hours: Tu 3:30-5:30 PM, W 3:30-5:30 PM, Th 3-4 PM, and by appointment.
My office hours in Old Main 260 (my office) during final exam week follow:
Tuesday May 8, 10:30 AM until noon, following the 8 AM csc120.010 demo session in the planetarium.
Wednesday May 9, 3:30 until 5:30 PM as in previous weeks.
Thursday May 10, 1:30 until 3:00 PM, following the 11 AM csc120.020 demo session in the planetarium.

First day handout (syllabus that is specific to this semester).
    I have put a copy of the textbook on overnight reserve in Rohrbach Library for the semester. You can go to the front desk & borrow it.
    Last semester's course page is here if you want to see what we did. There will be some changes.

I commit to using each student's preferred name and preferred gender pronoun. Feel free to contact me in private if I make mistakes in pronunciation, name, gender, or anything else. Thanks! Here is a poll to which you can reply privately on paper or via email.

Gender-Based Crimes
Educators must report incidents of gender-based crimes, including sexual assault, sexual harassment, stalking, dating violence, and domestic violence.  If a student discloses such incidents to me during class or in a course assignment, I am not required to report the disclosure, unless the student was a minor at the time the incident occurred.  Regardless of the student’s age, if the incident is disclosed to me outside the classroom setting or a course assignment, I am required by law to report the disclosure, including relevant details, such as the names of those involved in the incident, to Public Safety and Police Services and to Mr. Jesus Peña, Title IX Coordinator.
Jesus A. Peña, Esq.
Deputy to the President for Compliance, Equity & Legal Affairs
(610) 683-4700
pena@kutztown.edu

There is a 10% per late late penalty for projects that come in after the due date. There will be a 10% deduction from a homework assignment for repeated web surfing, web-based chatting or other use of the Internet for activities unrelated to class activities during both lectures and working sessions. During a working session you may leave after completing and turning in all due work; you are encouraged to stay to get additional practice and ask questions. Thank you.

 
RESOURCES & HANDOUTS

Our textbook's website including Examples and Exercises we will use in class.
Software setup instructions:
    1. On your Windows U:\ drive, create a new folder called Processing.
        U:\ is available anywhere on campus and does not auto-delete files.
        Do not store files on your PC desktop. They will be gone after you log out.
    2. Use the Windows Explorer to create folder U:\Processing.
    3. Every time you start Processing, go to Preferences and change the Sketchbook location to U:\Processing.
        You must create folder U:\Processing the first time you want to use it.
        To run Processing, find Processing under S:\ComputerScience on your PC.
    5. All of your practice and assignment sketches must reside under U:\Processing.
    6. If you Download & Install Processing on your home machine, use the latest version Processing 3.x, currently 3.3.5.
        I don't usually upgrade the version mid-semester, in the interest of stability, unless I need a specific bug fix.
    7. We will copy & paste example code from the textbook in our Processing code windows.

The official Processing website has many examples and library documentation.
Here is the Library Reference. Keep this handy at all times!
We will use the Java class library later in the semester.

ASSIGNMENTS   

    Assignment 1 on creating a mobile avatar is due by end of Friday February 23 via D2L.
    Dr. Parson's solution to the fall 2017 Assignment 1. We will use this as a template for starting your assignment 1.
    Zoog from Example 3-1 in the textbook with pushMatrix(), translate(X,Y), and popMatrix() added January 30.
    arcdemo sketch that demos the arc() Processing function from Feb. 13 lab session.
   
rotatedemo sketch that demos rotation of a body part or other object from Feb. 13 lab session.   
           teardrop sketch that uses several arcs from Feb. 13 lab session
           loadShape sketch is a demo of loading a SVG (Silicon Vector Graphics) shape file and displaying it for the SVG-savvy
               loadShape.svg needs to be in your sketch directory; here is loadShape.ai used to create it
               If you create a .svg file for any assignment, you will need to turn that in via D2L as well.
               loadShapeMobile sketch adds mobility and a moving arm to loadShape.
               To create a SVG file from Illustrator, Save As SVG, Open More Options on the SVG save as dialog & set CSS Properties as follows:


        Assignment 2 on writing a display() function and a loop is due by end of Saturday March 10 via D2L (updated from March 9 due to 3/7 snow day).
            Here is Dr. Parson's example solution, update 2/27/2018 with a 2nd loop near the bottom of draw().
            Here is textbook example 6-6, extended to show the equivalence of a while and for loop, and an extended for loop.

        Sketch AvatarArray2018 from the March 6 class extends my solution to assignment 2 to rain eggs down on the scene from above.
            It demonstrates using arrays of x and y coordinates.
        Sketch FreezeDemo from the March 20 class shows how to use boolean variable isFreeze to freeze and unfreeze the display.

        Assignment 3 on creating and using class Avatar and an array is due by end of Friday April 6 via D2L.
            My class-time PowerPoint slides from the 3/22 class are here.
            If you log into our D2L page and follow these instructions, you can watch a video (without sound) of my migration
                of my assignment 2 code to assignment 3.
            Here is my solution from the noon class and also from the 1:30 class on 3/22 for assignment 3.
            I will post my solution to assignment 3 by end of March 24.

        Assignment 4 on painting with .jpg and .png images is due via D2L by end of Friday April 20.
            Here is my starting code PhotoArchitecture2018 for assignment 4. Use it per instructions.
            Outline for photos to use -- may be .jpg or .png files created from real or virtual images.
            Must be architectural images with regular geometries, typically indoors. Outdoors OK, but no skies, vegetation, or organic geometries.
            Prepare around 10 to 15 such PImage files to be used as paintbrushes.
            The idea is to paint architectural superstructures, using architectural substructures as paintbrushes.
            Have most differ in colors at the sides so you get different textured trails. Have some with black edges for etching paths.
            Here is a video of preliminary (first draft) composition, with the tool missing many features.
            Here is a day 2 test of an initial draft.
            Here is demo RotateSpaceDemo that shows you how to rotate space.
            Here is how to compress your sketch folder into a .zip file (NOT 7z) on our Windows network. Right click the sketch folder. Mac instructions are in the assignment handout.

    Here is a video of my demo using photos from the April 12 walkabout, and the same images in a different sketch.
    Two still shots from my solution to the sketch:




    Assignment 5 on writing a text/font based plugin for the planetarium is due by end of Friday May 4 via D2L.
        Here is my starting code in sketch PaintDome2018.
        You need to copy file