Nifty Assignment Submission Information

Submissions open in September
Date Due Friday, October 23, 2020
Time Due 23:59 AoE (Anywhere on Earth, UTC-12h)
Submission Limits Relevant materials in a zip
Notification to Authors Monday, November 23, 2020
Camera-Ready Deadline Sunday, December 13, 2020
Duration 5-10 minutes in the Nifty Assignments session

On August 12 2020, it was announced that the Technical Symposium is a virtual event in 2021. We are working to update the author and reviewer guidelines.

Author guidelines: Nifty Assignments

The Nifty Assignments project gathers great CS assignments to make their ideas and materials freely available for the CSE community. Do you have a great assignment you would like to share with other educators? We’d love to have you apply to Nifty Assignments!

Single-Anonymous Review Process

Initial submissions to the Nifty Assignments track are reviewed with the single-anonymous review process, where the submissions are not anonymized but reviewers are anonymous to each other and to the authors. During the discussion of a submission in EasyChair, reviewers can refer to each other by their reviewer number on that submission’s review.

How Should The Proposal Be Formatted?

Nifty Assignment proposals are submitted as a zip archive containing an overview web page and a directory of assignment materials.

Gather the materials from your assignment. Both student-facing and instructor-use materials may be appropriate. For example:

  • The assignment handout given to students (PDF or HTML)
  • Sample data files
  • Starter and support code files
  • Autograder tools and/or model grading rubric
  • Runnable demo application

Prepare a draft of the web page for your assignment, including the table of metadata described below. The purpose of the web page is to introduce the assignment to another educator. You can view web pages for past Nifty Assignments on the Nifty Assignments archive as examples.

Organize your submission in a directory with your name and the name of the assignment (e.g. “parlante-namesurfer”) and your web page as the index.html. Add supporting materials to the directory and link them from your index: handouts, sample application, etc. Please use relative links, so we can move the directory around and it all still works. It is not required that your directory be in final form to apply. The reviewers are evaluating the quality of the assignment itself and its applicability to the SIGCSE community, not the details of the presentation at this stage.

The following table of metadata about your assignment should be included in your web page. This information is used by the reviewers to evaluate the proposal and by instructors considering adopting the assignment.

  • What is so great about this assignment?
  • What niche/student is it suited for (CS1, CS2, advanced, easy, …)?
  • What does it teach?
  • How hard is it?
  • How long does it take?
  • What does it depend on?
  • What are its strengths and weaknesses?
  • Are there any lessons on assignment craft in general that can be drawn from the assignment?

Here’s an example for the Random Sentence Generator assignment:

Summary Random Sentence Generator – build a sort of grammar structure in memory – lots of uses of pointers, collections, and hashing. Then use a simple recursion over that structure to generate random output.
Topics A neat application of recursion and pointer-intensive data structures.
Audience Appropriate for CS2 or a later course.
Difficulty This is an intermediate to advanced assignment, taking 1 or 2 weeks for a CS2 student.
Strengths The great strength of this assignment is that the grammars and their output can be quite funny. Also, the data structure and the recursion are moderately complex but neat. Students like this assignment.
Weaknesses Some parsing is required to build the grammar, which is not that fun. Also, this is not a concise, focused pointer/recursion problem. It has more heft to it.
Dependencies Requires and understanding of pointers, recursion, and enough sophistication to deal with a data structure with 2 or 3 layers to it. Works fine in many languages. Hashing may or may not be used. The data structure has a natural map/collection structure, so using library classes can make it easier.
Variants Because there are quite a few collections in the RSG, we have used it as a nice driver for students to implement their own collection that is instantiated in several places to build the RSG.

Please see Info about the Nifty Project for more information about the history of Nifty, the archive of previous Nifty assignments, and answers to frequently asked questions.

Accepted Submissions

If your assignment is accepted, you will need to:

  • Finalize your assignment web page and its various materials.
  • Prepare a very short blurb for the proceedings.
  • Attend the SIGCSE Symposium to present your assignment at the Nifty session (10-15 minutes).
  • Your materials will be widely distributed for free on the web (although you may retain copyright), so you will need to be comfortable with that.

How Do I Submit My Nifty Assignment?

Please be aware that the submission form asks you to provide demographic information. This demographic information is being collected by ACM; they created the questions and require them to be in the submission form. Please know that the demographic information submitted is not seen (and thus cannot be used in any way) by Technical Symposium reviewers or leadership. We also have no control over the questions asked nor where they appear in the form.

SIGCSE TS 2021 is not participating in the new ACM workflow, template, and production system. MS Word Authors, please use the Interim Template. LaTeX Authors, please use the official ACM Master with the ACM_SigConf template.

Submissions use the English language. If you desire editing services, consider the following from the ACM.

ACM has partnered with International Science Editing (ISE) to provide language editing services to ACM authors. ISE offers a comprehensive range of services for authors including standard and premium English language editing, as well as illustration and translation services. Editing services are at author expense and do not guarantee publication of a manuscript.
  • Prepare your Nifty Assignment submission using the format specified above.

  • Recall that you will also need to copy-and-paste or type your text abstract description into a text box in the submission form. Be sure that the same text appears in the submission and in the abstract text box in the submission form.

  • Be sure to choose the appropriate topic areas when submitting. Your choices help in assigning appropriate reviewers to your submission, and assist the reviewers in evaluating the paper from an appropriate perspective.

  • A Nifty Assignment submission must use a .zip archive as described above in the section How should the proposal be formatted?

  • When you’re ready to submit, use the online submission system - EasyChair to complete the submission form and upload your submission. In addition to uploading the PDF version of your submission, you will fill out a form with metadata about your submission.

Please do not wait until the last minute to submit your documents because that is when everyone else will be connecting to our server!

Make note of the proposal ID number and password assigned to your submission. You will receive an email message confirmation. Spam filters sometimes trap these automatically generated messages so you may need to check your spam trap for the confirmation and later, acceptance or rejection notification.

After receiving confirmation, go to the submission site to review your submission for accuracy. Send email to the chair(s) (see below) if there are any problems.


If you have questions about anything discussed above, please contact:

Nifty Assignments Team


  • Nick Parlante
    Stanford University
  • Julie Zelenski
    Stanford University