Getting Started:

To start off right
  1. Get a CS account. Your projects must run in the CS Labs. If you need any technical support, you can contact UT ITS Help Desk.
  2. Get a GitHub education account as soon as possible. It must be an education account, which will entitle you to private repos. It can take several days to get this, and you must have it before you can turn in any projects.
  3. Sign into Canvas and confirm that you're registered for the course and can see your grades. It's imperative that you check your grades on a regular basis.
  4. Sign into Piazza. Post class questions to Piazza. Regarding a question of a personal nature e-mail us on Canvas.
  5. Get python3.5 installed on your machine. Installation instructions for Python for

    The CS network has:
    % python3.5 --version
    Python 3.5.2
  6. Get coverage installed on your machine.
    The CS network has:
    % coverage-3.5 --version, version 4.3.1 with C extension
    Documentation at
  7. Get git installed on your machine. The CS network has:
    % git --version
    git version 2.13.0
  8. Get pydoc3 installed on your machine. The CS network has:
    % ls -al /usr/bin/pydoc3
    lrwxrwxrwx 1 root root 8 Dec 16  2016 /usr/bin/pydoc3 -> pydoc3.5
To access UTCS machines
from a Windows machine

To access UTCS machines from a Windows machine, first you need to obtain a UTCS account.

Then, you can use WinSCP to communicate to a UTCS machine using your UTCS credentials.

Install WinSCP, run it and it will ask you for the following:
  • Host name:
    There are other UTCS machines that you can access: List of public UNIX hosts and their status
  • Port number: 22 (this is the default -- do not change it)
  • User name: yourUTCSusername
  • Password: yourUTCSpassword.

You may also need to install PuTTy

To start working remotely on the UTCS machine from your Windows machine, go to "commands" on the top left of the WinSCP screen and choose "open in PuTTY". It will ask you again to enter your CS password. If everything is alright, you will receive Linux prompt:
Using username "fares".'s password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-92-generic x86_64)

 * Documentation:
 * Management:
 * Support:
 * Report software problems to

Please note: this system is intended to serve the instructional,
research, and administrative needs of the students, faculty, and
staff of the UT Austin Department of Computer Sciences.  Any other
use of this system, including but not limited to using any method
to circumvent proper authentication or authorization, constitutes
unauthorized access and may subject the user to criminal prosecution
under Texas Computer Crime Statutes and other state or federal laws.

Last login: Tue Aug 22 10:06:48 2017 from

At this point, you are ready to type in Unix/Linux commands.

Warning: Transfering files from Windows machines to UTCS machines might cause some unexpected results when trying to execute the files. The reason for this is that Windows uses carriage return and line feed "\r\n" as a line ending but UNIX uses just line feed "\n". If you have the same issue here, try to run

for your python files after you transfer your files to a UTCS machine. Alternatively, you can push from your Windows machine to Github and pulll from the UTCS machine. Github may automatically handle this issue for you.

Machine setup
for Project #1 and #2

Projects must run in the CS Labs and on Travis CI.

If you decided to work on your Windows machine, just make sure after you finish your project that it can be built on a UTCS machine, which will be used for grading.

To setup your Windows machine, you have to do several things.
  1. Install git bash
  2. You can use it as a shell to run the project and to clone your repos from github.

    Note that after installation, try to open the shell. python might not be able to run. you need to type while in git bash the following: alias python="winpty python.exe" Then python should run.

  3. In order to have the "make" command working, you need to install MinGW
  4. After installing MinGW, check in c:\MinGW if you have the "msys" folder.
    If it is not there open MinGW > Installation > Update Catalog
    Then find msysbase (or something along that line) and check it, go back to installation and apply changes.

    Note that after installation you will have a folder on C:, namely c:\MinGW. You need to set the path in the system environment table to the "make" command. On my machine, the path is "C:\MinGW\msys\1.0\bin"

    • To access system environment variables:
      • Got to: Control panel > System > Advanced System settings > Advanced > Environment variables
      • Go to Path and add "C:\MinGW\msys\1.0\bin" or where ever the bin file is.
      • Then add the your python library and add it as well. The easiest way to find the library is to go to IDLE and open file location then find the Lib folder in the parent folder of where IDLE is.
  5. pydoc in Windows should be run as follows.
    • you should update the system environment path to include pydoc's location.
    • On my machine, the path is: "c:\python\lib"
    • pydoc is executed on my windows as follows:
      python -m pydoc -w Collatz
    Note that in some Windows versions, when adding a path to the path variable, there should be no space before or after the semicolon that separates the paths.
  6. If you need to install autopep8 and pylint, just type in the following
    % pip install autopep8
    % pip install pylint