Tuesday December 7 we will not have
our regular class time.
Instead I am requesting attendance at the CSC355 Software
Engineering II presentations in MSU (SUB) 218: Faculty and students are
cordially invited to attend Demo Day F21.
It will be in person this year, with social distancing.
8:30AM - 12:30PM - student presentations
1:30PM - 3:30PM - poster session Zoom
will be available for the student presentations
Professor Donna DeMarco
Our
final exam time is Thursday December
16, 2-4 PM.
There is no
final exam and assignments are due
December 11.
I will be in the room & on
course Zoom session at the start
of that exam time, attendance
optional.
Open
Broadcaster Software
OBS, Free and open source
software for video recording and live
streaming.
The
Book of Shaders for intro to GLSL
shaders running on the GPU. This course increases breadth and depth of knowledge for
students with experience in object- oriented programming for
multimedia systems. Advanced topics include working with
camera point-of-view and lighting sources for 3D graphics,
recursive shapes and fractals, pixel-level image processing,
and animated video composition. Students will program
graphical images, video streams, audio signals, physical
devices containing electronic sensors and effectors, and
combinations of these media. There will be solo and team
programming projects.
Prerequisites: CSC220 with a grade of C or better.
RESOURCES & HANDOUTS
Shiffman's
textbook's website including Examples and Exercises that
will familiarize you with Processing. Textbook is optional, there is 1 copy on one-day reserve in
Rohrbach Library. Buying it is cheap.
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.5.4.
I don't usually
upgrade the version mid-semester, in the interest of
stability, unless I need a specific bug fix.
/* CSC220 & CSC480 students fall
2021
IF YOU HAVE BEEN HAVING
PROBLEMS WITH THE CALL TO initMIDI()
TIMING OUT AND BLOWING UP
PROCESSING WITH THIS ERROR: RuntimeException:
Waited 5000ms for: <a750231,
4b2fd0f>[count 2, qsz 0, owner
THEN GO INTO THE MIDI TAB AND
REPLACE THE CODE THAT STARTS LIKE THIS:
// MIDI VARIABLES, see
http://faculty.kutztown.edu/parson/spring2017/MidiKBSpring2016Parson.txt
final int midiDeviceIndex = 0 ; //
setup() checks for number of devices. Use
one for output.
DOWN THROUGH THE BOTTOM OF
THE MIDI TAB INCLUDING THE sendMIDI()
FUNCTION WITH THE CODE
IN THIS FILE. IF IT HAS BEEN WORKING
FOR YOU, DON'T CHANGE THIS MIDI TAB CODE.
*/
INDIVIDUAL
ASSIGNMENTS 4 & 5 use the
same specifications and ideas as in spring
2020.
I
will demo some additional ideas in the
early November classes. All
proposed projects must be approved by
Dr. Parson before commencing.
ASSIGNMENT 4 is due via D2L on
November 23.
ASSIGNMENT 5 is due via D2L on
December 11, the Saturday before
final exams.
You can use ideas from HERE.
If you download code you need to
get my approval for major extensions.
Added 11/9/2021:
I. Solve CSC220
Assn4 and save and turn in as
CSC480F21Assn4_RecursionAND
I.a
Add continuous time-based morphing of
drawShape() as specified in your
Assignment 4 personal spec, OR
I.b
Rewrite drawShape() to plot an identical
graphic built entirely as a PShape in a
helper function called in setup(),
measure
improvements if any (in frameRate) by
doing this as a single PShape.
Either option I.a or I.b must be approved
by Parson. Turn in this additional sketch
as CSC480F21Assn4_RecursionPlus.
Here
is the CSC220
starting code.
Current CSC220 students would have to do
both I.a and I.b.
Here
is the November
9 CSC220 video on their Assignment 4.
II. Add Processing
filtering, blending, and other effects to
the incremental fade-out-in of CSC480_noThingIV_Nov2021.
III. Improve user
interaction and add features to CSC480_PImageSelf_Nov2021.
ZOOM VIDEO RECORDINGS
August
31 Go over first day handout, examples of graphical works,
COVID@KU simulation. September
2 Started going over this
demo sketch from spring 2020. Here is a 3D demo sketch
focusing on box(), sphere(), and PShape. PShapeRecursive3Dis an updated to
a previous CSC220 3D Avatar-in-space assignment that I made
recursive.
It has source code tabs:CustomPShapeandVectorAvatar. Trigonometry slidesrelating to
recursion and graphical coordinates in general.
September
7 Continue going over the recursive part of the September 2
sketch. September
9 Went over Assignment 1 above. 9/14 class will be a work
session. September
14 Work session on Assignment 1, Q&A recorded. September
16 Started going CSC480DemoScreenshot1FA2021
over in Assignment 2 prep above. September
21 Continued going over variations of the September 16
handout code in prep for Assignment 2. September
23 Went over the main requirements of Assignment 2 above.
September 28 This one is
missing in action. It was a work session with few questions,
seemingly none recorded. September
30 Started exploration of Musical Instrument Digital
Interface (MIDI) and digital audio. October
5 Went over speedup via PShapes, and MIDI in
ConcentricCirclesIntervals above. CSC220 noon class. October
7 Went over sketch that uses tint(255, alpha) to fade one
image out & next image in in cycles. October
14, NO CLASS, CSC220 look at another MIDI sketch, at using
ConcentricCircles, & enhancing collision recovery. October
14 posted October 11 video going over Assignment 3. October
19 Additional going over Assignment 3. October
21 some work session Q&A on assn3. October
26 Worked through the Sunflower sketch on the way to
Assignments 4 & 5.
I will
post an updated version of the sketch on the course page within a
few days. October
28 Worked through other sketch ideas for Assignments 4 &
5. November
2 Some Q&A on Assignment 3 + Parson's multi-threading to
fix the initMIDI() timeout problem. November
9 Go over Assignment 4&5 options. November
16 Went over CSC220 portion of Client-Server,
Model-View-Controller materials above. November
18 Continue project examination from November 16. November
30 Applying java.util Map, Set, and List
derived classes to Processing sketches per
Review materials.
November
30 recording from CSC220 but is equally useful to CSC480 students.