Software Design and Implementation
A0: Getting Started and Set-up
Assignment A0 should be completed individually. It has a few short componentsSet-up
One of the benefits of Python is the many wonderful and powerful libraries. Some of our upper-level courses make use of multiple libraries each of which may have dependencies on other libraries. Getting all of these to work together can be frustrating as the many posts in Stackoverflow demonstrate. The Package Dependency Blues post is an excellent window into these problems from the point of view of a developer. So, we could take the old school approach and install all of these and fight with the mysterious error messages, but then when we needed another package, we would do it all again. And, this can often take day... or even longer. But, there is a better way! Package managers take care of keeping track of the interdependencies of such packages. Our chosen package manager is called Miniconda.
According to Wikipedia, an integrated development environment (IDE)
is "a software application that provides comprehensive facilities to
computer programmers for software development." What does this mean?
It basically means it is a software tool which assists in the
writing, editing, debugging, and running of code. The IDE we will
use is called Spyder.
Here is how we will get started:
- First, determine what operating system you are using. If you are
in a Windows environment, right-click on Computer which can be
found under your Windows menu. Go to Properties to determine your
system type (64 or 32 bit operating system.)
If you are running Linux, go to a terminal and type "uname -a". If you are on a Mac, there is only a version for 64 bits. - Go to Miniconda and choose the appropriate Python 2.7 version for your system type. Note: Do NOTget the Python 3.5 version--get the 2.7 version. There are significant differences, and we will use 2.7. Download and install. This download is large, so being hooked up to an Ethernet cable will be 3-10 times faster, but WiFi will work if you are patient.
- Next we need to install our integrated development environment
(IDE). I recommend Spyder which I will be using for demos. Please
install it and try it--if you want to change to something else
later, no problem--I am familiar with many of them, and I think
Spyder rocks.
If you are on Windows, you will be doing the following. From the Windows use Run to type cmd to get the Windows command line, and in the cmd line:
type:
conda update conda
push: Enter and then just wait. It may seem not be be doing anything, but it is. Breathe, go get a coffee and you should see a response.
type:
conda install spyder
push: Enter. It should ask if you want to do an installation.
If you get a question about whether to install, push: y and then wait. It could take some time. It will install a lot of libraries and components. At times it may appear to hang, but have faith that it is working. Go get a cookie.. or two... or three. Don't panic... just wait. It should finish in under 15 minutes.
type:
conda update --all
push: Enter
type:
conda list
push: Enter - If you are in Windows, you should see Anadonda in your program
list, and Spyder will be in a submenu.
Congratulate yourself for having worked successfully in the command line environment! In our next class, we will work with Spyder in order to begin learning Python.
Info
- Create a new folder entitled yourusername-A0, and put the following items into it:
- Download, change the filename, and complete yourusername-A0-info.docx which is designed to give the TAs and I some information about you.
- There are a lot of you, and we want to learn your names quickly. Please choose a photo of yourself and name the photo file yourusername-A0-photo.jpg. Please be sure we can see you in the picture!
- Be sure the folder is entitled yourusername-A0. After making all of the changes to the files, zip the folder containing the changed files, and upload to Moodle
Note that submitted files with incorrect filenames may not receive full credit because it makes grading more difficult for us and the TAs, so please check filenames carefully!
Our first quiz will be on both the above and on the course syllabus, so in addition to the above, be sure to read the course syllabus in preparation for our first quiz which will take place at the beginning of our next class on Friday.