Nifty Assignment Submission Information

Submissions are closed.
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 now up to 15 minutes in the Nifty Assignments session

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.

Details regarding submission upload will be made available when the submission system goes online.

The opening of submissions will be announced through the SIGCSE mailing list, social media, and the front page of this website.

Follow the SIGCSE Technical Symposium on Twitter and SIGCSE on Facebook.


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

Nifty Assignments Team


  • Nick Parlante
    Stanford University
  • Julie Zelenski
    Stanford University

Presenting at SIGCSE TS 2021

Important Dates

  • TBD

How will I be presenting my work? (Nifty Assignments)

Nifty Assignments Track chairs will be in touch with presenters soon regarding information about presenting.