Ideas for a comprehensive Javascript assignment
<p>I am likely to be part of the teaching team for the web programming course at my University next semester and I was wondering what kind of Javascript assignment to hand out to the students. The course is not an introductory one from a programming perspective. </p>

<p>It is assumed that the students are familiar with OOP, data structures and algorithms, functional programming concepts and working knowledge of networking protocols (HTTP included). This is the first course in which they come in contact with JavaScript</p>

<p>I was thinking to give out something framework-specific (using jQuery perhaps) that involves DOM traversal, some animations and AJAX. The three questions I have in mind are:</p>

<ul>
<li>should they use a framework or should I have them write vanilla JavaScript?</li>
<li>should I focus more on the functional programming part and on the prototypal inheritance part (more on the <em>language</em> than on working with the DOM)?</li>
<li>how do I automate testing for this? It's better if they have a clear idea on how they will be evaluated. Also, automated testing ensures objectivity and saves me time :).</li>
</ul>

<hr>

<h2>Outcome</h2>

<p>I made them do Tic Tac Toe as a jQuery plugin and the results were mostly satisfactory (70% of the students submitted, generally the submissions were ok). </p>

<p>To prevent copying code from the net, I thought out an API which they had to implement. At least, they'd have to understand the code they found on the net before copy&amp;pasting it into the methods :).</p>

<p>I used QUnit for automated testing, but I also tested each assignment manually because this was the first JavaScript assignment they'd had and I wanted to give relevant feedback.</p>

<p>Thank you all for your ideas, they all helped a lot.</p>

<p>Cheers,<br>
Alex</p>
