openjournals / jose-reviews

Reviews for the Journal of Open Source Education (JOSE)
http://jose.theoj.org
Creative Commons Zero v1.0 Universal
33 stars 4 forks source link

[PRE REVIEW]: Interactive Bin Packing: A Java Application for Learning Constructive Heuristics for Combinatorial Optimization #87

Closed whedon closed 3 years ago

whedon commented 4 years ago

Submitting author: @cicirello (Vincent A Cicirello) Repository: https://github.com/cicirello/InteractiveBinPacking Version: v3.0 Editor: @labarba Reviewers: @adeepak7, @turketwh

Author instructions

Thanks for submitting your paper to JOSE @cicirello. Currently, there isn't an JOSE editor assigned to your paper.

@cicirello if you have any suggestions for potential reviewers then please mention them here in this thread (without tagging them with an @). In addition, this list of people have already agreed to review for JOSE and may be suitable for this submission.

Editor instructions

The JOSE submission bot @whedon is here to help you find and assign reviewers and start the main review. To find out what @whedon can do for you type:

@whedon commands
whedon commented 4 years ago

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks.

:warning: JOSE reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSE is currently operating in a "reduced service mode". Remember that all our editors are volunteers.

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf
whedon commented 4 years ago
Reference check summary:

OK DOIs

- 10.1109/ICPP.1999.797428 is OK
- 10.1007/s11276-005-5266-y is OK
- 10.1145/1508865.1508951 is OK
- 10.1145/1047344.1047409 is OK

MISSING DOIs

- https://doi.org/10.1007/springerreference_5277 may be missing for title: Bin packing

INVALID DOIs

- None
whedon commented 4 years ago

:point_right: Check article proof :page_facing_up: :point_left:

labarba commented 3 years ago

Hi @cicirello πŸ‘‹ β€” I apologize for not delivering on expectations here, but JoSE became abandoned when I got crushed with other commitments, plus online teaching, and many changes and stresses due to the world chaos of the past year. I'm just getting back to audit all the dropped balls and try to pick them up one by one.

I have read your paper, and understand that your submission is about a tutorial on the bin-packing optimization problem. However, I am not able to figure out how your tutorial works, without presumably installing the Java application? Can you help me understand how it works?

labarba commented 3 years ago

@whedon check repository

whedon commented 3 years ago
Software report (experimental):

github.com/AlDanial/cloc v 1.88  T=0.33 s (85.0 files/s, 12249.5 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Java                            18            221            808           2072
HTML                             3             83              0            454
Markdown                         3             56              0            105
TeX                              1             16              0             90
Ant                              1             11             10             74
YAML                             2              6              6             24
-------------------------------------------------------------------------------
SUM:                            28            393            824           2819
-------------------------------------------------------------------------------

Statistical information for the repository 'ddfc039c1d7e9a2adee9baa4' was
gathered on 2021/02/20.
The following historical commit information, by author, was found:

Author                     Commits    Insertions      Deletions    % of changes
Vincent Cicirello                3          3102              1          100.00

Below are the number of rows from each author that have survived and are still
intact in the current revision:

Author                     Rows      Stability          Age       % in comments
Vincent A. Cicirello       3101          100.0          0.0               26.06
cicirello commented 3 years ago

@labarba I totally understand about the delay. The application itself explains how it functions, etc. There is a prebuilt executable jar file in the dist directory. Assuming you have Java 8 or higher on your system, you can run it by either double clicking the jar file or executing the following on the command line: java -jar interactive-bin-packing-3.0.jar

Once the application is open, there is a Tutorial option in the Info menu. That will walk you through usage of all application functions as well as the tutorial itself.

Or, do you mean without running the application, how does it work? Such as should the paper include some detail on that?

If that is what you mean.... The application generates random instances of the bin packing problem. After learning about the problem itself as well as about constructive heuristics for solving it, the user interacts with the instance, choosing the actions that should correspond with their chosen heuristic. If they are correct, their action is made, otherwise the application provides guidance, reminding them of how their chosen heuristic decides upon an object and bin for the object. Essentially, the user becomes the implementation of their chosen heuristic, assigning objects to bins, while the application provides feedback on whether their actions correspond to the given heuristic.

labarba commented 3 years ago

Thanks!

I, personally, am not a computer scientist, have never touched Java, and cannot install the application. Before I can determine who might be an editor to handle this submission, I need to understand what it does. Could you briefly explain it to me, understanding that I cannot install it?

cicirello commented 3 years ago

@labarba I think I may have edited my original response while you were replying. Is the new last paragraph of my previous reply what you are looking for?

csev commented 3 years ago

At the request of the EiC, I have downloaded and installed this software. Following the documentation it starts and runs and makes sense given the problem that it solves. It feels somewhat narrow in its application - it would be a great interactive part of a week of an advanced algorithms course towards the end of undergraduate program or at the beginning of a masters program in Computer Science. The source code is readable - I assume students looking at the source code would be part of any exercise. It is pretty clear what it is and how it works - I am curious as to how this is used in a course.

cicirello commented 3 years ago

@csev I've used it in a couple different courses in a couple different ways. Here are a couple examples:

1) In an upper level undergrad AI course, just before covering randomized heuristics, I have the students work through the tutorial as part of a homework assignment (I usually give them a specific instance number so they can submit the various heuristic solutions as proof they worked through the tutorial). They usually then must work through the heuristic solutions to a problem instance not in the app.

