Prework and Expectations

Before the first day of class

We are going to jump right in so it is crucial that you invest time so that you are at the same level as your classmates and we can begin productive work right away. Here are the three important steps:

  1. Python Learn Python. All our programming will be done in Python. It is really important that you come to the first day of class with having written at least one 100 line Python program. Don’t take a shortcut, it’s important!

    If you don’t already know it you will find it pretty easy and fun to learn. You can find a tutorial or video online to learn Python. By the way if you are new to Python, you will hear about Python 2 and 3. They are more similar than different, so whichever you know or learn is fine. It’s hard to recommend one because there are so many. Here are two: Learn Python2 from CodeCademy and Python Tutorial from TutorialsPoint

  2. Linux: All programming and robotic software we will use in this class will run on Ubuntu Linux. Nothing else will work. So you need to learn Linux and the Linux shell. You need to be comfortable with all the basic commands, such as md, cd, rm, mv, ls, ln You should have a clear understanding of how the Linux directory structure, file specifications. You should also know your way around Linux, booting, shutdown, installing software, running a shell, etc.

    Here again there are numerous online resources to choose from. Depending on your learning style you will like one more than another. Also both Mac (Terminal.app) and Windows see How to install Linux Bash Shell on Windows 10. But even if you practice this way on Windows and Mac, you will have to dual boot your computer with the actual SSD that we will lend you.

  3. Ubuntu Install: You wil need to do all your work in Ubuntu Linux. This is not an option. You might think you saw that ROS works on Windows or Mac. This is not true!. You really should not try to avoid this requirements, I promise you that there will be trouble. Now this has always been a challenge.

    There are two possibilities and you need to choose which one seems to make sense for you:

    1. VMWare: To use VMWare, your computer must meet the minimum requirements as listed in Hardware and Software Configuration. If you have such a computer you can install VMWare on it to run Ubuntu in a virtual machine. Beware that this is a resource intensive configuration which will fail in weird ways for underpowered computers. If that is your situation then we have option 2.
    2. SSD: We will provide you a formatted SSD to boot from. Get it from Pito or one of the TAs and make sure it works. We have those prepared for you, and you can loan them for the semester for a $40 fully refundable deposit. They will give you the drive and show you how to boot your computer into Linux. This will be our common working environment for the course. It is important that you not change, delete, reinstall any software or files on the disk because if you do stuff will cease working!