All Projects → shiffman → A2z F15

shiffman / A2z F15

Repository for ITP Fall 2015 Course

Programming Languages

javascript
184084 projects - #8 most used programming language

Programming from A to Z, Fall 2015

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

Mailing List

Week 1 - Intro

Week 2 -- Strings and DOM

Week 3 - Regular Expressions

  • Notes
  • Notes on callbacks in a loop
  • Homework Assignment: Regular Expression Exercise
  • Project 1 (due week 6): Use a text input source (user input, raw text file, API/data source) to generate an output presented back to the user in the browser. Possibilities include data visualization of text data, generative text maker, etc. We'll discuss details in class.
  • Review OOP in JS
  • Regular Expressions
    • meta-characters
      • position
      • single character
      • quantifiers
      • character classes
    • Regex in sublime text
    • Regex in JS: test(), search(), match(), exec()
    • Splitting with regex: split()
    • Replace with regex: replace()
    • randexp.js

Week 4 - Data/API Workshop

Week 5 - Text Analysis Workshop

  • Notes and examples
  • 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

Week 6 - Show text analysis projects

Week 7 - Text Generation: Markov chains

  • Using google sheets for text input
  • Object "prototypes"
  • ngrams and markov chains
  • Homework Assignment

Week 8 - Text Generation: Grammars

Week 9 - Twitter Bots

Week 10 - More Bots + 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%)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].