Class Web Page
The
ELMS page
will be used to post readings, assignments, etc.
though some of those might link to descriptions on my own site.
You may receive an e-mail informing you of emergency announcements,
but you are responsible for checking the main class site regularly.
Meeting Times: Mon/Wed/Fri 3-3:50pm in CSI 3120.
Contact Hours: I will be available for
questions outside of class time via
e-mail
and on the
class Slack space
and
in office hours as posted each week on ELMS.
The teaching assistant will be available in office hours as posted each week on ELMS.
Restrictions:
Must not have completed any courses from CMSC131-499 course range;
and must not be concurrently enrolled in CMSC131.
Credit only granted for: IMDM127 or CMSC131.
Course Short Description
An introduction to the principles of Computer Science supported by
exercises in computer programming with an emphasis on creative coding,
algorithmic image creation and manipulation, and interactive experiences.
Students will make use of both exploratory coding approaches, and
problem/solution-driven approaches, to design and implement software
with visual and auditory output.
The course also includes an introduction to a wide variety of issues
relating to computer science and software, including software design
and construction, problem-solving, and fundamental questions about
the nature, limitations, and ethical use of computers and algorithms.
It also explores how creativity tools can be used and as well as
providing some insight into how they are implemented. The course
is targeted to students with a broad diversity in backgrounds and
interests. No prerequisites are assumed beyond high school algebra.
Additional Descriptive Information
Unlike many traditional computing courses,
there will be some assignments where a single
"right" solution does not exist,
but rather there will be required assignment elements
with multiple ways to demonstrate them.
However, there will also be assignments where a
specific correct solution is what is being sought,
though still multiple ways to accomplish it.
As an example of the first, an assignment might ask you
to draw two overlapping squares. You can imagine
how many placement and color combinations might be possible.
As an example of the second, an assignment might ask you
to rotate an image so that it is upside-down. Two
examples of how this might be solved are
rotating it 180° clockwise or
rotating it 180° counter-clockwise.
Either would apply course topics and have the same
end result.
As an introduction to topics in computer science and programming
that can then be applied creatively,
assignments in this course will include a mix of styles.
For example, in addition to programming code, there will be
"written" elements in some assignments through which you
will need to demonstrate mastery of certain higher-level concepts,
whether technical, mathematical, ethical, etc.
There will also be written components with some through
which you express things such as what artistic concept you
are demonstrating through your code and how it meets the
goals within the assignment description.
Your grades will depend on things such as the
appropriate use of the technical components,
satisfying the given directions and requirements,
clear effort being demonstrated on creative components, etc.
Exams will be closed-book, closed-notes, closed-technology.
We will be making use of a variety of software tools,
Tools are being selected with care to making sure they are
available on Windows and OSX, and that they are free to
(at least) students at UMD.
Examples include
Processing 3.5.4,
and
Photoshop®
available on TERPware.
Example Learning Outcomes
• Conceptualize, enter, compile, debug and run interactive programs
in a relevant computer language.
• Design and implement software and webpages that generate
creative output in images and sounds.
• Programmatically generate or modify images.
• Use existing creativity support tools to create, edit and
store sounds, images, and shapes.
• Describe and use a systematic process to analyze a computational
problem so as to construct a program or algorithm to solve that problem.
• Explain limitations on algorithmic problem solving, and identify
some types of problems that are not easily or ultimately solved by algorithm.
• Describe ethical issues in computer use, comment on issues of
technology and society, and analyze case studies
of computer use to identify these issues and offer solution ideas.
Example Creative Connections
• An assignment might ask students to take inspiration
from Kandinsky's
Color Study. Squares with Concentric Circles
and create a geometric work such as
this two-cell image.
• A different type of assignment might ask students to take
inspiration from Camille Utterback & Romy Achituv's
Text Rain
to programmatically add text to an image
and write software that could add text to an image based on
where the sky meets an object.
Textbooks
There is one required and one recommended textbook for this course.
•
Required: "Learning Processing: A Beginner's Guide to Programming Images,
Animation, and Interaction"
by Daniel Shiffman.
Available as PDF at
dl.acm.org/doi/pdf/10.5555/1481360
•
Recommended as secondary reference: "Processing: A Programming Handbook for Visual Designers and Artists"
by Casey Reas and Ben Fry.
Major Course Deliverables
Coding and other Assignments:
These will take various forms and are individual assignments on which you
may ask questions only to the instructor and teaching assistants. You may
use
the class slides,
the posted code examples,
the examples and documentation on the
processing.org
website,
and the textbook
as resources as well.
However,
you may not use online resources such as Chegg or Reddit to ask for help,
or post to places like the class Slack (other than direct messages to
the instructor)
or any other unofficially created hangouts.
You will find the description to every assignment on ELMS,
and these assignments need to be submitted via ELMS
before their respective deadlines.
Actual source code files will be required on coding
assignments (not screenshots of code).
Some assignments will potentially require other files.
Each assignment description will detail this.
Semester Exams and Final Exam:
We will have three semester exams
(scheduled for September 30th and October 28th and December 2nd in class)
and a final exam
(currently scheduled for Friday, December 16th at 1:30pm in a room to be announced).
Grading Distribution and Rules
Coding and Other Assignments: 50%
A reminder that you may not work on these with others.
You may see the instructor or teaching assistant for help.
Once an assignment deadline passes, submission is no longer
allowed.
Do not attempt to submit through other means such as e-mail.
To accommodate for a limited number of unexpected things that
do not qualify as official university excuses,
each student will have two 24-hour extension "tokens" that
they may apply over the course of the semester. Using a
token gives that student 24 hours beyond the assignment due date
to submit the assignment, but the student must contact me at
egolub@umd.edu
to ask for this by the original deadline
to inform me that they want to use one of their tokens.
Note that each student only gets two tokens, they are
non-transferable and non-renewable.
Please note that the tokens are only applicable for assignments and not
for any exams.
Beyond the above tokens,
assignments are covered by university rules about what constitutes
an excuse for missing a major-grading assignment deadline.
Such excuses would need to be fully documented, be in the list
of university-approved excuses, and due to the extended period
of time of an assignment would need to overlap with the due date.
With an approved excuse, the deadline would be adjusted. This
would be discussed in more detail individually if the case
arises. Please note that self-documentation is not accepted
for these. Please refer to the "Illnesses" section below.
Assignments will have different weights to the overall total.
At the end of the semester, based on how many points worth of
assignments we have had,
we will scale things to an "out of 100%" score for the portion
of your grade connected to
these assignments based on the relative value of each.
So, as an example, if in the end there were 40+50+50+30+60+40 points worth
of these assignments, the "out of 100%" would be calculated by dividing your
total on these assignments by 270.
Semester Exams and Final Exam: 50%
At the end of the semester, based on how many points worth of
questions we have had,
we will scale things to an "out of 100%" score for the portion
of your grade connected to
exams.
Not all exams will have the same number of points.
So, as an example, if in the end there were 40+50+50+75 points worth
of questions, the "out of 100%" would be calculated by dividing your
exams total by 215.
Exams are covered by university rules about what constitutes an excused absence
from a major grading event, and the documentation for missing a major grading
event such as an exam.
For an excused absence on a semester exam, no make-up will be given.
Instead, your overall exam scoring will be adjusted to reflect the one missed exam.
Note that not every exam will have the same number of points and I will have a formula
to handle this correctly in the end.
Exam regrading request policy will be discussed in class, but please note
that any requests will need to be in writing via e-mail.
Semester grades will be assigned based on the following anticipated ranges.
It should be noted that some range cut-offs may be adjusted down slightly.
The very lower and upper parts of each range will be reserved for +/- grades.
| Range | Grade Family |
| 90-100 | A |
| 80- 89 | B |
| 70- 79 | C |
| 60- 69 | D |
| 0- 59 | F |
Due to the potential circumstances of the semester,
this is subject to change if needed, but such changes
would be discussed in advance.
Masking Guidelines
These things are always in flux.
As of now masks are listed as optional in the classroom,
but I would like to ask everyone to seriously consider
wearing a mask in class.
If you are not wearing a mask, I will ask you to keep a
certain distance away from me if you come up to ask something,
but I will of course still take the question.
Illnesses
If a long-term medical issue impacts an assignment,
you must notify me as soon as you are medically able to.
Official documentation will be needed, and we will
discuss how the assignment will be handled.
Self-documentation will not suffice for this.
Arrangements for excusing or making up an excused assignment
will be handled on a case by case basis, but documentation must be
provided as soon as medically possible which
should be no later than two days after the deadline
to begin that conversation.
In the case of an exam, any medical excuse must include the day of the exam
or be of a substantial length ending within two days of the exam, and
in the form of official medical documentation (self-documentation will not suffice
unless the University states that we need to start allowing that).
The default for accepted excuses will be to use the scores on the remaining
exams "in place of" the missed exam.
Again, notification and this documentation should be provided as soon as medically
possible and should be no later than one week after the exam.
Academic Honesty
The University of Maryland, College Park has a nationally recognized
Code of Academic Integrity, administered by the Student Honor Council.
This Code sets standards for academic integrity at Maryland for all
undergraduate and graduate students. As a student you are responsible
for upholding these standards for this course.
It is very important for you to be aware of the consequences of cheating,
fabrication, facilitation, and plagiarism.
Cheating includes: reusing portions of coursework for credit, allowing
others to prepare work, and utilizing external aids including commercial
term paper and internet companies.
If you have a question regarding any of the above or the code in general,
consult immediately with one of the instructors.
The University of Maryland
Honor Pledge reads: I pledge on my honor that I have not given or received
any unauthorized assistance on this assignment/examination.
Unless you are specifically advised to the contrary, the Pledge statement
should be handwritten and signed on the front cover of all papers, projects,
or other academic assignments submitted for evaluation in this course.
Students who fail to write and sign the Pledge may be asked to confer with
the instructor.
For more information on the Code
of Academic Integrity or the Student Honor Council, please visit:
https://www.studentconduct.umd.edu/
Special Needs
Any student eligible for and requesting reasonable academic accommodations
due to a disability is requested to provide, to the instructor in office
hours, a letter of accommodation from the Office of Accessibility and
Disability Services (ADS) within the first two weeks of the semester.
Religious Observance
It is the student's responsibility to inform the instructor by e-mail of
any religious observances that will conflict with your attendance, assignment
deadlines, or final exam. The student should provide this notification to
the instructor by the end of the second week of the term; the notification
must identify the religious holiday(s) and the date(s). If this notification
is not given to the instructor by this date, any missed assignments,
activities, and/or exams are subject to grade penalties.
University-Wide Items
University-wide
course policy information of course applies
as well.
Copyright Notice
Class materials posted on this course site and/or ELMS
are copyrighted and may not be reproduced for anything other than
for personal use of students taking this class,
without written permission from instructor.