Skip to content

tyhenry/dt_openframeworks_2018

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Creative Coding: OpenFrameworks / "Algorithmic Vision"

Parsons MFA Design and Technology, Fall 2018

PGTE 5566 A, Tues 7:00pm - 9:40pm

Location: 63 5th Ave, NYC, Room 403

Course Instructor: Tyler Henry, [email protected]

All course material will be posted to GitHub repo tyhenry/dt_openframeworks_2018.

Student homework will be linked in the homework repo tyhenry/dt_of_hw_2018

Credits: The content of this course is greatly indebted to Regina Flores Mir, professor of AlgoSims2016, my own incredible creative coding professors Bryan Ma, Bernardo Schorr, and Patricio Gonzalez Vivo, as well as the work of Zach Leiberman, and countless other contributors to the OpenFrameworks community.

Course Description

This studio course will cover the fundamentals of creative software development in C++ / openFrameworks, with a special focus on producing interactive and procedural artwork using 3D animation and computer vision. Students will learn how to think and "see" algorithmically, while gaining an in-depth understanding of how to build creative and interactive software, from design to development to deployment.

Different computational techniques, mathematical and graphical principles, and interactive technologies will be presented throughout the course, and it's up to you to gradually incorporate them into your artistic sketches.

We will start by reviewing the fundamentals of C++ and Object Oriented Programming. This will be the foundational paradigm we will use to code our projects. We will also cover trigonometric principles to understand the core of physics simulations, building towards the design of complex systems using multiple forces to see how collective patterns can emerge from individual behavior.

In the second half of the semester, we will focus on extending openFrameworks for use with 3rd party tools and community addons. Specifically we will learn how to integrate computer vision techniques into our applications, enabling us to build software that "sees" and responds to visual stimuli in both 2D and 3D environments.

Students will complete weekly homework assignments in the form of code "sketches." In addition, students will spend several weeks building and presenting both a midterm and final project, applying learned concepts to create their own creative computer programs.

Course Outline

WEEK DATE TOPIC
01 08/28 Intro: OF community, Github, exploring C++
02 09/04 Drawing to screen, functions, classes, OOP
03 09/11 Vectors, movement, and forces
-04 09/18 NO CLASS - YOM KIPPUR
05 09/25 Oscillation, noise, physics
06 10/02 Particles, attraction, flow fields
07 10/09 3D scenes, meshes, ofCamera
08 10/16 Midterm project workshop
09 10/23 MIDTERM PROJECT PRESENTATIONS
10 10/30 ofxAddons / ofxGui
11 11/05 Advanced 3D - ofNode and matrices
12 11/13 Computer vision 1 - images and data
13 11/20 Computer vision 2 - learning algorithms
14 11/27 Advanced 3D - Shaders and GLSL
15 12/04 Final project workshop
16 12/11 FINAL PROJECT PRESENTATIONS (Guest Crits)

Learning Outcomes

By the successful completion of this course, students will be able to:

  1. Design, code, compile and share their own C++ programs in openFrameworks.

  2. Understand and combine the building blocks of software development, computer graphics, image analysis, procedural animation, and user interaction.

  3. Extend their knowledge and personal codebase through independent research and development.

  4. Create generative and interactive artwork for public exhibition.

  5. Engage with and contribute to the open-source and software art communities.

  6. Be comfortable presenting their technical and aesthetic work to peers.

Final Grade Calculation

  • 5% participation
  • 10% attendance
  • 20% homework
  • 30% mid term
  • 35% final project

Materials and Supplies

This course will be based on openFrameworks C++ toolkit and will use GitHub.com as the online platform to share code, documentation, and homework. (Please read and follow the setup document BEFORE coming to class.)

You may find additional help and inspiration in the examples contained in the following repositories:

C++ and oF

Because we will code in C++, the sooner you get comfortable with it the better. There is A LOT of helpful extra material:

As regular consulting material you will probably want to have the following links pre-bookmarked on your browser:

Algorithms and Simulation

There are a huge number of papers, books and examples online about algorithms and simulation. Not all of them are in C++, but hopefully you will train yourself to interpret and translate them. Here are some friendly approaches:

Computer Vision

In the second half of the semester, we will focus on the use of computer vision to create software that can "see". We will primarily use the OpenCV library, the most popular open-source platform for computer vision in C++.

GLSL Shaders

We will speak briefly about shaders and their implementation in OF. Here are some resources:

Grading Standards

  • A Work of exceptional quality
  • A- Work of high quality
  • B+ Very good work
  • B Good work; satisfies course requirements Satisfactory completion of a course is considered to be a grade of B or higher.
  • B- Below-average work
  • C+ Less than adequate work
  • C Well below average work
  • C- Poor work; lowest possible passing grade
  • F Failure
  • GM Grade missing for an individual

Grades of D are not used in graduate level courses.

Grade of W

The grade of W may be issued by the Office of the Registrar to a student who officially withdraws from a course within the applicable deadline. There is no academic penalty, but the grade will appear on the student transcript. A grade of W may also be issued by an instructor to a graduate student (except at Parsons and Mannes) who has not completed course requirements nor arranged for an Incomplete.

