Giter Site home page Giter Site logo

a2z's Introduction

a2z

JavaScript for text-based data, Shiffman, ITP, Fall 2016 on github
Programming with Text - shiffman video playlist on youtube


requires
to run locally:
  • run http-server in root along with LiveReload app and Chrome extension OR
  • use Atoms atom-live-server
    • usage:
     ctrl-alt-l: launch live server on port 3000  
     ctrl-alt-q: stop live server 
     ctrl-alt-3: launch live server on port 3000   
     ctrl-alt-4: launch live server on port 4000   
     ctrl-alt-5: launch live server on port 5000   
     ctrl-alt-8: launch live server on port 8000   
     ctrl-alt-9: launch live server on port 9000   
serve from github pages gh-pages
  1. create gh-pages branch
  2. delete master
  3. make gh-pages the primary remote
  4. push to gh-pages branch
  5. git checkout gh-pages

Issues:

  • [] generate index page via js.
    • current workaround is to add each exercise to the index page

shiffman A2Z links:

my notes wiki

my a2z gong-fu via gh-pages

vids, tuts, & articles


course overview

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

  • 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 -- TBA

Week 3 -- Data/API Workshop

  • APIs
  • Working with google sheets
  • Parse (doesn't exist anymore, something else?)

Week 4 -- Intro to Node and Twitter Bots

  • Server side programming with Node
  • Node data persistence
  • html scraping
  • How to make a Twitter bot
  • Start working on Twitter Bot project

Week 5 - Text Analysis Workshop

  • 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: Markov chains

  • Using google sheets for text input
  • ngrams and markov chains

Week 8 - Text Generation: Grammars

  • Tracery by Kate Compton
  • Context free grammars

Week 9 - Chrome Extensions

Week 10 - Building your own API in Node

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%)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.