• Bill Turkel,, Lawson Hall 2267, Office Hours: Fridays 1:30-2:30pm or by appointment
  • Daniel Verona Cordero (TA),, Arts & Humanities 1R14 (CulturePlex Lab), Office Hours: Tuesdays 3:30-4:30
  • Yadira Lizama (TA),, Arts & Humanities 1R14 (CulturePlex Lab), Office Hours: Mondays 1:00-2:00
  • Ana Gabriela Ruiz Segarra (TA),, Arts & Humanities 1R14 (CulturePlex Lab), Office Hours: Thursdays 11:00-12:00

Course Description

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!

Course Objectives

  • 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

Learning Outcomes

  • Gain experience with programming in a multi-paradigm language
  • Develop systems for real-time interaction using a variety of artistic media

Required Software and Equipment

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.

Getting a Copy of Code Discussed in Class

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.

In-class Activities, Evaluation and Assignments

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%)

Online Textbook

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.

OWL Site

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.

Detailed Schedule

More information will be posted in advance of each class.

Late Work and Attendance

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.

Statement on Academic Offences

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:

Support Services

Students who are in emotional/mental distress should refer to Mental Health@Western

for a complete list of options about how to obtain help.