Programming Assignment - Guidelines
Programming Assignment - Guidelines
Setting up sms-tools
Throughout the course we will be using many functions of the sms-tools repository. It is therefore important to setup sms-tools correctly and make sure it
works. You can download the repository directly as a zip archive from github:
https://github.com/MTG/sms-tools/archive/master.zip
For students familiar with git, we recommend to clone the repository using git.
Since the repository evolves over time and undergoes changes, it is easier to
keep the code synchronized with the latest version on github through git. For
the course, you just need to use the clone and pull commands of git.
Installation
To start working with sms-tools you need to install some dependencies. Read
the instructions in the README.md file inside the sms-tools repository:
https://github.com/MTG/sms-tools/blob/master/README.md
You can use the following forum thread for discussions related to the installation
of sms-tools.
https://class.coursera.org/audio-002/forum/thread?thread_id=4
Sound files
Most assignments require the use of sound files. You can use your own, making
sure that they are in the right format, or you can use the ones in the folder
sounds of sms-tools, which are all in the required format.
To facilitate the work we have restricted the formats of sound files to use.
You should always use wav audio files that are mono (one channel), sampled at
44100 Hz and stored as 16 bit integers.
Within the code, we use floating point arrays to store the sound samples,
thus the samples in the audio files are converted to floating point values with a
range from -1 to 1. The wavread function from the utilFunctions module in the
sms-tools reads a wav file and returns a floating point array with the sample
values normalized to the range -1 to 1, which is what we want.
Submission Instructions
You will need a working internet connection to submit your answers. Once you
complete a specific part of an assignment, and after testing it on few example
test cases, you can submit your answer from the terminal by typing (the example
considers the first programming assignment):
$ python submitA1.py
Follow the instructions that appear on the terminal. You need to enter the
email address you used to register for the course and the Submission Password
that is generated on the Programming Assignments page of the course (https:
//class.coursera.org/audio-002/assignment). Answers to each part are
submitted separately. e.g. For Part-1, you will complete the code in A1Part1.py
and submit it by choosing 1 when prompted for the part you wish to submit. If
the submission is successful, you will see the following message on the terminal:
$ == Your submission has been accepted and will be graded shortly.
The answers are then submitted to a queue and we use a grader script that
evaluates your submission and provides you an appropriate score and feedback,
which can be seen on the assignment page. It might take a few minutes for
the evaluation to complete and the score to get updated. You can submit your
answers as many times as you wish but there is a penalty after a certain number
of attempts, as explained in the grading policy. Please wait to see the feedback
and score before making the next attempt at submission. Good luck coding!