|
This is a introductory course to computers and general programming useful for linguists (and non-engineers). No background is assumed. Taught from the ground up with historical context, which will help to de-mystify many things, by a computer scientist who also thinks like a linguist, you will develop an understanding of why things are the way they are (spoiler: sometimes for backwards compatibility with things that have long disappeared from relevance, sometimes entirely by accident). Topics include the useful fundamentals of Linux, the Terminal (Shell usage and programming), Python with NLTK (Natural Language Toolkit) and matplotlib (for charts/graphs), the dot language (for networks) and web technologies such as HTML, CSS, Javascript and Apache2. In addition to homework exercises, a simple term project incorporating some technology introduced from the class is required. Students are encouraged to create a deliverable that incorporate material/data that they are interested in, e.g. for their graduate research, hobbies or other interests. New! for this semester, we will discuss how to incorporate and leverage ChatGPT's ability (in the free version, without the Code Interpreter) to help rough out Python code. Examples:
Textbook and Software No textbook, no purchase of AI tokens is required. All reading material will be made available online. All software used in this class will be freely available. Software Students will be expected to have their own laptops and have administrator permissions to install apps for use. |
Instructor: Sandiway Fong sandiway@arizona.edu
Office: Douglass 308 (send email for an appointment or
take a chance and drop by before/after class)
| Location | Douglass, Rm 216 |
| Time | Tuesdays/Thursdays 2:00PM - 3:15PM (NOTE: new time!) |
Available in Adobe PDF and Microsoft Powerpoint .pptx formats.
Lectures will be recorded using Panopto.
Preview! 1st lecture below.
| Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
|---|---|---|---|---|---|
| Powerpoint | |||||
| 8/25 | lecture1.pdf | lecture1.pptx | 24 | Viewer | Administrivia (Syllabus) and Introduction:
Natural Language processing tools: SMT parser, Google n-grams, and the Natural Language Toolkit (NLTK). The fundamental nature of computation: the Turing Machine, Busy Beavers example. |
| 8/27 | lecture2.pdf | lecture2.pptx | 27 | Viewer |
Two kinds of computer language.
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 postponed until next time. |
| Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
|---|---|---|---|---|---|
| Powerpoint | |||||
| 9/1 | lecture3.pdf | lecture3.pptx | 31 | Part 1: Viewer Part 2: Viewer | Binary numbers contd. Homework 1.
Character representation: ASCII and Unicode. HTML5 and Unicode. |
9/4 | lecture4.pdf | lecture4.pptx | 24 | Viewer |
Homework 1 review. Python len() and sys.maxsize.
Character representation contd.: HTML5 and Unicode. Homework 2. Installing Ubuntu as a guest operating system on your Windows 11 machine. Recommend installing Microsoft's Windows Sub-system for Linux 2 (WSL2). Navigating around the hierarchical file system: pwd, cd, ~, .., . Text editor: nano. sudo prefix, rm Checking the Ubuntu version, Tk graphics with Python, and Pip (package manager). pokemon.html / pokemon2.html / pokemon3.html |
| Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
|---|---|---|---|---|---|
| Powerpoint | |||||
| 9/9 | lecture5.pdf | lecture5.pptx | 18 | Viewer |
Terminal commands. The Bash shell.
Control-D, what it means. Control-G, ringing the bell. The bc calculator. Shell variables. Shell commands. Directories and files. Shell arithmetic using expr and ((...)). PS1 prompt customization. .bashrc editing using nano. Terminal log: terminal5.txt |
| Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
|---|---|---|---|---|---|
| Powerpoint | |||||
| Date | Lecture Notes | Number of Slides |
Panopto | Topic | |
|---|---|---|---|---|---|
| Powerpoint | |||||