Course Policies


From time to time, I will make announcements regarding the course materials, structure (such as assignment due dates, changes, or corrections), etc., either in lecture or via TRACS announcements. You are responsible for these announcements. Make sure that you check TRACS regularly, or have TRACS announcements delivered to your e-mail (and check that).

Recording and Sharing of Course Materials

You may make audio or video recording of my lectures for your own personal study, and you may share such recordings with your classmates in this offering of the course. You may not make such recordings publicly available, or share them with other students not in the course this term, without my prior written consent.

After each lecture, I will make the following available on TRACS or the course web site:

  • My lecture notes
  • Lecture slides, if I used any
  • Example code and data sets

You may download and use these, and retain copies after the course has completed, for your own personal use and study. Please do not share or reproduce them without asking me first, unless they are clearly labeled for redistribution (e.g. example code bearing an open source license).

Late Work

Late work for this class handled on the basis of late days. These are intended to accommodate most ordinary needs for extensions or late submissions.

Each student has 3 late days that they can apply to the solo assignments, and each team has three late days that they can apply to their projects. Each late day extends the deadline by 24 hours; late days can be combined on a single submission, so you can turn it in 2 days late by using 2 late days. You do not need approval in advance to use late days, but do need to state in your submission's README file how many days you are using.

With the exception of the late days, no late work will be accepted. You must take quizzes at their scheduled times.

Exceptions to this policy will only be granted in extreme circumstances. Any requests for individual exceptions must be submitted by e-mail so that I have a record of the request and my response.

Cheating and Academic Integrity

As both a programmer and a student, you are expected to do your own work, attribute sources, and respect the legal and moral rights of others with respect to their work; as a student, you are also required to abide by the University Honor Code. While I aim to allow you to make reasonable use of resources, cheating (including copying code, using unauthorized resources during quizzes, etc.) will not be tolerated. If you are found to be cheating, the penalty may range from an F on the assignment to an F on the course, and will also be reported to the university.

External Resources

You may consult external resources such as other books and web sites for understanding how to complete assignments or projects. In in the README file accompanying each assignment or project, list any external resources you used; if they are available online, provide the URL. You do not need to cite any of the textbooks or the official documentation for the software we are using; in general, pages listed on the course web site's ‘Resources’ section can be used without citation.

Besides the course forums on TRACS, you may ask questions related to completing the project on publicly accessible discussion forums such as Stack Overflow or publicly-archived mailing lists. Provide URLs to the forum discussion on the relevant web site or archive (Google Groups works well for newsgroup archives) with your project deliverable submission. Sites that require payment or registration in order to view results do not qualify as ‘publicly accessible’.

Restrict your questions to questions about how to go about a particular sub-portion of the problem, how something works, why something you are trying doesn’t work, or other specific difficulties. Do not ask “how do I solve <the problem description>?”, or similarly direct translations of the project requirements, or for specific code. Questions should be written to fill in a gap in your understanding that will then enable you to continue your work, not to get a solution to the assignment.


You are expected to behave in a civil, respectful manner in all class interactions, both in official meetings such as lectures and out-of-classroom activities such as project group meetings and study sessions, and to contribute to a constructive learning environment.

Texas State policy (PPS 4.02) describes general behaviors that are disruptive. In addition, the Hacker School Social Rules are a good source of guidance on how to maintain a constructive and educational environment.

If you experience or witness harassment of any form, please let me know.

Disability Accommodations

If you need particular accommodations to be able to fully participate in this course, please talk with me as soon as possible. I may ask that you provide documentation from the Office of Disability Services, so if you have such documentation please bring it.