Recent Releases of org.cicirello:interactive-bin-packing
org.cicirello:interactive-bin-packing - v3.1.6
[3.1.6] - 2025-05-15
Other
- Migrated deployment from the old OSSRH to the new Central.
- Java
Published by cicirello 9 months ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.1.5
[3.1.5] - 2023-08-07
Fixed
- Improvements based on SpotBugs and FindSecBugs scans:
- LogRecord.toString() changed to use platform-specific line separators.
- LogRecord.equals(Object): correctly handle null and other types.
- RecordList.equals(Object): correctly handle null and other types.
- Bin.contentsToString(): StringBuilder instead of iterated concat.
- SessionLog.moveCountToString(): StringBuilder instead of iterated concat.
- SessionLogFormatter: fixed potential resource leak.
- SessionLog: implemented readObject to properly initialize transient fields during deserialization.
- Set most classes to package access.
CI/CD
- Integrated SpotBugs into build process.
- Integrated FindSecBugs into build process.
- Java
Published by cicirello over 2 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.1.4
[3.1.4] - 2023-01-12
Fixed
- Refactored the following based on RefactorFirst scan:
- SessionLog class
- GUI-related test cases
- Non-GUI-related test cases
- Java
Published by cicirello about 3 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.1.3
[3.1.3] - 2022-12-01
Changed
- Reformatted all sourcecode to Google Java Style.
- Migrated test cases to JUnit Jupiter 5.9
Fixed
- Misc refactoring based on feedback from Sonatype Lift, including:
- Added explicit Charset when loading SessionLog template.
- Added explicit cast in narrowing compound assignment in initialization of item list.
- In SessionLog, replaced usage of Java's Date class, which is known to be buggy, with Instant.
- Removed single use constant with format string for SessionLog.
- Fixed empty catch blocks.
CI/CD
- Configured Spotify's fmt-maven-plugin to format to Google Java Style during builds.
- Configured the refactor-first-maven-plugin within a profile in the pom.xml.
Other
- Adopted Google Java Style.
- Java
Published by cicirello about 3 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.1.2
[3.1.2] - 2022-04-01
Other
- Release is to force an update of the metadata on the archiving site Zenodo to include link to paper in Journal of Open Source Education. This release otherwise contains no new or changed functionality.
- Java
Published by cicirello almost 4 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.1.1
[3.1.1] - 2022-03-31
Other
- Release is for paper in Journal of Open Source Education (JOSE), and also to start archiving in Zenodo for same purpose. This release otherwise contains no new or changed functionality.
CI/CD
- Modified CI/CD workflow to comment coverage percentages on PRs.
- Java
Published by cicirello almost 4 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.1.0
[3.1.0] - 2021-06-24
Added
- A directory of example homework assignments that can be used or adapted by course instructors using the application in a class. The example assignments can also be used by self-directed learners.
- Session Logs
- Feature that logs most user interaction with the application, and generates an in-application view of the session log.
- The session log summarizes total time in the application, instances solved by the user correctly using their chosen heuristic, number of successful and unsuccessful solving actions taken in each of the application modes, as well as additional information that may be useful to instructors using the application within a course context.
- In addition to viewing the current session log, session logs can be saved to a file. The motivation is to ease instructor grading of assignments that use the application. For example, instructors can assign each student a different problem instance and have students save and submit the session log, which the instructor can then use for validation.
- The load session log feature loads a session log, validates it, and displays a human readable summary. The validation verifies that instances that are claimed solved using a particular heuristic were actually solved using that heuristic. That is, the session log doesn't include the solution, but rather it includes the actions taken to reach the solution, the problem instance number, and the chosen heuristic, and the application validates that the actions taken are those that the heuristic would have chosen. The validation also validates timestamp sequences, etc.
- Note to instructors: We don't guarantee that the session logs cannot be faked. However, the effort required to fake a session log that will fool the validation is significantly more than the effort needed to work through the exercises. Additionally, to successfully fake a session log, the student would still need the correct sequence of actions to solve the specified instance using the specified heuristic. Simply assign each student a different problem instance number (it is a value of type long), perhaps based on their student id number.
Fixed
- Reorganized resources files (html content of dialogs, and images) to use a namespace (i.e., within a directory hierarchy based on package name).
- Java
Published by cicirello over 4 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.0.1
[3.0.1] - 2021-05-26
Changed
- Updates to documentation.
Fixed
- Code improvements to eliminate potentially errorprone code as identified in MuseDev's static analysis reports.
- Java
Published by cicirello over 4 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, v3.0.0
[3.0.0] - 2021-05-14
First release to Maven Central Repository and to the GitHub Package Registry.
Fixed
- Minor resource leak in unclosed Scanner.
- Java
Published by cicirello almost 5 years ago
org.cicirello:interactive-bin-packing - Interactive Bin Packing, version 3.0
The Interactive Bin Packing Application provides a self-guided tutorial on combinatorial optimization, the bin packing problem, and constructive heuristics for bin packing. It also enables the user to interact with bin packing instances to explore their own problem solving strategies, or to test their knowledge of the various constructive heuristics covered by the tutorial. The application is not a solver for bin packing. The Interactive Bin Packing Application is a tool for learning about the bin packing problem, as well as for learning about heuristic techniques for solving instances of the problem.
- Java
Published by cicirello over 5 years ago