A followup assignment involves implementing the heuristics.

I then cover in class some algorithms that rely on randomizing constructive heuristics such as ant colony optimization.

2) In that same course, I have also had students design and implement their own heuristic for the problem, and they seem to find it useful using the application to try out ideas by hand while they are designing their heuristic but before implementing it.

3) In a non-majors intro course where students have very little, if any, prior cs background (a course with no prereqs), I have also used it in a similar way to item 1 above, but without the followup implementation assignment. But for non-majors I usually provide an in class overview, whereas in item 1 above the assignment to use the tutorial serves as the intro where I then cover the more advanced content in class.

4) A much earlier version lacked the functionality to verify the users' understanding of heuristic. I used that prior version in a classroom as a visualization tool while explaining the concepts. It can still be used in that way.

labarba commented 3 years ago

Hi @cicirello πŸ‘‹ β€” we discussed your submission a bit more and find it to be too small / too narrow to merit a journal publication. Bear in mind that JOSE is evaluating the educational resources submitted with the goal of giving scholarly credit to this often unrecognized work. We want readers, authors (and their employers) to recognize JOSE papers similarly to research publications, and thus it should represent substantial scholarly effort.

cicirello commented 3 years ago

@labarba can you please define what is meant by a course "module" in this statement in the journal's scope: "The ideal submission size is a courseΒ module"?

labarba commented 3 years ago

Sure. We understand that to mean a section of a course, with its own learning objectives, content, and activities. More than a single lesson, but less than a semester course (although some submissions are a full course). The ideal module length might be around 3 to 5 weeks of a semester, or something that can be taught in an intense two-day Summer school.

cicirello commented 3 years ago

@labarba thanks. It might be helpful to potential authors if the 3 to 5 weeks of a course is mentioned in the scope, perhaps in parentheses after the word module. My submission otherwise has "its own learning objectives, content, and activities" but is more around 1 week to maybe 2 weeks (if students are more introductory level). It would also be helpful if determinations like this are made sooner than 10 months in "pre-review."

labarba commented 3 years ago

What I quote is the ideal length from my perspective, given that JOSE will give "one publication credit" for the work. We want to be mindful that JOSE papers are taken seriously by the community. One to 2 weeks of a course is 2.5 to 5 hours of instruction. That is borderline, in my assessment. We have reviewed submissions that are like a tech-conference tutorial (which tend to vary between 4 and 8 hours of live instruction). It sounds like it might be possible to consider this submission, maybe if you were willing to put in a bit of work on making it more clear that this is not for a single in-class activity (that would be below the bar). Maybe combining the application with a written tutorial. Did you submit to the software, or to the learning module article type?


Our documentation is not perfect, but like for any journal, looking at past published papers should help gage the scoping question. As for the 10 months in pre-review, JOSE is an initiative led by the volunteer editors, who have faced immeasurable challenges the past 14 months, for obvious reasons. One in five of our editors have completely stopped responding, and we don't know about their wellbeing. I personally have a work backlog measured in months not weeks, but I'm here on a Sunday to give just a bit more of me.

labarba commented 3 years ago

@whedon query scope

whedon commented 3 years ago

Submission flagged for editorial review.

cicirello commented 3 years ago

@labarba I submitted it to the software article type. There is a written tutorial within the application itself.

labarba commented 3 years ago

