assigment# 3

This commit is contained in:
gauthiier 2016-11-16 12:35:23 +01:00
parent 411552ecf1
commit 7f99d684fa
4 changed files with 34 additions and 11 deletions

View File

@ -18,16 +18,19 @@
</header>
<nav id="TOC">
<ul>
<li><a href="#assignment-1">Assignment #1</a><ul>
<li><a href="#assignment-1-bookstore-cli">Assignment #1: Bookstore (CLI)</a><ul>
<li><a href="#grading">Grading</a></li>
</ul></li>
<li><a href="#assignment-2">Assignment #2</a><ul>
<li><a href="#assignment-2-love-letters">Assignment #2: (Love) Letters</a><ul>
<li><a href="#grading-1">Grading</a></li>
<li><a href="#helpful-links">Helpful links</a></li>
</ul></li>
<li><a href="#assignment-3-localhosts-imitation-game">Assignment #3: Localhost's Imitation Game</a><ul>
<li><a href="#grading-2">Grading</a></li>
</ul></li>
</ul>
</nav>
<h2 id="assignment-1">Assignment #1</h2>
<h2 id="assignment-1-bookstore-cli">Assignment #1: Bookstore (CLI)</h2>
<p>For this assignment you will be developing a command line interface for a fake &quot;bookstore&quot;. Using the node library <a href="https://www.npmjs.com/package/commander">commander</a> you will make available a command line interface to your program which, when executed, will output information of books that match the following criteria: (1) book title, (2) author name, (3) price, and (4) kind (paperback or hardcover).</p>
<p>In order to gather data for your script, select 5 books from either the <a href="http://www.athenaeum.nl">Athenaeum Boekhandel</a> or the <a href="http://www.abc.nl">American Book Center</a> and construct a simple &quot;hardcoded&quot; database out of these (see example from the class).</p>
<p>Below are two examples of inputs and outputs where the data was taken from the Athenaeum Boekhandel</p>
@ -48,7 +51,7 @@ Kind: Paperback</code></pre>
<p>This assignment will be graded on three aspects: 1) does the code work and execute as intended, 2) is the code clearly structured and documented (don't forget your README!) and 3) is the code efficient.</p>
<p>You will hand in your assignment through your account on Github. Please refer to <a href="./assignments-conf.html">CTH-2016 / Assignments Configuration</a> on how to set up your assignments portfolio properly.</p>
<p>The dues date for this assignment is — Tuesday November 8 2016 at 13:00.</p>
<h2 id="assignment-2">Assignment #2</h2>
<h2 id="assignment-2-love-letters">Assignment #2: (Love) Letters</h2>
<p>In this assignment you will write a script that will generate a love letter each time it is executed, producing similar letters, yet not exactly the same, as the ones of computing pioneer Christopher Strachey's.</p>
<p>The basic sentence structure of your letter will resemble this: &quot;determiner + adjective + noun + adverb + verb + determiner + adjective + noun&quot;. Based on this, as an example, your script could output a sentence such as the following: &quot;MY SWEET LONGING BREATHLESSLY ADORES YOUR ANXIOUS WISH&quot;. Furthermore, your script should allow for variations of this sentence structure, that is, exclude (or not) certain components depending on randomness and yet keep the sentence grammatically correct. For example the sentence above could become: &quot;MY SWEET LONGING ADORES YOUR WISH&quot;.</p>
<p>The output of your script (what is printed on the terminal) needs to be well formatted, meaning that it needs to resemble a letter with margins and spaces. Moreover, the number of sentences and their width needs to be parametric, that is, your script will have options for both number of sentences and sentence width (in characters).</p>
@ -78,6 +81,14 @@ DEAR DUCK
<li><a href="https://learnenglish.britishcouncil.org/en/english-grammar">(General) English Grammar</a></li>
<li><a href="http://www.alpha60.de/art/love_letters/archive/muc/">Archive of emulated Christopher Strachey's Love Letters</a></li>
</ul>
<h2 id="assignment-3-localhosts-imitation-game">Assignment #3: Localhost's Imitation Game</h2>
<p>This assignment is inspired by Alan Turing's <a href="http://www.loebner.net/Prizef/TuringArticle.html">Imitation Game</a> and Joseph Weizenbaum's <a href="https://en.wikipedia.org/wiki/ELIZA">ELIZA</a>.</p>
<p>You will write a client / server application that puts into conversation a human (client) and a very basic artificial intelligence (server). The idea is to produce a HTML &quot;chat&quot; interface where a human subject can discuss and converse with your server-side script. Your script should be able to recognise certain sentences, phrases or keywords that are sent to it by the human subject and, in turn, reply to these queries appropriately and meaningfully using basic randomly generated sentences (similar to the ones you created in assignment #2).</p>
<p>A minimum of 3 variation is expected from your script, meaning that it should recognise and reply to at least 3 types of sentences, phrases or keywords.</p>
<h3 id="grading-2">Grading</h3>
<p>This assignment will be graded on three aspects: 1) does the code work and execute as intended, 2) is the code clearly structured and documented (is the output well formatted) and 3) is the code efficient and generative.</p>
<p>You will hand in your assignment through your account on Github (as in weeks 1 and 2).</p>
<p>The dues date for this assignment is — Tuesday November 22 2016 at 13:00.</p>
</content>
</body>
</html>

