File System Organization

A Cautionary Fable

Every year that I taught at NCSSM, I noticed an abomination. Many of my students use "flat" file systems, or they have files stored in application subtrees. Then when you ask them, "Where is this file?" they shrug and say they have no idea. This is my reaction

snarling tiger

This practice creates a giant headache. You will hear people say "Where is that Regalis paper I worked on two weeks ago that's not in the 'recent' menu for Word?" Even worse, they will be unable to find all of the supporting materials they carefully hoovered up so they could write this paper. You need to know where your files are so you can transfer them to the server, back them up, or upload them to your teacher's portal.

Directory Assistance, Please

The Key Idea Make smart use of directories [aka folders]. Your computer has a hierarchical file system [HFS] that is incredibly useful for organizing your stuff and making it easy to find.

This scheme has the additional benefit of making it very easy to back all of your school stuff up onto an external drive, or the cloud if you have cloud space. Remember, hard drives can fail without warning and computers that get dropped can croak. You will quickly learn that at NCSSM the words "data loss" foreshadow doom.

phdcomics cartoon on data loss

Here is what I recommend you do; I recommend this because it is what I do. First: find your home directory. On a Mac, it's in /Users/yourName.

In Windows, open a powershell or cmd window and type echo %HOMEPATH% to learn where your home directory is. You can also use DOCUMENTS as a storage site for your stuff.

If you use Linux, open a terminal and type cd then pwd, and you will see where your home directory lives; usually it is in /home/yourName.

  1. In your home or document directory, create a directory called 2223.
  2. Now enter this folder and create four directories S1, S2, , and admin. You now have a directory for each semester and a place to store stuff that does not fit neatly into a semester. As you apply to colleges and create essays, make a folder for each school's application. You can create a document in each college's folder to track the progress of your application (letters of rec, which tests scores you have sent, when you submitted the application, etc.)
  3. Enter directory S1 and create a directory named compsci. Create a directory for each of your classes.
  4. As you finalize your courses for the second, make directories for each of them in S2.
  5. You should do this for both years you are at NCSSM. Late this year, create directory 2324 so you will have a place to store stuff about course choices and information pertinent to your senior year. Doing this make your existence here saner.

                                |  2223   |
                              /      |      \            |          \
                             /       |       \           |           \
                            /        |        \          |            \
                        ----     -------       ----   ----------   -----------
                        |S1|     |JTerm|       |S2|   |admin   |   | resLife |
              --------- ----     -------       ----   ----------   -----------
             /         /
            /         /
        ---------  -------
        |compsci|  |math |  .... (other classes)
        ---------  -------

You can, in each class, create a folder for each major project or unit in the class. The next step is this: Save your stuff in the right place! Up front, it's a little more work. But as the school year progresses, you will easily be able to find all files you have for a given assignment or project. This will save you a great deal of angst and agita.

You should back your 2223 directory up onto your external drive early and often to protect your files.

In my classes, we generated lots of sample code. You should store yours on your machine. You might want to organize it in directories by topic or week. You can save any class notes you make in these directories.

Text editors, by default, save things where you don't want them. You should save items in your course directories by choosing Save As... This way when you need to upload a file to submit an assignment or transfer it to the server, you know right where it is.

The document fs.pdf contains more specifics about managing your PC. It is aimed at NCSSM students, but it is really relevant to any beginning programming student