Assign Word Ladder, Seam Carving, Evil Hangman, and other CS classics in Java, Python, or C++. Each one is ready to run and auto-graded.
Nothing to install. Choose from 125 problems in the language your course uses, each one click to assign.
From the ACM SIGCSE Nifty Assignments project, adapted for Alps by 2Sigma School
Instructors already trust these assignments to make a concept click. Alps takes care of the setup and the grading.
Each problem comes in Java, Python, and C++, with the same task, tests, and answers. Switch languages between terms, or assign one problem to sections that use different languages.
Students click Run Tests and get instant pass/fail from hidden tests. A reference solution is there when you want it.
Add the books next to your textbook with the multi-curriculum classroom. Assign one problem or a themed set, and keep the rest hidden until you’re ready.
Each original Nifty assignment comes in one language. We rebuilt every one in idiomatic Java, Python, and C++, with the same tests and answers.
// Word Ladder — fewest one-letter steps int ladderLength(String begin, String end, Set<String> words) { Queue<String> q = new LinkedList<>(); q.add(begin); int steps = 1; // ... explore neighbors (BFS) ... return steps; }
# Word Ladder — fewest one-letter steps def ladder_length(begin, end, words): queue = deque([begin]) steps = 1 while queue: # ... explore neighbors (BFS) ... steps += 1 return steps
// Word Ladder — fewest one-letter steps int ladderLength(string begin, string end, set<string>& words) { queue<string> q; q.push(begin); int steps = 1; // ... explore neighbors (BFS) ... return steps; }
Each language comes as three books: CS1, CS2, and Advanced. Together they hold 125 problems from every year of the project (1999–2026). Across all three languages, that’s 9 curricula ready to assign.
All of these books come with Alps. Add an edition to your class, then assign it directly or mix it into your curriculum.
Problems are leveled by the concepts they use, and each shows an estimated time. Match the right work to the right week.
Loops, conditionals, strings, basic functions, and simple objects — heavy on visual, media-driven payoff that motivates beginners.
Linked structures, trees, graphs, algorithmic design, and larger object-oriented programs.
Dynamic programming, advanced graph algorithms, and applied, multi-part projects.
There’s a fit for almost any week of an intro, data structures, or algorithms course.
Students write code in the browser and get instant feedback. There’s nothing to set up.
Students read the prompt and fill in starter code marked with TODOs.
They write it in the editor, in your course’s language. No graphics or file setup gets in the way.
One click runs hidden tests for instant pass/fail on every case. Teachers can see the reference solution.
Every problem is tested before it ships, so you can assign it without checking the answer key yourself.
TODOs and any helper code
The originals are desktop projects with starter files, an IDE, a graphics library, and data on disk. We adapted each one to run on Alps.
Each activity is the core algorithm the assignment teaches, without the interface and file code around it.
Tests give the same result every run. Large files and datasets become small built-in samples.
Each problem notes what changed and why, credits its author, and links to the source on nifty.stanford.edu. Authors may request removal at any time.
| Feature | Nifty on Alps | Original download |
|---|---|---|
| Runs on Chromebooks with nothing to install | ||
| Auto-graded in the browser with instant feedback | ||
| The same problem in Java, Python, and C++ | ||
| Add to your course and assign in a few clicks | ~ | |
| Reference solution included | ~ |
Start free, add the edition in your course’s language, and let auto-grading check the work.
“Nifty Assignments” is a project of the computer science education community, presented at the ACM SIGCSE Technical Symposium (nifty.stanford.edu). 2Sigma School made all adaptations for Alps. Each problem credits its original author and links to the source. Original authors can contact us to request updates or removal at any time.