Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add simulation capabilities #99

Merged
merged 10 commits into from
Aug 12, 2020

Conversation

haydenfree
Copy link
Member

This request merges @jiachengzhang1 simulation code. Some clean up is necessary before merging to development, but this request provides a thread to review and discuss changes. I’ll have some more notes and likely some commits by Monday.

@haydenfree haydenfree added the enhancement New feature or request label Aug 8, 2020
@haydenfree haydenfree self-assigned this Aug 8, 2020
@heileman
Copy link
Contributor

heileman commented Aug 8, 2020

Hayden, can we create a separate branch for this? I.e., separate from development? Given the specific functionality it is providing, I though "simulation" would make sense.

@jiachengzhang1
Copy link
Contributor

Do you recommend I separate the simulation from the toolbox entirely? i.e. the simulation utilizes the analytics toolbox instead of changing some of the data type like Course

@haydenfree
Copy link
Member Author

My gut feeling is to add this capability directly into the toolbox, at least this "naive" implementation where we just use the pass rate of the course. I'll have more questions and insight after doing a full review, but if changes are needed to base data type(s) (i.e. Course) we would implement those changes in this package rather than extending or overriding the type(s) in another package.

Copy link
Member Author

@haydenfree haydenfree left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks really solid. Pretty much all of the changes are related to organizing things or sticking to snake case. Great work @jiachengzhang1!

README.md Outdated Show resolved Hide resolved
Comment on lines 24 to 27
include("Simulation/Simulation.jl")
include("Simulation/PassRate.jl")
include("Simulation/Enrollment.jl")
include("Simulation/Report.jl")
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to wrap these into one include("Simulation/Simulation.jl")? I was envisioning that the Simulation file would define a Simulation module which would bring in the other files

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the includes in Simulation/Simulation.jl 179c411

For module, since like DegreePlanAnalytics.jl and others don't using module, so may be we shouldn't use module for the simulation for consistency?

Copy link
Member Author

@haydenfree haydenfree Aug 10, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. For consistency we should do it the way you outlined, but I'm not sure if there are any benefits to putting things into modules... Might be an opportunity to improve performance?

Gonna include some links to come back to, but feel free to check them out. Once we merge this it might be worth checking out a branch to modularize everything.
https://docs.julialang.org/en/v1/manual/modules/
https://discourse.julialang.org/t/large-programs-structuring-modules-include-such-that-to-increase-performance-and-readability/29102
https://discourse.julialang.org/t/loading-only-what-you-need/39465

src/DataTypes/Course.jl Outdated Show resolved Hide resolved
src/DataTypes/Course.jl Outdated Show resolved Hide resolved
src/DataTypes/Simulation.jl Outdated Show resolved Hide resolved
src/DataTypes/Simulation.jl Outdated Show resolved Hide resolved
src/Simulation/Enrollment.jl Show resolved Hide resolved
src/Simulation/Enrollment.jl Outdated Show resolved Hide resolved
src/Simulation/PassRate.jl Show resolved Hide resolved
src/Simulation/Simulation.jl Outdated Show resolved Hide resolved
@heileman
Copy link
Contributor

heileman commented Aug 9, 2020

I agree, the capabilities should be added directly to the toolbox.

@heileman
Copy link
Contributor

heileman commented Aug 10, 2020 via email

@jiachengzhang1
Copy link
Contributor

Greg,

I created a new branch called simulation-dev on jiachengzhang1/CurricularAnalytics.jl, you could push the change to that branch, and I will create a pull request to merge the changes to the master branch.

@haydenfree
Copy link
Member Author

@jiachengzhang1, is it possible for Greg to just push to master? Then those changes will automatically be included in this pull request.

@jiachengzhang1
Copy link
Contributor

@haydenfree From what I'm understanding, @heileman made changes on the old version(before yesterday’s commit), I don't know if there any conflict between his edits and new changes. If there isn't, he can just pull, then push his changes to the master.

@heileman
Copy link
Contributor

heileman commented Aug 10, 2020 via email

@jiachengzhang1
Copy link
Contributor

@heileman Just sent you an invitation

@haydenfree
Copy link
Member Author

haydenfree commented Aug 11, 2020

@heileman I don't think you did a pull and merge before pushing. I think we can either revert or one of you could pull in Jiacheng's last commit on top?

Alternatively, Greg, if I reset the repository to be at Jiacheng's previous commit can you add back in the changes you made? You should be able to find them in the commit above and paste them, I'm just not sure what files you meant to change.

This reverts commit f63a2a9.
@heileman
Copy link
Contributor

heileman commented Aug 11, 2020 via email

@haydenfree
Copy link
Member Author

Jiacheng did a revert since your previous push undid his commit (it had a lot of changes in it). Everything you pushed before is still here: f63a2a9?file-filters%5B%5D=.jl

I'm not sure which files you actually implemented changes in vs his changes. Can you take a look and see if you can pick them out? You can re-add them and push

@jiachengzhang1
Copy link
Contributor

jiachengzhang1 commented Aug 11, 2020 via email

@jiachengzhang1
Copy link
Contributor

Greg's change is here f63a2a9
I'm trying to merge simulation-dev into master, but realize that if merge, the changes made in master will still be overwritten.

@heileman
Copy link
Contributor

heileman commented Aug 12, 2020 via email

@haydenfree
Copy link
Member Author

Looks good to me. Should I go ahead and merge to development of main repo?

@heileman
Copy link
Contributor

heileman commented Aug 12, 2020 via email

@jiachengzhang1
Copy link
Contributor

jiachengzhang1 commented Aug 12, 2020 via email

@heileman
Copy link
Contributor

heileman commented Aug 12, 2020 via email

@haydenfree haydenfree merged commit 8f17d05 into CurricularAnalytics:development Aug 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants