Scripting For Digital Content Creation

AIMS

The purpose of this optional unit is to ensure that students are equipped with the programming and scripting skills necessary to use modern Digital Content Creation (DCC) tools such as Maya, Houdini and Nuke.

Using a “test driven design” (TDD) approach students will learn core software engineering and programming skill to help understand and utilize the architecture of modern DCC tools in the development of pipeline tools and techniques.

INTENDED LEARNING OUTCOMES

Having completed this unit the student is expected to:

  1. understand and apply Test Driven Development / Design to a chosen software development project.
  2. demonstrate an understanding of the architecture and techniques used by digital content creation tools.
  3. select, apply and evaluate the correct programming / scripting language and approach to solve a chosen problem.

Learning and teaching methods

The unit will be taught with a combination of lectures and workshops.

The lectures will introduce both the theory of programming / scripting languages as well as standard software engineering techniques such as test driven development / design. In parallel to this the architecture of DCC / animation tools will be introduced and how these relate to the programming paradigms being introduced.

The lab sessions will initially concentrate on basic TDD processes and the use of the selected languages. The DCC tools will then be introduced to allow the application of the programming languages to the DCC tool.

Indicative unit content

  • Operating systems, Linux tools and scripting languages
  • Data structures for CGI in python
  • Test driven design and development
  • GUI design and programming.
  • Software Engineering principles, lifecycle of software projects
  • The structure of a DCC, data flow and architecture

INDICATIVE KEY LEARNING RESOURCES

Each student will have access to a workstation with an appropriate development environment.

Journals

‘Communications of the ACM’ monthly publication of Association of Computing Machinery

Websites