Introduction to Programming
Programming in general is a task that should be enjoyed by many/all, however due to social stigma sometimes gets a bad rap.
What is programming? Creating a solution that can be expressed in a language that a computer can follow.
Programming in essence is problem solving! This is a core strength to Visual Effects, and programming is an exercise that can build those muscles.
If you enjoy puzzles, finding solutions, and most importantly to me — seeing the results! (Computer Graphics) you are in the right place.
If you have never studied a programming language, there are an abundance of resources both video/book/documentation form.
Key concepts that we study in VSFX 160:
- variables — to store/put information in — not explicitly typed like C++ but implicitly ie. try
type(3) - truth statements — to select which code to execute
- looping — this is a concept that will make your life easier, repetition should be done by a computer, not you
- functions — repeating chunks of code and working modularly
- I/O — whether from console or from a file, input and output
- lists — a way to keep information more efficiently
- classes/objects — a way to store information that is customizable
- OOP — structuring your programs in an object oriented way
These are general concepts and we will be using these in python to start. Once you have a solid grasp of these concepts it becomes very easy to learn any other programming language.
Disclaimer programming != math != proceduralism — these are three distinct concepts, although they play nice together, they are not the same thing!
What is coding, scripting and programming in our context? These terms are at times used loosely and it is more of a theoretical question.
-
Coding — creating a language specific syntax to a problem solution (algorithm). A program consists of code.
- Algorithm is a solution to a problem in a set of steps to produce an intended result
- Program — a program is code that is complete and can be run. Programming is the process of writing programs by taking an algorithm and encoding it into a notation (programming language) so that it can be executed by a computer.
- Scripting — smaller programs in interpreted languages like Python. Note that python is a programming language that is also used for scripting.
- Class1 - Introduction
- Class2 - Turtle
- Class3 - Algorithm
- Class4 - Functions
- Class5 - I/O
- Class6 - Exercise 1 is due
- Class7 - Lists
- Class8 - Linux
- Class9 - Exercise 2 is due
- Class10 - Review
- Class11 - Review
- Class12 - Houdini
- Class13 - Exercise 3 is due
- Class14 - Houdini and Tips for E4
- Class15 - Houdini
- Class16 - OOP Intro
- Class17 - OOP and BASH
- Class18 - Studio and OOP if time permits
- Class19 - Exercise 4 is due
- Class20 - In-class OOP Exercise