Skip to content

Course Materials for MSc Creative Computing Coding 2: Advanced Frameworks

Notifications You must be signed in to change notification settings

HotzingTone/MSc-Coding-2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coding 2 : Advanced Frameworks

2019-2020

Professor Mick Grierson

Introduction

Welcome to Coding 2: Advanced Frameworks. In this course we build on the practical creative programming skills and experience that we developed in Coding 1 and apply them in new contexts. We expand our knowledge of specific programming languages and frameworks so that we can make better choices regarding platforms, software, hardware etc. that reflect creative requirements. We also continue to work with media through programming in ways that are specifically useful in Creative Computing contexts.

The course is divided in to 2-week blocks that focus on specific areas, exploring them in ways that relate to specific languages, platforms, frameworks and approaches. The course is 'Advanced' in terms of the concepts we will engage with, not necessarily the programming approaches that we will use. We will move fast, so you will need your wits about you. You are encouraged to take written notes, especially when you are working on your own to review material covered in class.

Schedule:

The schedule is divided into four 2-week blocks that focus on specific technologies.

Week 1 & 2 - C++

  • Introduction to C++ fundamentals: main.cpp, #include, printing to the console, data types, conditionals, loops, functions, preprocessing and compilation.
  • Creating and using C++ objects: classes, .h (hpp) .cpp pairs, declaring and defining classes, basic macros.
  • Getting started with openFrameworks
  • Understanding Pointers

Week 3 & 4 - Python

  • Getting started with Python : Python 2 vs 3, printing to the console, import, variables, conditionals, loops, functions, def
  • Doing the Python Challenge!!!
  • Using help() and DIR()
  • Core libs : matplotlib, numpy, pandas, urllib, bs4, gensim, bokeh, flask.
  • NLP tools in gensim.

Week 5 & 6 - Python Machine Learning

  • Introduction to Image Processing, Batch processing and Data Handling
  • Basic Neural Networks by hand - Forward multiply, Forward add, backward pass, calculating derivatives and gradients, numerical gradient, analytic gradient, scaling the gradient to automatically adjust parameters. Back propagation for training Neural Networks.
  • Introduction to Tensorflow

Week 7 - More Python Machine Learning

  • Neural Networks for image classification
  • Using Tensorflow to do inference on pre-trained models
  • Exploring CNNs, RNNs, GANs.

Week 8 - Embedded development

  • Using ARM architectures - Raspi for prototyping
  • Python and C++ on ARM architectures
  • Designing autonomous embedded systems
  • Using simple sound and light sensors for interaction

Week 9 - Project work

Assessment

Assessment is by creative project (70%), and completion of in-class assignments (30%).

Useful resources

https://openframeworks.cc

  • Python

https://www.python.org/

https://www.anaconda.com/distribution/

https://www.tensorflow.org/

  • ML cheatsheet

https://ml-cheatsheet.readthedocs.io/en/latest/

  • Maths / Programming Cheat Sheet

https://github.com/Jam3/math-as-code

About

Course Materials for MSc Creative Computing Coding 2: Advanced Frameworks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 94.6%
  • C++ 4.5%
  • GLSL 0.9%