This box searches only this space. The box at the upper right searches the entire iPlant wiki.

Skip to end of metadata
Go to start of metadata

Learning Outcomes

  • Good Enough Practices in Scientific Computing
  • Soft skills about working as a team are just as important as the technical skills
  • Project organization

Good Enough Practices in Scientific Computing

Remember to finish Homework 1:

Read this paper:

  • Refer to Box 1.  Choose one subitem under each of the following:
    • Data management
    • Software
    • Collaboration
    • Project organization
    • Keeping track of changes
    And briefly describe why the subitem is important
    • Example:  Collaboration - Decide on communication strategies.  Most projects have more than one person involved.  Since people are often working asynchronously, it is important that there are several ways they can communicate, depending on the requirements of the discussion and the timeliness of the response.  It is important for the team to decided how to communicate so that messages aren't missed.  Common examples that are frequently used today would be Slack for most back-and-forth questions and discussion, phone calls for an in-depth conversation, and github issues for tracking and commenting on software bugs, enhancements, and other requests.
  • Refer to Box 3, using any project you have done in the past (for a class, research or fun, or make one up) apply recommendations from Box 3 to it and:
    • Create this or a similar directory structure with mock-files on the command-line. 
    • Take a screenshot to turn in on your wiki page.
    • Choose a real software license and describe why you chose it
    • Create the README file for you project and take a screen shot of its contents and describe why this is an important file to have with such projects
  • Create a subpage under this page for your homework and name it "HW2 - <your name>"


  • No labels


  1. If you have a question about the assignment – feel free to post it as a comment.

  2. what will each file contain? for example, the citation file that we create do we need to put  anything  inside  this file or just empty file?   

  3. Empty files are fine (you need to take a screenshot of the directory structure), but the homework requests that you choose a software license and describe why you chose it.  For the readme, copy and paste the content (or take screenshot) into your homework.

  4. thanks Dr Lyons for your explanation. 

    I did the following  


    1. Perfect (except it should be based on your own project and not a copy of the project in the paper).

  5. I was wondering how to start HW2. I am extremely new to command line and want some input. I have the information required to finish the homework, I simply lack the means of creating a program/project that looks similar to the picture above. I have viewed the workshop posted in CyVerse as well as done some research, but I am still have trouble. Any and all help would be appreciated it. I guess a good question to ask is: Is command prompt a tool I could use to finish this homework? If so, is it the only tool? If so, how can I start creating a directory? I appreciate any and all help that can be given. 


    1. Hi Jennen.  Yes – you will need to use the linux/unix command line to do this assignment.  If you join the workshop today, there will be time to do this in class.  

      1. Also – let me know where you are having trouble.  Getting a command line prompt for some OS?  How to make directories and navigate the linux command line?

  6. I have created my directory, but I do not know how to print the entire tree. Would you suggest downloading this "tree package"? I have tried downloading it, but I get an invalid command.

    1. For anyone with Mac OS, I would suggest going to Homebrew website, it is very beginner friendly, and install, (you must know your computer's password or have admin access, I think that was my problem), once that is installed in your terminal, you can install a tree command and it will give you what you are looking for (links below). (Also you do not have to add another $ if your computer automatically puts one before the prompt, took me a few minutes to figure out.)

       Homebrew Download

      tree command setup with Homebrew

  7. In case anyone wonders why some files are capitalized in software distributions:


    README file contains information about other files in a directory or archive of computer software. A form of documentation, it is usually a simple plain text file called READ.MEREADME.TXT,[1] a text file using markdown markup), README.1ST – or simply README.

    The file's name is generally written in uppercase letters. On Unix-like systems in particular this makes it easily noticed – both because lowercase filenames are more usual, and because traditionally the lscommand sorts and displays files in ASCIIbetical ordering, so that uppercase filenames appear first.[nb 1]