View File

@ -2,7 +2,7 @@
title: CTH-2016 / Assignments
---
## Assignment #1
## Assignment #1: Bookstore (CLI)
For this assignment you will be developing a command line interface for a fake "bookstore". Using the node library [commander](https://www.npmjs.com/package/commander) you will make available a command line interface to your program which, when executed, will output information of books that match the following criteria: (1) book title, (2) author name, (3) price, and (4) kind (paperback or hardcover).
@ -37,7 +37,7 @@ You will hand in your assignment through your account on Github. Please refer to
The dues date for this assignment is — Tuesday November 8 2016 at 13:00.
## Assignment #2
## Assignment #2: (Love) Letters
In this assignment you will write a script that will generate a love letter each time it is executed, producing similar letters, yet not exactly the same, as the ones of computing pioneer Christopher Strachey's.
@ -80,8 +80,20 @@ The dues date for this assignment is — Tuesday November 15 2016 at 13:00.
* [(General) English Grammar](https://learnenglish.britishcouncil.org/en/english-grammar)
* [Archive of emulated Christopher Strachey's Love Letters](http://www.alpha60.de/art/love_letters/archive/muc/)
## Assignment #3: Localhost's Imitation Game
This assignment is inspired by Alan Turing's [Imitation Game](http://www.loebner.net/Prizef/TuringArticle.html) and Joseph Weizenbaum's [ELIZA](https://en.wikipedia.org/wiki/ELIZA).
You will write a client / server application that puts into conversation a human (client) and a very basic artificial intelligence (server). The idea is to produce a HTML "chat" interface where a human subject can discuss and converse with your server-side script. Your script should be able to recognise certain sentences, phrases or keywords that are sent to it by the human subject and, in turn, reply to these queries appropriately and meaningfully using basic randomly generated sentences (similar to the ones you created in assignment #2).
A minimum of 3 variation is expected from your script, meaning that it should recognise and reply to at least 3 types of sentences, phrases or keywords.
### Grading
This assignment will be graded on three aspects: 1) does the code work and execute as intended, 2) is the code clearly structured and documented (is the output well formatted) and 3) is the code efficient and generative.
You will hand in your assignment through your account on Github (as in weeks 1 and 2).
The dues date for this assignment is — Tuesday November 22 2016 at 13:00.

View File

@ -139,7 +139,7 @@
<ul>
<li><a href="./assignments.html">Assignment #1: Bookstore (CLI)</a></li>
<li><a href="./assignments.html">Assignment #2: (Love) Letters</a></li>
<li>Assignment #3: tba</li>
<li><a href="./assignments.html">Assignment #3: Localhost's Imitation Game</a></li>
</ul>
<p>Each individual assignment will be posted on the day of the class (weeks 1, 2, 3).</p>
<h2 id="assessment-grading">Assessment / Grading</h2>

View File

@ -129,7 +129,7 @@ During this session, time will be allocated to answer questions regarding final
* [Assignment #1: Bookstore (CLI)](./assignments.html)
* [Assignment #2: (Love) Letters](./assignments.html)
* Assignment #3: tba
* [Assignment #3: Localhost's Imitation Game](./assignments.html)
Each individual assignment will be posted on the day of the class (weeks 1, 2, 3).