paluchas / MSc-Coding-2

Course Materials for MSc Creative Computing Coding 2: Advanced Frameworks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coding 2 : Advanced Frameworks

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 - More C++ and Embedded development

  • More on pointers
  • Object orientation, inheritence, polymorphism
  • Pointers in objects and how you can use them
  • Using ARM architectures for embedded systems
  • Running OF on ARM

Week 5 & 6 - 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 7 & 8 - 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 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


Languages

Language:Jupyter Notebook 98.8%Language:C++ 1.0%Language:GLSL 0.2%Language:HTML 0.1%