A course introducing the creative side of computing in the context of applying graphic design principles in digital media. It emphasizes computer programming related to image processing. Students will produce raster and vector graphics, motion graphics, and interactive web applications while implementing the fundamentals of graphic design.
Required Textbooks and Material
- Learning Processing, Second Edition: A Beginner's Guide to Programming Images, Animation, and Interaction by Daniel Shiffman (publisher: Morgan Kaufmann) ISBN: 978-0123944436
Supplementary Text (optional):
- Generative Art, by Matt Pearson (Publisher: Manning Publications) ISBN: 978-1935182627
An online copy of the Generative Art book is available at the link below. Only one reader can access at a time. proquestcombo.safaribooksonline.com.nuncio.cofc.edu
- Required readings (from various sources) will be assigned from time to time.
- Must choose a storage solution such as a flash drive, Google Drive, or www.dropbox.com
- Computer Science now has a walk-in tutoring lab. Get your tutoring here!
- Processing Programming website: http://www.processing.org
- Feel free to browse and share Processing sketches: http://www.openprocessing.org
- To understand and apply basic algorithms for generating, manipulating, and representing digital information in the creation of digital media.
- To apply the software development process in program development
- To apply various data types to represent information
- To apply variables in program development
- To design expressions using arithmetic, relational , and logical operators
- To design selection statements
- To design repetition statements
- To design simple data structures using lists
- To design and use functions
- To apply event-driven programming
- To understand and apply principles of graphic design
- To process and create composite digital images and digital audio.
- To apply the concept development process
- Apply conceptual, aesthetic, and computational skills in the creation and critique of design.
|Assignments and Class Exercises||30%|
|Projects (8% and 12%)||20%|
|Attendance and Participation||10%|
|A||93 - 100|
|A-||90 - 92|
|B+||88 - 89|
|B||83 - 87|
|B-||80 - 82|
|C+||78 - 79|
|C||73 - 77|
|C-||70 - 72|
|D||60 - 69%; F Less than 60%|
Participation and Attendance:
Attendance: Regular and punctual attendance is critical to your success in this class. No more than 3 unexcused absences are permitted in this class. Excess absences will result in points being deducted from your Participation Grade.
Method for Reporting an Absence:
Students should go to 67 George Street to discuss absences and fill out the appropriate forms. Information is also available at the website: http://studentaffairs.cofc.edu/about/absence-memo. Students will need documentation for health, personal or emergency situations. Students on athletic teams or school-sponsored trips are responsible for reporting their activity to the instructor.
Academic Integrity and the College Honor Code:
Academic integrity is taken seriously in this course. Please be aware of the specific requirements of the Honor Code at the College of Charleston.
You may be wondering what "academic integrity" means in the context of programming. In this course, you may consult with other students for conceptual and debugging help while working on your code, but unless otherwise specified on the assignment the final code you submit should be written, tested, and documented by you. This means that if two students submit code that is substantially the same we will consider this a likely academic violation. All assignments will be automatically scanned for similarity.
It is a usual practice for real-world programmers to find and adapt publically available code written by others in their own projects, and you may also do this in this class. If you use "found code" from on-line sources you must bring that code up to the standards expected in this course. You must also identify which code is "found" and document its source with a comment in your code, just as you would for an academic citation in a written paper. Unless otherwise specified for a particular assignment, found code may not take up more than 10% of the code that you submit (counting by correctly formatted lines).
Any student who has a documented disability and has been approved to receive accommodations through the Center for Disability Services/SNAP, is encouraged to come and discuss this with me during my office hours.
Other Policies and Information:
Late Assignments: Assignments are due at the beginning of the class period on their due date. Forty (40) points will be deducted if an assignment is late. Late assignments must be submitted no later than the next class period. Due dates for assignments will be strictly enforced.
Tests & Exams: Make-up exams will not be given unless approved in advance for compelling reasons.
Schedule of Topics
Processing, Drawing Primitive Shapes
Flow of Control and Interaction
Variables & Control Structures
Loops and Concept of Iteration
Functions and Reuse
Classes and Objects
Image Editing with graphic editors
Visual Design Principles
Image Processing with Code
Text & Data Input
Translation and Rotation (3-D)
Other topics as permitted
The Course Calendar, which is a separate handout, provides details on the assignments and projects.