felixdenoix / A2Z-F16

ITP A2Z Course for Fall 2016

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Programming from A to Z, Fall 2016

This course focuses on programming strategies and techniques behind procedural analysis and generation of text-based data. We'll explore topics ranging from evaluating text according to its statistical properties to the automated production of text with probabilistic methods to text visualization. Students will learn server-side and client-side JavaScript programming and develop projects that can be shared and interacted with online. There will be weekly homework assignments as well as a final project.

Info

  • Daniel Shiffman, Tuesdays, 9:00am-11:30am
  • All class dates
  • Office Hours
  • In addition to the ITP physical class, I am running an online version of the class for Patreon subscribers. ITP students will receive a slack invite should they want to participate. YouTube live stream sessions TBA.

Mailing List

Week 1 - Intro

Week 2 -- Regular Expressions

  • Notes and Examples
  • Also
    • multiple DOMs + multiple event
    • rita.js -- similar and rhyming, etc.
  • Regular Expressions
    • meta-characters
      • position
      • single character
      • quantifiers
      • character classes
      • alternation
      • capturing groups and back reference
    • Regex in atom editor
    • Regex in JS:
      • Regex: test(), exec()
      • String: match()
    • Splitting with regex: split()
    • Replace with regex: replace()
    • randexp.js
  • Homework Assignment

Week 3 -- Data/API Workshop

Week 4 -- Intro to Node and Twitter Bots

Week 5 - Text Analysis Workshop

  • Notes on text analysis
  • In class, we'll build a simple concordance together as well as demonstrate and discuss TF/IDF and Bayesian analysis.
  • Simple Concordance
  • TF/IDF
  • Bayesian Analysis
  • Node text analysis packages

Week 6 - Show Twitter Bots

Week 7 - Text Generation: N-Grams and Markov chains

Week 8 - Text Generation: Grammars

Week 9 - Building your own API in Node

Week 10 - Chrome Extensions

Week 11 - Final Project Proposals part 1

Week 12 - Final Project Proposals part 2

Week 13 - User Testing

Week 14 - Final Presentations

References and Inspiration

Tools

JS reference books

Learning / Intro

Tools

Requirements

  • You are required to attend all class meetings and submit all weekly assignments and a final project.
  • Grading (pass/fail) will be based on a combination of factors:
    • Attendance, participation in class discussion, and engagement in other students' projects (25%)
    • Quality of assignments (50%)
    • Final Project (25%)

About

ITP A2Z Course for Fall 2016


Languages

Language:JavaScript 99.8%Language:HTML 0.1%Language:Python 0.0%Language:CSS 0.0%Language:LiveScript 0.0%Language:Makefile 0.0%Language:Objective-C 0.0%Language:R 0.0%Language:Nix 0.0%Language:LSL 0.0%Language:Liquid 0.0%Language:Processing 0.0%Language:TypeScript 0.0%Language:Java 0.0%Language:Scala 0.0%Language:Pascal 0.0%Language:TeX 0.0%Language:Shell 0.0%Language:ActionScript 0.0%Language:Groovy 0.0%Language:FreeMarker 0.0%Language:Lua 0.0%Language:Forth 0.0%Language:ABAP 0.0%Language:Visual Basic 0.0%Language:Tcl 0.0%Language:VHDL 0.0%Language:C++ 0.0%Language:Clojure 0.0%Language:AutoHotkey 0.0%Language:Gherkin 0.0%Language:Elixir 0.0%Language:Perl 0.0%Language:Go 0.0%Language:Common Lisp 0.0%Language:Mask 0.0%Language:Scheme 0.0%Language:Assembly 0.0%Language:OCaml 0.0%Language:Ruby 0.0%Language:Cirru 0.0%Language:GLSL 0.0%Language:Haskell 0.0%Language:Rust 0.0%Language:Dart 0.0%Language:Elm 0.0%Language:Erlang 0.0%Language:Vala 0.0%Language:Haxe 0.0%Language:PowerShell 0.0%Language:CoffeeScript 0.0%Language:Eiffel 0.0%Language:PHP 0.0%Language:OpenSCAD 0.0%Language:D 0.0%Language:Protocol Buffer 0.0%Language:Verilog 0.0%Language:Batchfile 0.0%Language:Lean 0.0%Language:Julia 0.0%Language:MATLAB 0.0%Language:Io 0.0%Language:XQuery 0.0%Language:Ada 0.0%Language:ColdFusion 0.0%Language:C# 0.0%Language:COBOL 0.0%Language:JSONiq 0.0%