hi @cicirello β€” could you add in the paper a description of the expected instruction time with this tutorial? Include an idea of any direct instruction (lecture) needed to get the lesson started, and expected student self-directed-learning time. (I've made a note to add this to the documentation as something we want in the paper.) Also useful would be a few sentences of advice to any instructor who wished to adopt this in their own teaching.

From our docs:

Computational learning modules should be complete and immediately usable for self-learning or adoption by other instructors.

We need a bit o help understanding how your submission satisfies this criterion.

cicirello commented 3 years ago

@labarba I can do that. I think I can find time this week actually.

cicirello commented 3 years ago

@whedon commands

whedon commented 3 years ago

Here are some things you can ask me to do:

# List Whedon's capabilities
@whedon commands

# List of editor GitHub usernames
@whedon list editors

# List of reviewers together with programming language preferences and domain expertise
@whedon list reviewers

EDITORIAL TASKS

# Compile the paper
@whedon generate pdf

# Compile the paper from alternative branch
@whedon generate pdf from branch custom-branch-name

# Ask Whedon to check the references for missing DOIs
@whedon check references

# Ask Whedon to check repository statistics for the submitted software
@whedon check repository
cicirello commented 3 years ago

@whedon check references

whedon commented 3 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/ICPP.1999.797428 is OK
- 10.1007/s11276-005-5266-y is OK
- 10.1145/1508865.1508951 is OK
- 10.1145/1047344.1047409 is OK

MISSING DOIs

- 10.1007/springerreference_5277 may be a valid DOI for title: Bin packing

INVALID DOIs

- None
cicirello commented 3 years ago

@whedon check repository

whedon commented 3 years ago
Software report (experimental):

github.com/AlDanial/cloc v 1.88  T=0.09 s (369.2 files/s, 60064.5 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Java                            18            298            836           2623
HTML                             3             83              0            454
Maven                            1             17              0            313
TeX                              2             84             62            302
Markdown                         3             61              0            294
YAML                             5             43             30            182
SVG                              2              0              0              2
TOML                             1              2              6              2
-------------------------------------------------------------------------------
SUM:                            35            588            934           4172
-------------------------------------------------------------------------------

Statistical information for the repository '17b6daf1f5a0eebcb04a0699' was
gathered on 2021/06/09.
The following historical commit information, by author, was found:

Author                     Commits    Insertions      Deletions    % of changes
Vincent A. Cicirello            18           766            110           22.02
Vincent Cicirello                3          3102              1           77.98

Below are the number of rows from each author that have survived and are still
intact in the current revision:

Author                     Rows      Stability          Age       % in comments
Vincent A. Cicirello       3757          490.5          0.1               22.25
cicirello commented 3 years ago

@whedon generate pdf

whedon commented 3 years ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

cicirello commented 3 years ago

@labarba I just revised the paper to include expected instruction time, as well as advice on how to incorporate into courses. As part of this, I also added a directory to the repository with an example assignment, that includes both a LaTeX source file so that others can easily adapt to their own specific course needs, including some source comments with suggestions to instructors, as well as a pdf which can either be used by instructors if they don't wish to make any changes, or by self-directed learners. Among the revisions to the paper itself includes suggestions for how that assignment can be incorporated into classes.

labarba commented 3 years ago

@campbe13 – hi! πŸ‘‹ A while back you signed up to be a reviewer for JOSE, the Journal of Open Source Education. I wonder if you could help us out with this submission here: Interactive Bin Packing: A Java Application for Learning Constructive Heuristics for Combinatorial Optimization View article proof on GitHub It's a Java application that generates random instances of the bin packing problem, to be used as a tutorial and an activity for students.

labarba commented 3 years ago

@adeepak7 – hi! πŸ‘‹ A while back you signed up to be a reviewer for JOSE, the Journal of Open Source Education. I wonder if you could help us out with this submission here: Interactive Bin Packing: A Java Application for Learning Constructive Heuristics for Combinatorial Optimization View article proof on GitHub It's a Java application that generates random instances of the bin packing problem, to be used as a tutorial and an activity for students.

adeepak7 commented 3 years ago

@labarba Thank you for giving me this opportunity. Having worked on standalone JAVA applications and their respective deployments, I promise to provide constructive feedback and raise relevant issues.

labarba commented 3 years ago

@whedon assign @labarba as editor

whedon commented 3 years ago

OK, the editor is @labarba

labarba commented 3 years ago

@whedon assign @adeepak7 as reviewer

whedon commented 3 years ago

OK, @adeepak7 is now a reviewer

labarba commented 3 years ago

Thank you for agreeing to review this for us, @adeepak7! I'm looking for a second reviewer, after which we will start the review on a new GitHub issue that will contain a checklist for each reviewer. You can start looking at the submission, but hold off on comments until we open the Review issue. πŸ™

labarba commented 3 years ago

Looks like we're short of a reviewer for this submission. Sorry for the delay, @cicirello !

@mattforshaw β€” You signed to review for JOSE (The Journal of Open Source Education) a while back. Would you be interested in contributing a review for this one? Interactive Bin Packing: A Java Application for Learning Constructive Heuristics for Combinatorial Optimization View article proof on GitHub It's a Java application that generates random instances of the bin packing problem, to be used as a tutorial and an activity for students.

cicirello commented 3 years ago

@labarba Delay is understandable, between covid, start of semester for many potential reviewers, etc....

adeepak7 commented 3 years ago

@cicirello @labarba Apologies for the delay from my side as well. After a lot of hurdles, I moved to the U.S. for the first time.

labarba commented 3 years ago

@whedon add @turketwh as reviewer

whedon commented 3 years ago

OK, @turketwh is now a reviewer

labarba commented 3 years ago

Thank you @adeepak7 and @turketwh for agreeing to review this JOSE submission! I will now start the review, which will happen in a new GitHub issue. You will have a review checklist there. Be sure to accept the invitation you will receive from GitHub, which will open your permissions to edit on the checklist. πŸ™

labarba commented 3 years ago

@whedon start review

whedon commented 3 years ago

OK, I've started the review over in https://github.com/openjournals/jose-reviews/issues/140.