-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Jason Stephens edited this page Sep 21, 2016
·
11 revisions
My notes wiki for shiffman's a2z-f16
javascript for text-based data
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.
- 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.
- Join ITP A2Z Google Group. This is for the ITP physical class only.
- Contact me for an invite to the online slack channel.
- Notes and Examples
- Git, Github, Github pages
- DOM manipulation in p5.js
- Strings in JS
- Text input (from user, from file)
- Client-side vs. Server-side programming
- Homework Assignment
- 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()
- Regex:
- Splitting with regex:
split()
- Replace with regex:
replace()
- randexp.js
- meta-characters
- Homework Assignment -- TBA
- APIs
- Working with google sheets
- Parse (doesn't exist anymore, something else?)
- Server side programming with Node
- Node data persistence
- html scraping
- How to make a Twitter bot
- Start working on Twitter Bot project
- 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
- Using google sheets for text input
- ngrams and markov chains
- Tracery by Kate Compton
- Context free grammars
- Moved to references wiki
- JavaScript: The Definitive Guide
- Eloquent JavaScript, Marijn Haverbeke
- Beginning JavaScript, Paul Wilton and Jeremy McPeak
- CodeAcademy: JavaScript
- How to learn JavaScript properly
- JavaScript the right way
- Code School
- JavaScript garden
- A re-introduction to JS by Mozilla
- JavaScript 101 from JQuery
- Checking code: JSLint / JSHint
- Browser debugging: Chrome Developer Tools (tutorial) / Firebug (tutorial)
- Mobile debugging jsconsole.com
- Sharing code snippets (useful for asking questions): gist.github.com
- 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%)