- Course Description
- Course Objectives
- Learning Outcomes
- Required Software and Equipment
- Getting a Copy of Code Discussed in Class
- Activities, Evaluation and Assignments
- Detailed Schedule
- Late Work and Attendance
- Statement on Academic Offences
- Support Services
- Useful Links
- Bill Turkel, firstname.lastname@example.org, Lawson Hall 2267, Office Hours: Fridays 1:30-2:30pm or by appointment
- Daniel Verona Cordero (TA), email@example.com, Arts & Humanities 1R14 (CulturePlex Lab), Office Hours: Tuesdays 3:30-4:30
- Yadira Lizama (TA), firstname.lastname@example.org, Arts & Humanities 1R14 (CulturePlex Lab), Office Hours: Mondays 1:00-2:00
- Ana Gabriela Ruiz Segarra (TA), email@example.com, Arts & Humanities 1R14 (CulturePlex Lab), Office Hours: Thursdays 11:00-12:00
This is a first course in programming, intended for students of all backgrounds. No prior experience is necessary. We will be using the Mathematica language from Wolfram Research (also known as “the Wolfram Language”). It is a great choice for working with all of the kinds of sources that digital humanists typically care about: images, text, data, code, computer graphics, visualizations, video, electronics, sound and music. Furthermore, Mathematica allows you to integrate all of these kinds of sources into powerful and interactive notebooks.
The main idea of the course is that programming can be a way of exploring the kinds of questions that humanists and artists have always been interested in: what is true? what is beautiful? how can we be sure of what we know? what does it mean to be human? what does it mean to be alive? Computer programs can also provide humanists, artists and social scientists with ways of communicating with one another. Plus, it is a lot of fun!
- Use programming as a means of expression and a way of communicating with other people
- Explore humanistic topics using the medium of code
- Explore the relevance of basic computational ideas to the arts and humanities
- Learn about designing real-time, interactive applications
- Gain experience with programming in a multi-paradigm language
- Develop systems for real-time interaction using a variety of artistic media
To get the most out of this course, you will need a Windows, Mac or Linux laptop, which you should bring to every class.
You are advised to purchase a student desktop license for Wolfram Research′s Mathematica software (also known as the Wolfram Language). A one-semester license is $50 and a 12-month license costs $75. For this course you only need a license for the semester, but a permanent academic license is also available for $150 if you would like to continue to program in Mathematica in the future. The software is available for Windows, Mac and Linux computers. If you are unwilling or unable to purchase the software, please do not take this course.
Before each day’s class, I will post a download link to a Mathematica notebook on this webpage. Make sure that you have downloaded a copy to your own computer before class.
There is one 3-hour session per week. For the first part of each class, I will explain and demonstrate the use of particular programming constructs using notebooks that I supply. For the second part, you will practice programming in class and the TA(s) and I will go around and answer questions and provide assistance. Beginning in the second week, at the end of each class you will upload a copy of your day’s notebook to the OWL Site. You have one week to submit each notebook in order to receive a grade for it. If you fail to submit a notebook within that period, you will receive zero for that day’s work. In addition to the in-class work, your grade will also be based on two assignments and two exams. You will not be permitted to use any electronic devices during the examinations.
- In-class hands-on work (20%)
- Two programming assignments (15% each, total 30%)
- In-class mid-term examination (20%)
- Final examination (30%)
For each class, readings will be assigned from an online textbook: Stephen Wolfram, An Elementary Introduction to the Wolfram Language. After you do the readings for each week, make sure to do the exercises. This way you will be sure you have learned the commands from that lesson. There are answers to all of the exercises on this page.
The OWL Site for the course will only be used to submit coursework and assignments. All other course material will be available on this webpage.
More information will be posted in advance of each class.
- Fri 06 Jan – Introduction to the course. Mathematica notebooks. Install Mathematica (you must have it running before next class). In class activity: Get Started (using Wolfram Programming Lab). Readings: Wolfram, Elementary Introduction, “What is the Wolfram Language?” and “Practicalities of Using the Wolfram Language“
- Fri 13 Jan – Notebook 01: The Graphics Command and Absolute and Relative Coordinates. Readings: Wolfram, Elementary Introduction, “01: Starting Out” and “02: Introducing Functions“. ASSIGNMENT 1 handed out.
- Fri 20 Jan – Notebook 02: Tables, Randomness and Polygons. Readings: Wolfram, Elementary Introduction, “03: First Look at Lists” and “04: Displaying Lists“
- Fri 27 Jan – Notebook 03: Transforming Graphics and Drawing Curves. Readings: Wolfram, Elementary Introduction, “05: Operations on Lists” and “06: Making Tables“
- Fri 03 Feb – Notebook 04: Colour. Readings: Wolfram, Elementary Introduction, “07: Colors and Styles” and “08: Basic Graphic Objects“.
ASSIGNMENT 1 DUE.
- Fri 10 Feb – Notebook 05: The Manipulate Command and Conditional Expressions. Readings: Wolfram, Elementary Introduction, “09: Interactive Manipulation“. ASSIGNMENT 2 handed out.
- Fri 17 Feb – IN CLASS MIDTERM EXAM
- Fri 24 Feb – NO CLASS – READING WEEK
- Fri 03 Mar – Notebook 06: Raster Graphics and Images. Readings: Wolfram, Elementary Introduction, “10: Images” and “13: Arrays, or Lists of Lists“
- Fri 10 Mar – Notebook 07: Map, Partition and Turtle Graphics. Readings: Wolfram, Elementary Introduction, “14: Coordinates and Graphics“
- Fri 17 Mar – Notebook 08: Directing
ASSIGNMENT 2 DUE
- Fri 24 Mar – Notebook 09: Text and String Processing. Readings: Wolfram, Elementary Introduction, “11: Strings and Text“
- Fri 31 Mar – Notebook 10: Sound and Music. Readings: Wolfram, Elementary Introduction, “12: Sound“
- Fri 7 Apr – FINAL EXAM REVIEW
Participation in the in-class activities is a key component of this course. I expect you to attend every session and participate in the day’s activities. This means not only submitting your notebook for the day, but also asking and answering questions in class.
In general, I don’t like to penalize late work. Each notebook and assignment will have a suggested due date and, a week later, a zero date. If you hand in your notebook or assignment before the zero date, you will receive full credit for your work. After the zero date, it will be worth nothing.
If you are unable to meet a course requirement due to illness or other serious circumstances, you must provide valid medical or other supporting documentation to the Dean’s office as soon as possible and contact me immediately.
Regarding absence for medical illness, see the Policy on Accommodation for Medical Illness:
Approval from the Dean’s Office is required for non-medical absences from examinations.
Scholastic offences are taken seriously and students are directed to read the appropriate policy, specifically, the definition of what constitutes a Scholastic Offence, at the following Web site:
Students who are in emotional/mental distress should refer to Mental Health@Western
for a complete list of options about how to obtain help.