COMPFOR 451: Capstone in Computing for the Arts and Sciences

Short Course Description: Students integrate their knowledge of computing in arts and sciences with the work in their major disciplines. They will learn to manage projects that use digital assets, and manage their program code using collaborative revision control systems. The course includes feedback and support through weekly classes.

Course Requirements: Students combine their knowledge of computing with depth in their major area. The focus of the course will be on managing the project and successful integration. It’s a tools and project management course. Students learn to manage data or digital assets (as is appropriate for their projects) and manage their code using collaborative revision control systems (like Github). There is a particular emphasis on testing and validation, so that students know how to answer the question if they built the right things in the right ways. Students will be evaluated on their project process (20%), project documentation (30%), testing and validation mechanisms (20%), effective use of project management and digital asset/data tools (20%), and effective team communication and dynamics (10%).

Let’s make that more concrete…

The idea for COMPFOR 451 is to help you to tackle a big project in your field of study that involves computing.  Maybe it’s an Honors Senior Thesis.  Maybe it’s a big Service Project that you and your team want to do, like making a website for a non-profit organization. Maybe it’s a Digital Humanities idea you’ve been interested in. Maybe it’s a complicated website or computational art project that you’ve always wanted to tackle. You can take the class as an individual, but it works even better if your whole team takes it at the same time.

This class is meant to teach you the planning and organization skills to make your project happen!

But if you don’t have a project, you can take this class and build a movie in BlenderBuilding a movie in Blender will involve all the issues that we expect in a large Computing for Expression project. You can do it alone or in a team – from a team, we’ll expect a more complex final movie, but you can do it either way.

Blender UI

Because of this dual-focus model, there are two kinds of class lecture and two kinds of deliverables.

  • Required: Everyone has to come to the classes on planning, process management, project documentation, testing and validation, storing your digital assets, and managing your team.  Everyone will turn in documents related to those pieces as homework (see below).
  • Project-specific: If you are doing your own project, you don’t have to come to the Blender-specific classes. If you are building a Blender movie, we will teach you about Blender and you will be expected to turn in (or show us, at check-ins) parts of the movie as we move forward.

Draft Syllabus

Each topic will be 2-3 weeks. Mapping to specific dates and lectures will be determined at the start of each semester.

Topic: Conceptualization and Initial Planning

  • Required: Developing a proposal. How to scope a project. 
  • Blender-specific: Pre-Production. Storyboarding. Designing your characters.
  • Turn-in: Project Proposal.

Topic: Project Specifications, Planning, and Avoiding Scope Creep

  • Required: Developing a project plan. How to identify stakeholders, and how to gather requirements from them (e.g., prototypes and design probes). Project resources, budgeting, and planning to stay in budget (e.g., Gantt charts).
  • Blender-specific: Walk-through of the process: Modeling, Unwrapping, Painting, Shading, and Rigging.
  • Turn-in: Project Plan, with Resource Budget.

Topic: Managing a Team

  • Required: Ways to manage a team. Agile development. Insuring good team communication.
  • Turn-in: Team Management Plan, with every team member’s sign-off.

Topic: Managing Information

  • Required: Information Architecture — identifying the digital information (assets) you will need, what their pieces are, how you will store them, and how you will manage them including changes/revisions.
  • Blender-specific: Making and re-using models, textures, materials, and shaders.
  • Turn-in: Information needs and plans for your project.

Topic: Production

  • Blender-specific: Blender modeling tools, painting textures, materials and shaders, character rigging, camera tracking. Post-production: Rendering your movie.
  • Turn-in: Check-ins with instructor to show progress.

Topic: Programming

  • Required: How to manage code and its revisions (e.g., GitHub). How open-source works.
  • Blender-specific: How to use the Python API for Blender: Making objects and controlling your movie with Python.
  • Turn-inCheck-ins with instructor to show code and discuss revision management.

Topic: Testing and Quality Control

  • Required: How do you make sure that you’re staying on-track and in-budget? How do you make sure that what you’re producing is good?  Introduce discount usability techniques.
  • Turn-in: Testing and quality control plan.