Array traversal and helper methods
Normalize a grade report
Write a method that receives raw scores, drops invalid entries, scales the remaining scores to a 100-point range, and returns a summary object with min, max, and average.
Advanced Topics in Computer Science
A bridge from AP Computer Science A into advanced honors computer science habits: design, implementation, testing, abstraction, and clear technical communication.
Unit Focus
Students review Java, object-oriented design, program tracing, debugging, testing, and the expectations of an advanced CS course before moving into abstract data types.
Practice Work
Refactor an AP Computer Science A-style Java project into cleaner classes and helper methods.
Write a test plan that catches edge cases before adding new features.
DSA Assignment Bank
Code Scholars provides structured assignments, implementation support, edge-case review, and runtime analysis coaching so students learn the concept rather than only memorizing a solution.
Array traversal and helper methods
Write a method that receives raw scores, drops invalid entries, scales the remaining scores to a 100-point range, and returns a summary object with min, max, and average.
Counting and data validation
Given daily attendance counts for a club, compute streaks, detect impossible values, and report the first week where attendance drops below a threshold.
Decomposition
Turn repeated validation code for a student project into helper methods that check naming, missing fields, and boundary cases without changing the observable output.
Objects and side effects
Given several Student objects and a method that updates points and status flags, predict the final state and identify which update should be made private.
Unit testing strategy
Implement a quiz score calculator with small methods for parsing, validation, penalties, and feedback bands, then list tests for empty, perfect, and mixed inputs.
Program organization
Take a menu-driven program and design a table of command names mapped to helper methods so adding a new command does not change the main loop.
Data cleanup
Given arrays of usernames, minutes, and activity labels, find records with missing names, negative minutes, or duplicate timestamps.
ArrayList mutation
Process a stream of score updates, maintain a sorted top-five leaderboard, and explain how ties should be handled.
Debugging workflow
Given expected and actual output arrays, locate the first failing case, summarize the failure pattern, and propose the smallest code area to inspect.
Sentinel loops
Write a loop that collects integer ratings until a sentinel appears, rejects invalid values, and reports the number of accepted and rejected entries.
Frequency counting
Given an array of survey responses, count each valid choice, ignore unknown choices, and return the most common response with tie behavior documented.
Correctness review
Given two methods that claim to remove duplicates from a list, design cases that reveal whether either method skips elements or changes order unexpectedly.
State modeling
Model project tasks with fields for name, owner, done status, and priority, then write a method that returns overdue high-priority tasks.
Algorithm tracing
Given a loop over an array, produce a table of index, current value, running total, and branch taken after each iteration.
String processing
Write a helper that trims, normalizes spacing, removes unsupported characters, and preserves meaningful capitalization for display names.
Hashing preparation
Given arrays of assignment IDs and student IDs, identify repeated submissions by the same student for the same assignment.
Conditionals and maps
Group compiler-style error messages into categories such as syntax, type, missing symbol, and runtime risk, then count each category.
Security-aware counters
Track failed login attempts per user, lock accounts after a limit, and explain how the code avoids locking the wrong user.
Windowed traversal
Given weekly project scores, compute each three-week rolling average and identify the largest improvement window.
Predicate design
Filter a roster by grade, prerequisite status, and schedule availability while keeping the original roster unchanged.
Simulation setup
Create repeatable random test data for scores and absences using a seed, then explain why repeatability helps debugging.
Edge-case review
Given code that accesses neighbors in an array, redesign the loop so it never reads outside the array and still processes every valid pair.
Sorting and strings
Sort student feedback comments by length, break ties alphabetically, and preserve the original comments for later display.
Similarity counting
Given token arrays for two small programs, count matching adjacent token pairs and flag only when the score crosses a documented threshold.
Class design
Build a RubricItem class with name, max points, earned points, and feedback, then write a method to compute total percentage.
Set thinking
Given required setup steps and completed setup steps, return the missing items in the original required order.
Index arithmetic
Show a long list of practice prompts five at a time and compute which items appear on each page without duplicating or skipping entries.
Aliasing prevention
Given an object that stores an internal array, write constructor and accessor logic that prevents outside code from mutating internal state.
Code review
Given a helper method with a hidden off-by-one bug, identify the failing input and rewrite the loop header correctly.
Assignment design
Break a data-cleaning and leaderboard project into milestones: input validation, storage choice, algorithm, tests, and written analysis.
Work through the concepts, code, edge cases, and runtime analysis with 1:1 guidance.