This is a introductory course to computers and general programming useful for linguists. Textbook No textbook is required. All reading material will be made available online Software
All software used in this class will be freely available.
|
Instructor: Sandiway Fong sandiway@arizona.edu
Office: Douglass 311 (send email for an appointment or
take a chance and drop by before/after class)
Location | C E Chavez Bldg, Rm 405 |
Time | Tuesdays/Thursdays 12:30PM - 1:45PM |
Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
---|---|---|---|---|---|
Powerpoint | |||||
8/22 | lecture1.pdf | lecture1.pptx | 25 | Administrivia and Introduction.
Computers and storage. Architecture and Machine Language. |
|
8/24 | lecture2.pdf | lecture2.pptx | 24 |
Binary and hexadecimal. Computer vs. Human Brain. Machine
Language. Parallelism and supercomputers. Integers and 2's
complement arithmetic. Binary Coded Decimal (BCD). Floating point
numbers.
Homework 1 |
|
8/29 | lecture3.pdf | lecture3.pptx | 26 | Viewer | Homework 1 review. Character representation: ASCII and
Unicode. HTML5 and Unicode.
pokemon.html / pokemon2.html / pokemon3.html |
8/31 | lecture4.pdf | lecture4.pptx | 42 | Viewer | Homework 2. Installing Ubuntu as a guest operating system on your
computer.
|
Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
---|---|---|---|---|---|
Powerpoint | |||||
9/5 | lecture5.pdf | lecture5.pptx | 18 | Viewer | Terminal commands. The Bash shell. Control-D, what it
means. Control-G, ringing the bell. bc calculator. Shell
variables. Shell commands. Directories and files. Shell arithmetic
using expr and ((...)). PS1 customization. .bashrc editing using
nano.
A first shell program using for-do-done. Terminal log: terminal5.txt |
9/7 | lecture6.pdf | lecture6.pptx | 18 | Viewer | cat command. Bash shell programming. Asking for Shell input using
read. chmod. if-then-else/elif-fi.
Homework 3: Bash shell exercises. Useful word commands: wc, tr, sort, and uniq. File: text.txt |
9/12 | lecture7.pdf | lecture7.pptx | 28 | Viewer | Homework 3 review. The spirit of Unix. tail. awk. termgraph: ASCII
graphics. A note on file permissions: chmod.
Slides updated: 1:50pm |
9/14 | lecture8.pdf | lecture8.pptx | 21 | Viewer | bc revisited: scale, obase, arbitrary
precision pi and e. Bash
command substitution: two ways. Positional parameters $n. If-test: [...]
and [[...]]]. Homework 4.
File: test.sh / test2.sh / test3.sh Terminal log: terminal8.txt |
9/19 | lecture9.pdf | lecture9.pptx | 18 | Viewer | Homework 4 Review.
Bash shell: suffix and prefix deletion, string maninpulation, loops, positional parameters and globbing. Example programs: line30.sh cmd.sh rmext.sh Terminal log: terminal9.txt |
9/21 | lecture10.pdf | lecture10.pptx | 28 | Viewer | Final lecture on bash.
Example exercises: (1) file deletion, (2) double-spacing, (3) non-blank lines only, and (4) find and sed. Example programs: rm.sh doublespace.sh doublespace2.sh nonblank.sh Terminal log: terminal10.txt |
9/26 | lecture11.pdf | lecture11.pptx | 30 | Viewer | Introduction to html5: html, css and javascript.
What is hypertext? Client-side vs. server-side. HTML tags. URL format. IMG. Embedded images using base64. Text element tags. Preformatted blocks. Turning on debugging in the browser: Safari, Google Chrome and Firefox. Ungraded Homework Exercise. Slides updated: 1:45pm |
9/28 | lecture12.pdf | lecture12.pptx | 18 | Viewer | More html tags.
X11 colors.
UTF-8 and the meta tag.
Introduction to CSS:
inline style.
Tabs.
Homework 5 Example html file used in class: test.html |
Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
---|---|---|---|---|---|
Powerpoint | |||||
10/3 | lecture13.pdf | lecture13.pptx | 25 | Viewer |
Javascript. Console in browser.
document.write(), document.getElementById().innerHTML. Tic-tac-toe example. Javascript variables, and numbers. Random number generation. File: sample.html File: sample2.html File: sample3.html |
10/5 | lecture14.pdf | lecture14.pptx | 26 | Viewer |
Javascript strings, operators, if-else, switch-case, for/while
loops.
Tic Tac Toe example contd. File: sample3.html File: sample4.html File: sample5.html File: sample6.html File: sample7.html Homework 6: making the game playable, step-by-step! Slides corrected: 1:42pm |
10/10 | lecture15.pdf | lecture15.pptx | 22 | Viewer |
Some notes on Homework 6: setTimeout().
Some Term Project Ideas. Forms and Javascript: File: inputtext.html File: inputcheckbox.html File: select.html File: radio.html Example: BMI Gauge animated display (using Javascript) File: bmi-gauge.html File: gaugeSVG.js |
10/14 | lecture16.pdf | lecture16.pptx | 22 | Viewer | Example: BMI Gauge animated display (using Javascript) contd.
File: bmi-gauge.html File: gaugeSVG.js Gage: File: counter.html Homework 7 |
10/17 | lecture17.pdf | lecture17.pptx | 44 | Viewer |
xkcd: simplewriter
Installing and configuring the Apache2 webserver on macOS and Ubuntu: start/stop service, DocumentRoot, and UserDir. IP lookup. IPv6 and IPv4. Geolocation. File: sample-index.html Terminal log: terminal17.txt |
10/19 | lecture18.pdf | lecture18.pptx | 26 | Viewer |
Homework 8
cgi-bin (Common Gateway Interface) setup on macOS and Ubuntu. An Example using HTML/Javascript: diskspace.cgi. Command: df
-g .
Use of awk to extract information from df .
File: test.cgi (Download linked file as...) File: diskspace.cgi (Download linked file as...) File: canvasjs.min.js (Javascript widget) Terminal log: terminal18.txt Slides corrected: 1:35pm |
10/24 | lecture19.pdf | lecture19.pptx | 29 | Viewer |
Running a cgi-bin program from inside your home directory.
Worked example: CMU pronouncing dictionary run in Perl. File: cmudict.cgi (Download linked file as...) Slides corrected for macOS setup: 11:15am Oct 26 |
10/26 | lecture20.pdf | lecture20.pptx | 32 | Viewer |
Get method and POST method for forms.
Worked example: adding and deleting names from a database. Files: cumdictform.html cmudict2.cgi form-post.html read.cgi addnames.html get2.cgi addnames3.html get3.cgi Terminal log: terminal20.txt |
10/31 | lecture21.pdf | lecture21.pptx | 31 | Viewer | Why Python? Examples of what you can do with Python + nltk
Python numbers. Homework 9: install Python 3. Terminal log: terminal21.txt Slides updated: 2:20pm |
Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
---|---|---|---|---|---|
Powerpoint | |||||
11/2 | lecture22.pdf | lecture22.pptx | 26 | Viewer | Homework 10: Install nltk and nltk data.
More on Python: range() and use in calculating compound interest. Type coercion: converting numbers and strings. Function def. yield and return. Formatted output, e.g. print('format string'.format()). Strings and lists: indexability and mutability. Command line arguments: sys.arg list. File: futval.py File: futval2.py File: futval3.py Terminal log: terminal22.txt |
11/7 | lecture23.pdf | lecture23.pptx | 20 | Viewer | Python and text. Exercises. for-loop and list
comprehension. Functions sum() and mean().
nltk.corpus.gutenberg.words(). nltk.FreqDist() and .plot(). set() Files: open(), .read(), .readline(), .readlines(). Slides corrected: 1:55pm Terminal log: terminal23.txt |
11/9 | lecture24.pdf | lecture24.pptx | 22 | Viewer | .word_tokenize(), .pos_tag().
Penn Treebank POS tagset. treebank.parsed_sents(), .draw(). .chunk.ne_chunk() .concordance(), .similar(), .common_contexts() Homework 11. Terminal log: terminal24.txt |
11/14 | lecture25.pdf | lecture25.pptx | 28 | Viewer |
def lex_diversity(), eval().
Importing your own corpus: an example using Project Gutenberg. text.findall(r"... pattern ...") String methods: word.startswith(string), word.endswith(string), word.istitle(). Terminal log: terminal25.txt |
11/16 | lecture26.pdf | lecture26.pptx | 19 | Viewer |
Solving an encoding mystery: Latin-1 vs. UFT8.
Sentence tokenization: nltk.sent_tokenize(string). Literary Style: Stream of consciousness and nltk. Mrs. Dalloway vs. Brown Fiction. matplotlib bar charting. |
11/21 | lecture27.pdf | lecture27.pptx | 32 | Viewer | Term Project. No more homework assignments.
Berkeley Neural Parser and Stanford Stanza on the famous buffalo sentence. CFG parsing of the buffalo sentence. nltk CFG: buffalo.txt |
11/23 | No class: Thanksgiving Break | ||||
11/28 | lecture28.pdf | lecture28.pptx | 19 | Viewer | Bigrams and Conditional Frequency Distributions.
nltk.ConditionalFreqDist() Generating random text. random.choice(). File: nwords.py File: oliver_twist0-53.txt Terminal log: terminal28.txt |
11/30 | lecture29.pdf | lecture29.pptx | 30 | Viewer | nltk.ConditionalFreqDist() and other corpora from nltk.
Brown corpus and modals per genre. Reuters news: reuters Presidental Inaugural addresses: inaugural and startswith america, citizen. Howard Taft's 1909 address. Universal Declaration of Human Rights: udhr and word length for Latin1 encoded languages. udhr and histogram of length of declaration in words. Wordlist corpus: unusual words in Emma. Stopword list. Male and female name lists. Names ending in 'a' and 'e' are female? Slides corrected: 1:30pmm |
Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
---|---|---|---|---|---|
Powerpoint | |||||
12/5 | lecture30.pdf | lecture30.pptx | 26 | Viewer | Reminder: Term Project writeup due end of week.
Stylometry: two approaches. 100 most frequent words, Who wrote Wuthering Heights? word length: mendenhall1887.pdf |