Project 2: Set Up Your Environment

Objective

Install the necessary software, programming dependencies and your git repository.

Requirements

Download and install WEKA. Make sure you can run it (try the IRIS dataset).

Download and install Knime. Make sure you can run it.

Be sure you are prepared to program with your favorite programming language. I recommend Java, Python or Ruby; but it is entirely up to you.

Create your repository

Every intelligent developer uses some flavor of source control. Mercurial (Hg) and git are probably the two most popular ones; we will use git, because of the power github affords us. Although there is a lot to git, you really only need to know a few commands. This assignment is designed to introduce you to git and give you the time to read a few git tutorials online (start with help.github.com).

Download and install git on your workstation. Verify your installation by typing git at the command line. (Ubuntu users, use apt-get to install git-core, then git. Windows users, use msysgit and when installing, choose gitbash and unix-style endings.).

Next, configure git so that it can add your full name to the commit log:

git config --global user.name "Tiger Woods"
git config --global user.email "performancedeliveredindeed@accenture.com"

Create a directory on your local workstation called csci568. Next, create a subdirectory of csci568 called src. This src directory will become your dedicated repository for our projects.

At this point your directory structure should look like this:

[DIR_OF_YOUR_CHOICE]/
  cs568/
    src/

Now create your repository:

cd csci568/src
git init
touch README
git add README
git commit -m 'first commit'

You should now have a repository in src. Edit the README file (add your full name and a one line description of what this repository is). Add your change and commit it.

git add README
git commit -m "Adding initial README file."

Now your change is committed... but you need to push your changes to the remote repository on github so I can see it.

In order to communicate with github, you will need an ssh key and you will need to add the public key to your github account. See these docs on github for guidance. You'll know things are correct when you can ssh -T git@github.com and see a greeting from github. Be sure you're pasting your public key correctly, this is the number one cause of issues during this step (windows users, beware when copying from notepad. See this screenshot.). Post on piazza if you get stuck.

Using the Web interface of github, create a new public repository called csci568. Note the repository URL.

From your shell, navigate to your repository root (csci568/src) and execute the folloing:

git remote add origin git@github.com:YOUR_USERNAME/csci568.git
git push -u origin master

If successful, you should see something like the following on your screen:

Counting objects: 5, done.
Delta compression using 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 6.28 KiB, done.
Total 15 (delta 1), reused 0 (delta 0)
To git@github.com:ybakos/cs568.git
2e22aea..7fbdad6 master -> master

You should also be able to visit http://github.com/YOU/YOUR_REPOSITORY and see your repository there. NOTE: On rare occasions, you might not, depending on how heavily loaded github is. As long as you see the above output on your console, your changes were pushed correctly.

Add the portfolio template to your repo

I've provided a template for your data mining portfolio, and you should add it to your repository. First, download the portfolio template and extract its contents into your src/portfolio directory. When you are finished, your directory structure should look like this:

[DIR_OF_YOUR_CHOICE]/
  cs568/
    src/
      portfolio/
        css/
        index.html
        example.html

Now commit and push the portfolio files:

git add portfolio
git commit -m "Adding portfolio template. Wheeee!"

I've set up an example repository on github for you to compare yours to (ignore the ci and procesing directories I have).

After you have created your repository, create a post on Piazza that contains the url for your repository remote on github (eg: http://github.com/ybakos/monkies or git:github.com/ybakos/monkies.git).

Grading Criteria (100 points)

You must create a Piazza message according to the instructions above by midnight, Monday, September 5.

Due Date

This assignment is due by midnight on Monday, September 5.