CSC 226

CSC 226 logo

Software Design and Implementation

A0: Getting Started and Set-up

Assignment A0 should be completed individually. Ithas a few short components


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:

  1. 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.)
    Find which OS you have
    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.
  2. 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.
  3. 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:
    conda update
    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.
    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.
    conda update --all

    push: Enter
    conda list
    push: Enter
  4. If you are in Windows, you should see Anadonda in your program list, and Spyder will be in a submenu.
    Spyder menu
    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.


  1. Create a new folder entitled yourusername-A0, and put the following items into it:
    1. Download, change the filename, and complete yourusername-A0-info.docx which is designed to give the TAs and I some information about you.
    2. 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!
  2. 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.

Copyright 2016 | | Licensed under a Creative Commons Attribution-Share Alike 3.0 United States License