Grade of Z

The grade of Z is issued by an instructor to a student who has not attended or not completed all required work in a course but did not officially withdraw before the withdrawal deadline. It differs from an “F,” which would indicate that the student technically completed requirements but that the level of work did not qualify for a passing grade.

Grades of Incomplete

The grade of I, or temporary incomplete, may be granted to a student under unusual and extenuating circumstances, such as when the student’s academic life is interrupted by a medical or personal emergency. This mark is not given automatically but only upon the student’s request and at the discretion of the instructor. A Request for Incomplete form must be completed and signed by student and instructor. The time allowed for completion of the work and removal of the “I” mark will be set by the instructor with the following limitations:

Graduate students Work must be completed no later than one year following the end of the class. Grades of “I” not revised in the prescribed time will be recorded as a final grade of “WF” (for Parsons and Mannes graduate students) or “N” (for all other graduate students) by the Office of the Registrar. The grade of “N” does not affect the GPA but does indicate a permanent incomplete.

Divisional, Program and Class Policies

Responsibility Students are responsible for all assignments, even if they are absent. Late assignments, failure to complete the assignments for class discussion and/or critique, and lack of preparedness for in-class discussions, presentations and/or critiques will jeopardize your successful completion of this course.

Participation Class participation is an essential part of class and includes: keeping up with reading, assignments, projects, contributing meaningfully to class discussions, active participation in group work, and coming to class regularly and on time.

Attendance Parsons’ attendance guidelines were developed to encourage students’ success in all aspects of their academic programs. Full participation is essential to the successful completion of coursework and enhances the quality of the educational experience for all, particularly in courses where group work is integral; thus, Parsons promotes high levels of attendance. Students are expected to attend classes regularly and promptly and in compliance with the standards stated in this course syllabus.

While attendance is just one aspect of active participation, absence from a significant portion of class time may prevent the successful attainment of course objectives. A significant portion of class time is generally defined as the equivalent of three weeks, or 20%, of class time. Lateness or early departure from class may be recorded as one full absence. Students may be asked to withdraw from a course if habitual absenteeism or tardiness has a negative impact on the class environment.

Whether the course is a lecture, seminar or studio, faculty will assess each student’s performance against all of the assessment criteria in determining the student’s final grade.

Canvas Use of Canvas may be an important resource for this class. Students should check it for announcements before coming to class each week.

Delays In rare instances, I may be delayed arriving to class. If I have not arrived by the time class is scheduled to start, you must wait a minimum of thirty minutes for my arrival. In the event that I will miss class entirely, a sign will be posted at the classroom indicating your assignment for the next class meeting.

Electronic Devices The use of electronic devices (phones, tablets, laptops, cameras, etc.) is permitted when the device is being used in relation to the course's work. All other uses are prohibited in the classroom and devices should be turned off before class starts.

Academic Honesty and Integrity Compromising your academic integrity may lead to serious consequences, including (but not limited to) one or more of the following: failure of the assignment, failure of the course, academic warning, disciplinary probation, suspension from the university, or dismissal from the university.

Students are responsible for understanding the University’s policy on academic honesty and integrity and must make use of proper citations of sources for writing papers, creating, presenting, and performing their work, taking examinations, and doing research. It is the responsibility of students to learn the procedures specific to their discipline for correctly and appropriately differentiating their own work from that of others. The full text of the policy, including adjudication procedures, is found at http://www.newschool.edu/policies/# Resources regarding what plagiarism is and how to avoid it can be found on the Learning Center’s website: http://www.newschool.edu/university-learning-center/student-resources/

The New School views “academic honesty and integrity” as the duty of every member of an academic community to claim authorship for his or her own work and only for that work, and to recognize the contributions of others accurately and completely. This obligation is fundamental to the integrity of intellectual debate, and creative and academic pursuits. Academic honesty and integrity includes accurate use of quotations, as well as appropriate and explicit citation of sources in instances of paraphrasing and describing ideas, or reporting on research findings or any aspect of the work of others (including that of faculty members and other students). Academic dishonesty results from infractions of this “accurate use”. The standards of academic honesty and integrity, and citation of sources, apply to all forms of academic work, including submissions of drafts of final papers or projects. All members of the University community are expected to conduct themselves in accord with the standards of academic honesty and integrity. Please see the complete policy in the Parsons Catalog.

Student Disability Services (SDS) In keeping with the University’s policy of providing equal access for students with disabilities, any student with a disability who needs academic accommodations is welcome to meet with me privately. All conversations will be kept confidential. Students requesting any accommodations will also need to meet with Jason Luchs in the Office of Student Disability Services, who will conduct an intake, and if appropriate, provide an academic accommodation notification letter to you to bring to me. SDS assists students with disabilities in need of academic and programmatic accommodations as required by the Americans with Disabilities Act of 1990 (ADA) and Section 504 of the Federal Rehabilitation Act of 1973. http://www.newschool.edu/studentservices/disability/.

Intellectual Property Rights http://www.newschool.edu/policies/#

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published