Class Topics
Creative Computing Survey
- computers are ubiquitous in contemporary media
- examples of generative form in art and design
- examples of interaction design in art and design
Interaction Design
- what interaction is
- interaction as a creative media
- interaction spectrum
- formal elements of interaction design
- behavior, reaction, choice, time, state, change
- physical human computer interfaces (inputs/outputs)
- brainstorming and concepting
- storyboarding interaction
- writing user scenarios
- user testing
Programming
Program Design
- what a computer is
- what a program is
- what programming is
- the skills of computer programming
- program design
- problem definition/break down
- program planning
- algorithms
- data structures
- modularization/dry
- designing code interface (parameters/returns)
- other programming language paradigms
Debugging
- console.log
- divide and conquer
- getting unstuck
Reading Reference
- reading documentation
- reading api reference
- finding answers to common problems
Javascript
- syntax overview
- comments
- literals
- variables
- arrays
- objects(data)
- expressions
- statements
- flow control
- functions
- objects(oop)
p5.js
- general structure
- drawing api
- math api random/map
- animation
- interaction/events
- images
- networking
Style
- comments
- names
- magic numbers
- consistency
- working to spec
Web Development Intro
- what a web page is
- what a web browser is
- what a server is
- what a dns server is
- how it all works
- html/css
- markdown
Tools
Web Browser (Chrome)
- chrome for web development
- chrome developer tools
- element inspector
- network inspector
- view source
- console
- debugger
Text Editor (Atom)
- text editor vs word processor
- browser integration (livereload, open-in-browser)
- syntax highlighting
- formatting (jsformat)
- validation/linting (jscs, jshint)
Version Control (Git)
- what version control is
- what a repository is
- basics of how it works
- simple/non-branching version control workflow
Github
- canonical repository
- community
- collaboration
- collection of libraries