To my linguistics homepage

LING/C SC/PSYC 408/508
Computational Techniques for Linguists
Fall 2018

This is a introductory course to computers and programming for linguists.


No textbook is required. All reading material will be made available online.


Students will be expected to install virtualized Ubuntu (Linux) on their computers for programming use.

Instructor: Sandiway Fong
Office: Douglass 311


Location ECE 228 (Lecture)
Time Tuesdays/Thursday 3:30-4:45 pm


See lecture1 slides.

Lecture Notes

Available in Adobe PDF formats.


Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint
8/21 lecture1.pdf lecture1.pptx 19 Viewer Administrivia and Introduction. Computers and storage.
8/23 lecture2.pdf lecture2.pptx 17 Viewer Turing Machines. Machine Language. Instruction set extensions. On the representation of integers and floating point numbers.
8/28 lecture3.pdf lecture3.pptx Viewer Homework 1 on floating point numbers.
hw1.xlsx (Excel file)
On the representation of characters and strings. ASCII. Parity. UTF-8. File systems. EOL. EOT.
8/30 lecture4.pdf lecture4.pptx 24 Viewer Review of Homework 1. Homework 2: Install VirtualBox. Install Ubuntu as a guest operating system inside VirtualBox.


Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint
9/4 lecture5.pdf lecture5.pptx 20 Viewer A note on Windows 10 install of VirtualBox/Ubuntu. Ubuntu: Terminal, nano, which, env, dpkg, man, cat, more, less, expr, and echo.
9/6 lecture6.pdf lecture6.pptx 12 Viewer Shell programming contd. if, read, bash, sh (dash), bc, and source. Homework 3.
9/11 lecture7.pdf lecture7.pptx 14 Viewer Homework 3 review. Shell programming conbtd. select. for/while loops. Positional parameters. shift. Globbing. String manipulation. Examples of file and file extension renaming.
9/13 lecture8.pdf lecture8.pptx 22 Viewer Shell script writing practice.
Slides corrected: 4:51pm
9/18 lecture9.pdf lecture9.pptx 14 Viewer Quick Homework 4. awk: a pattern-matching language. printf format specifications.
File: surnames.txt (UTF-8)
9/20 lecture10.pdf lecture10.pptx 24 Viewer Quick Homework 4 review. awk and regular expressions (regex).
File: uanumbers.txt
Slides corrected: 5pm
9/25 lecture11.pdf lecture11.pptx 8 Viewer Recap on associative arrays. gawk and regex.
Slides updated: 5pm
9/27 lecture12.pdf lecture12.pptx 9 Viewer gawk and regex continued. gensub. Homework 5.
File: hw5data.txt


Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint
10/2 lecture13.pdf lecture13.pptx 21 Viewer (part 1)
Viewer (part 2)
Review of Homework 5.
Files: hw5data.txt / hw5q5data.txt / hw5q6data.txt
Sample webpage: sample.html
10/4 lecture14.pdf lecture14.pptx 17 Viewer Basic html. openssl for encoding in base64. Ungraded homework exercise.
Sample webpage: sample.html
10/9 lecture15.pdf lecture15.pptx 28 ViewerNo Panopto recorded! Debugging webpages. CSS. Javascript. DOM. document.getElementById().
Modified sample webpage: sample2.html
10/11 lecture16.pdf lecture16.pptx 19 Viewer Writing a Javascript program. Input field. Buttons. Homework 6.
Modified sample webpage: sample2.html
File: boxes.html
10/16 lecture17.pdf lecture17.pptx 17 Viewer Homework 6 review: a 2nd chance at Homework 6.
Javascript forms. BMI example in Javascript. BMI example using a SVG gauge.
File: 15test.html
File: 15test2.html
File: 15test3.html
File: bmi-js.html
File: bmi-gauge.html
File: gaugeSVG.js
10/18 lecture18.pdf lecture18.pptx 16 Viewer Regular expressions (regex) in javascript. str.match(re) and regex.exec(str). Regex replace in javascript. str.replace(re,replacement).
File: re-test.html
File: rep-test.html
10/23 No class.
10/25 lecture19.pdf lecture19.pptx 29 Viewer Milestone: setting up your own Apache2 webserver. Instructions for MacOS and Ubuntu. Quick Homework 7.
File: website.html
10/30 lecture20.pdf lecture20.pptx 23 Viewer (Partial: Panopto crashed) Configuring bash scripting on your own Apache2 webserver. Instructions for MacOS and Ubuntu. Quick Homework 8.
File: test.cgi
9:45pm: slides slightly updated


Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint
11/1 lecture21.pdf lecture21.pptx 20 Viewer Milestone: configuration for GET and POST methods for your own Apache2 webserver. Instructions for MacOS and Ubuntu. Homework 9. Example: adding names to a webserver file using bash.
html: form-get.html / form-post.html
cgi: get.cgi / read.cgi
Example files: html: addnames.html cgi: get2.cgi
Slides updated: 5:30pm
11/6 lecture22.pdf lecture22.pptx 23 Viewer Homework 9 review. Introduction to Python.
11/8 lecture23.pdf lecture23.pptx 7 Viewer Hands-on Python. Strings. Unicode. File I/O. .strip() method. Counting character, words, lines.
11/13 lecture24.pdf lecture24.pptx 17 Viewer Install and tcl/tk.
11/15 lecture25.pdf lecture25.pptx 21 Viewer Installing nltk and nltk_data. nltk.__path__,, .concordance(), .similar(), .common_contexts(), .count(), lexical diversity.
11/20 lecture26.pdf lecture26.pptx 58 Viewer / Viewer Loading your own corpus. Generating bigrams. Other statistics.
11/22 Thanksgiving Recess: no class.


Date Lecture Notes Number
of Slides
Panopto Topic
PDF Powerpoint

To my linguistics homepage
Last modified: Tue Nov 20 20:45:22 MST 2018