This is a simple warm-up assignment that introduces you to the environment
we will use throughout this course,
and refresh your
This assignment is the way you register for the course.
You will not be able to access further (graded or ungraded)
assignments before completing this assignment.
Throughout this course, you will receive and submit your assignments through git repositories on GitHub. Our git usage will be rather simple and straightforward. However, you are recommended to learn (or refresh your knowledge about) basic usage of git (you can use any of the numerous tutorials you can find on the Internet).
How to work on and submit the assignments?
- For every assignment, you will receive a URL. GitHub will create a private repository for you when you follow this URL.
- The instructions for the assignments will be stored
README.mdfiles (and also associated public assignment pages) for each assignment. Your repository may also contain some starter code for other files needed for completing the assignment.
- The main entry point to your assignment should be called
Xis the number of the assignment. For most assignments, you will receive this file as the part of the starter code.
- You should
clonethis repository to your own computer, and work locally for the most part of the assignments.
- For each step of the assignment,
commityour changes/additions separately. You should also
commiteach bugfix, or later improvements individually. In general, frequent
pushes are good. They also protect you from accidential file deletion and hardware failures.
- Your assignment will be graded based only on the final commit
before the deadline.
You should not worry about the intermediate state of your repository.
Your are recommended to
The URLs for the later assignments will be posted on the private course repository. You will get access to this repository only after you submit the current assignment. We will use this repository for some of the course material, course discussion and announcements. Make sure you are watching the common repository (visit the page and click on the eye icon on top right part of the page).
Follow the instruction below for completing this assignment.
0.0 Set up your assignment repository
Follow this link to set up your assignment repository.
After setting up your repository, clone it to your local computer, and work on the following steps using your favorite programming environment.
0.1 ‘Hello world!’, again!
Write a simple Python program (with file name
that asks the user
- Last name
- First name(s)
- Email address
- Native language(s)
- Other natural languages
- Programming languages
- Student ID
- Degree program (e.g., ISCL BA)
and prints them out to standard output (screen).
Put your source code under version control (
git add <filename>),
commit your changes (
0.2 Write output to a file
Modify your code to write the output to
a JSON encoded
The data structure of the file should follow
the provided example in
Successive runs should overwrite the file.
Test your changes, and
commit them (only the source code).
0.3 Provide the information for yourself
Run your application, and answer them correctly,
populating the file
assignment0.json with your own personal data.
Specify the natural languages using three letter
Make sure the file (and the name) complies the format described in 0.2.
Add the file to the repository, and
0.4 Give us some natural language data
Add a new text file, called
where you describe your interest in linguistics and computation
in at least 5 and at most 15 sentences.
Please make sure that the file you created is a plain text file encoded in UTF-8 (or ASCII). Do not use any special formatting (including markdown).
We will use these essays for later class exercises (without revealing the identity of the authors). Please contact the instructor if you are not comfortable with the use of your writing sample for this purpose.
0.5 Push your changes to GitHub
If you have not done so already,
make sure that latest versions of all required files
(the source code and the text file) are under version control,
push them to your GitHub repository.