Homework 0: Practice Homework Submission

due on October 10th (Tue) 11:30am in the Homework Factory


Homework in this class is submitted using CCRMA's own tools and storage space. This homework assignment walks through the submission steps necessary to submit 220A homework. On the way, you will be learning about some basic utilities and concepts that are good to know about, even outside the context of this class, including HTML and systems permissions. What you will ultimately 'turn in' is a custom web page containing links to files in a private directory in your CCRMA workspace.

CCRMA accounts

You will make a CCRMA account by the second week of class (we will have some in-class time for this). If you have one already, you can skip this section. If you have not yet (or if you're adding this class late), note that you must complete the following step before you can continue the homework:

On a computer which is physically at the Knoll visit the CCRMA New User webpage.

By submitting the form, and once it's been processed by CCRMA staff, you will have a space on the CCRMA servers for life! (This include a free public webpage at http://ccrma.stanford.edu/~YOUR_USER_NAME. More instructions on how to create this below).

For an overview of the different storage spaces in your CCRMA account, and for instructions on how to log in remotely (which allows you to transfer files from your own computer to your CCRMA account), read through How to Use My CCRMA Account. Reading through this page will greatly help to automate uploading/publishing anything on the web.

Homework Submission

Your homeworks will be submitted in your ~/Library/Web/220a/ directory. Your /Library/Web directory already exists and has the following name [note that the ~ is short hand for your home directory, ~<user> is shorthand for another user's home directory, e.g., ~cc is Chris Chafe's]

$> cd ~/Library/Web

Create a directory, or folder, within your ~/Library/Web directory called 220a. This can be made by making the folder simply by navigating through the folders, or you can use the Terminal:

$> mkdir 220a

To stay further organized, each homework should have its own subdirectory within your 220a subdirectory, numbered respectively with the following names: hw0, hw1, hw2, hw3, hw4, hw5, fp. (Make these now for the sake of staying organized.)

$> cd 220a; mkdir hw0 hw1 hw2 hw3 hw4 hw5 fp 

Anything under your ~/Library/Web/ directory can be hyperlinked for the world. See below for creating an (optional) personal homepage.

The 'homework factory' is a password-protected CCRMA webpage that, using a script that scours your ~/Library/Web/220a/ directory, links to HTML files that it expects to find (e.g., hw0.html, hw1.html, hw2.html ... fp.html). So, for each of your homeworks, you create an HTML page that serves as your submission. Its creation is timestamped, so we know when your homework was 'submitted'.

If you have not written HTML before, a great resource for building up a page is at W3 schools and there's a minimal template, below.

From each homework webpage (one for each homework), you will link to any audio (.wav) files, pieces of code, or anything else that you want us to know about in relation to your homework.

Homework 0 Content + Submission

For this assignment, we'll practice the .wav audio file portion so that it's clear. Instead of a composition, you should 'submit' an HTML page containing a link to a .wav file that you find interesting.

So, first, find an interesting sound. There are plenty of places on the web to find sound. You might check out freesound, which requires you to make an account, but then provides a lot of good sounds (as well as some not-so-good - you and your classmates are the judge!). If you have a good quality audio recorder, you're welcome to capture a sound yourself.

NOTE: DO NOT use your laptop microphone for audio capture in this class. Laptop microphones work well for Skype and other everyday uses, but in a music class, we aim for higher quality audio than a laptop microphone can provide. We will be making our own microphones later in the quarter which will be of much higher quality than the ones built into laptops. But, until that point, either use a microphone you already have, borrow a friend's, or simply find good-quality sound online.

Place the .wav file in your ~/Library/Web/220a/hw0/ directory.

Next, create a web page in your ~/Library/Web/220a/ that links to this .wav file. You are welcome to make your own HTML page, or you can use this template as a start. Download it with "save link as" and put it in your ~/Library/Web/220a/ directory.

NOTE: This hw0.html file should be outside the hw0/ folder but inside your 220a/ folder.

Use a text editor to edit your HTML page - gedit or Emacs on the Linux machines work well, or if you're working on a Mac, try TextMate.

Edit it to link to your audio file. If you've followed the steps on this page, all you need to do is edit the file to reflect your CCRMA user name and the name of your .wav file. (Note: don't use spaces in naming files - use underscores instead.) Lastly, write a brief description (2-3 sentences) about why you chose that sound.

(to see the results point a web browser at)

http://ccrma.stanford.edu/~<your login>/220a/hw0.html

Check that your link works! And finally, check that it shows up on the Homework Factory.

General FAQ

Does the beauty of my webpages matter? Not at all. Your homeworks will be evaluated based on their music, coding and audio content, not on eye candy. That said, if you want to spice up your submissions using CSS or other tools, feel free.

So does this mean that the world can see my homework assignments? If they navigate directly to that webpage, then yes. However, the actual Homework Factory page is password-protected, so it is highly unlikely that someone outside of this class will find your homework unless you explicitly give him/her the link. If you get close to a deadline and realize you're not going to submit on time, and don't want the rest of the class to see that you're submitting late, please include a 'dummy' link (a hw1.html file for instance) that says "Homework withheld".

Why do it this way? Good question. There are a few answers. This class is often one of the first classes for students in the CCRMA undergraduate, masters, and doctoral programs. If you take more classes at CCRMA, you will undoubtedly be housing files in your CCRMA account. Using it heavily in this class will help orient your future use. Second, there is a chance that you will be working with large audio files in this course. There is no need to house these files on your own computer now - you can house them in your CCRMA account. And they will be permanently backed up. (Use your judgement - you can store large files on the system within reason.)

What is "terminal" and how do I use it? Terminal is a way to type commands to UNIX / Linux operating systems, to navigate between directories (folders), copy files, run programs, and do many other useful things. On the Linux machines, to open a terminal, right-click the mouse anywhere on the screen and select "Open in Terminal".
A terminal will open, and a command line prompt will appear that identifies the computer (cmn), your login name and the working directory, which is the location in the directory structure from which you are navigating. After the prompt, you can type commands.
For example, you can navigate around the file system by using the "change directory" command: cd Library will navigate into your Library directory.
If you want to see your current location in the directory structure, type pwd which stands for "print working directory".
If you want to see what files and folders are in the working directory, type the "list" command:

$> ls

If you type a command and then a new command prompt doesn't show up again, hit the return key and a new prompt should appear. Before entering new commands, it is important to have a new command prompt.

Want to Make a Publicly-viewable Website?

If you want to use your CCRMA home directory to house your website, create an HTML page titled index.html and house it in your ~/Library/Web/ directory. Any files or subdirectories from this root directory will also be publically accessible, so you can create multiple pages, or use it to link to your work, music, etc.

http://ccrma.stanford.edu/~<your login>/