Tuesdays and Thursdays 9:30-10:50 AM, Literatures, Cultures, and Linguistics Building (LCLB), Room G20
William, E. and Shotts, Jr., The Linux Command Line: A Complete Introduction
This book is available for free in PDF format directly from the author under a Creative Commons license. If you want a paper, mobi, or epub copy, you can purchase this textbook in both paper and electronic formats directly from the publisher.
Ramey, C. and Fox, B., Bash Reference Manual
This book is the authoritative reference manual for Bash. It is available for free in PDF format and other formats. While the William and Shotts textbook will be our main source of assigned readings on the command line, this reference manual should be the first place you look when you need to look something up about Bash.
Guido van Rossum, et al. The Python Tutorial and The Python Language Reference
This is the authoritative tutorial and reference manual for Python. They are readily available on the official Python website. The offline version of the reference manual can be downloaded for free in various formats such as PDF, HTML and epub.
Elkner et al., How to Think Like a Computer Scientist
A good starter book for first-time Python learners. It touches the ground and is easy to follow. Download for free.
Bird, S., Klein, E. and Loper, E., Natural Language Processing with Python
While the 1st edition of this textbook is available for purchase, this class will use the online version.
Chacon, S. and Straub, B., Pro Git, Second Edition, Apress, 2014.
As a quick reference for the use of git, this book covers most of the hands-on commands for common operations on Git. The book in multiple formats is available to download for free.
Students are expected to have their own computers for exercises and assignments. Internet connection is also essential for connecting to the on-campus server and downloading lab exercises and homework assignments.
Note that if you have trouble accessing a computer and/or internet on a demand basis in order to study this course, please contact the instructor as early as possible. They will work with the department, trying their best to accommodate and solve the issue.
Programming languages taught in this course include GNU bash of version 5.1 on Ubuntu 22 and Python of version 3.11.9
All students will have an account to access the on-campus server (the “cl” server) running Linux. This allows students to carry on practice on bash command line tools anytime online. For Mac users, bash command line tools are already installed as a part of your operating system. However, occasionally the same command may differ in the flags it takes and in the outputs it produces on Ubuntu and Mac, due to the different versions. For Windows 10 users, a Linux environment can be installed using the Windows Subsystem for Linux (WSL). Official instructions for doing so can be found here. Regardless of which system an exercise or homework is completed, it must also be tested on the on-campus server (i.e. the “cl” server) – all the assignments will be graded based on their outputs running on the on-campus server.
Students are responsible for installing the programming environment on their own computers. It is recommended that Python and relevant modules be installed via Anaconda Distribution.
Git software and GitHub account for assignment deployment and submission
Git is a version control system that records changes to a file or set of files over time. For Mac users, the git software is built in the macOS, so nothing needs to be done. For Windows users, the binary installer can be downloaded from Git. While both 32- and 64-bit versions are available for downloading, Windows systems of contemporary versions should fully support the latter.
Students are required to register a free GitHub account at https://github.com, where exercises and assignments will be submitted for grading during the course.
All Github repositories associated with assignments in this course will be stored on the course Github account until the same course is offered again next year, by when all the repositories from the previous year will be deleted. Therefore, if needed, it is students’ responsibility for keeping a copy of their own repositories before they are removed.
If any student runs into trouble when setting up the software environment on their own machines, please reach out to the instructor and TA for help. A part of the lecture and the lab session of the first week will be devoted to making sure all essential software is installed and running.
Students will be assessed on the extent to which they have attained the learning goals and outcomes. This assessment will be primarily hands-on, assessed through a combination of daily practice, lab exercises, and homework assignments.
Grades are assessed on a 100-point scale:
The final letter grade for this course will be converted from the numeric grade using the following table:
Numerical grade | Letter grade | |
---|---|---|
98.00 - 100.00 | A+ | |
92.00 - 97.99 | A | |
90.00 - 91.99 | A- | |
88.00 - 89.99 | B+ | |
82.00 - 87.99 | B | |
80.00 - 81.99 | B- | |
78.00 - 79.99 | C+ | |
72.00 - 77.99 | C | |
70.00 - 71.99 | C- | |
68.00 - 69.99 | D+ | |
62.00 - 67.99 | D | |
60.00 - 61.99 | D- | |
< 60.00 | F |
If a student has a disability or condition that requires special consideration and accommodation, the student is expected to inform the instructor and the TA by email no later than the beginning of the fourth week. The message in the email should:
To contact DRES students may visit 1207 S. Oak St., Champaign, call 333-4603 (V/TTY), or email disability@illinois.edu.
This course follows the University of Illinois Student Code regarding Academic Integrity. The College of Liberal Arts and Sciences also has an excellent web page on the topic. You are expected to read these resources prior to the second day of class, and to understand your responsibilities with regard to Academic Integrity.
Students’ Quick Reference Guide to Academic Integrity states that it is students’ “responsibility to refrain from infractions of academic integrity, from conduct that may lead to suspicion of such infractions, and from conduct that aids others in such infractions. “I did not know” is not an excuse.”
All work submitted for this class must be solely each student’s own. Violations of Academic Integrity include, but are not limited to, copying (from e.g. peer classmates, online sources, and AI tools), cheating, and unapproved collaboration. There is zero tolerance for any form of violation. Any violation of academic integrity, even unintentional, may result in penalties as stated in the Student Code and the course syllabus.
Should an incident occur in which a student is believed to have violated academic integrity, the instructor(s) will initiate the procedures outlined in the Illinois Academic Integrity Policy via Faculty Academic Integrity Reporting (FAIR), the system for reporting academic integrity allegations and violations.
If a student will be absent from class for any reason, the student is expected to inform the course instructor and the TA ahead of time should the student wish to receive penalty-free credit:
No penalty-free credit will be granted if the procedure is not strictly followed. However, penalty-free credits for excused absence can be no more than 30% of the total attendance credits presented above. Once penalty-free credits reach the limit, no more credit will be granted for any form of absence.
In-class exercises during a lab session must be turned in by 23:59:59 the first Friday after the lab session takes place. A homework assignment is normally due by 23:59:59 the first Sunday after it is announced. Occasionally, one home assignment may be given two weeks to complete. In that case, the deadline will be on the second Sunday. Lab exercises and homework assignments turned in late will be docked 15 percentage points per day late.
Reference solutions for lab exercises and homework assignments will be presented after the deadlines. The solutions will typically be discussed during the class on the Thursday after an assignment is due. Under no circumstances will late work be accepted after the solution has been presented to the class.
In order to accommodate extraordinary events, such as illness, students will be allotted a budget of four (4) penalty-free late days for which no late penalty will be assessed for lab exercises or homework assignments. Penalty-free late days are intended to accommodate unforeseeable extraordinary events, not poor planning or poor time management.
If a student wishes to make use of a penalty-free late day, the student must do all of the following prior to the current assignment deadline:
Only when all of these steps have been taken prior to the deadline will a penalty-free late day be applied. If a student wishes to make use of more than one penalty-free late day per assignment, all of the above steps must be performed separately for each penalty-free late day.
For unforeseeable matters (e.g. emergencies), the student should still notify the instructors afterwards about any reasons that caused the delay, as well as the intention to use penalty-free late day(s).
Penalty-free late days cannot be used to extend any deadline beyond the last regular day of class in the semester, nor be used to turn in work after the solution has been presented to the students.
The effectiveness of this course is dependent upon the creation of an encouraging and safe classroom environment. Exclusionary, offensive or hateful speech (such as racism, sexism, homophobia, transphobia, etc.) will not be tolerated and in some cases subject to University harassment procedures. Both instructors and students all responsible for creating a positive and safe environment that allows all students equal respect and comfort. Everyone is, therefore, expected to help establish and maintain an environment where everyone can contribute without fear of ridicule, intolerance, or offensive language and behaviour.