Skip to content

Commit

Permalink
Merge branch 'master' of github.com:CurricularAnalytics/CurricularAna…
Browse files Browse the repository at this point in the history
…lytics.jl
  • Loading branch information
haydenfree committed Apr 23, 2021
2 parents 4f48f2a + e95b06b commit 2549bb8
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 11 deletions.
7 changes: 5 additions & 2 deletions .github/workflows/TagBot.yml
@@ -1,9 +1,12 @@
name: TagBot
on:
schedule:
- cron: 0 * * * *
issue_comment:
types:
- created
workflow_dispatch:
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
Expand Down
3 changes: 2 additions & 1 deletion Project.toml
@@ -1,7 +1,7 @@
name = "CurricularAnalytics"
uuid = "593ffa3d-269e-5d81-88bc-c3b6809c35a6"
authors = ["Greg Heileman <gregheileman@gmail.com>", "Hayden Free <hayden.free@uky.edu>", "Orhan Abar <orhan.abar@uky.edu>", "Will Thompson <wgthompson@uky.edu>"]
version = "1.1.1"
version = "1.2.1"

[deps]
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
Expand All @@ -22,4 +22,5 @@ DataFrames = "0.21.0"
DataStructures = "0.17.0"
Documenter = "0.24.0"
LightGraphs = "1.3.0"
MetaGraphs = "0.6"
julia = "1.3, 1.4, 1.5"
18 changes: 17 additions & 1 deletion src/DataTypes/Course.jl
@@ -1,4 +1,20 @@
# Course-related data DataTypes
# Course-related data types:
#
# AbstractCourse
# / \
# Course CourseCollection
#
# A requirement may involve a set of courses (CourseSet), or a set of requirements (RequirementSet), but not both.
"""
The `AbstractCourse` data type is used to represent the notion of an abstract course that may appear in a curriculum
or degree plan. That is, this abstract type serves as a placeholder for a course in a curriculum or degree plan,
where the abstract course may correspond to a single course, or a set of courses, where only one of the courses in the
set should be taken at that particular point in the curriculum or degree plan. This allows a user to specify a course
or a collection of courses as a part part of a curriculum or degree plans. The two possible concrete subtypes of
an `AbstractCourse` are:
- `Course` : a specific course.
- `CourseCollection` : a set of courses, any of which can serve as the required course in a curriculum or degree plan.
"""

abstract type AbstractCourse end

Expand Down
8 changes: 1 addition & 7 deletions src/DataTypes/DegreePlan.jl
Expand Up @@ -72,7 +72,7 @@ mutable struct DegreePlan

# Constructor
function DegreePlan(name::AbstractString, curriculum::Curriculum, terms::Array{Term,1},
additional_courses::Array{AbstractCourse,1}=Array{AbstractCourse,1}())
additional_courses::Array{<:AbstractCourse,1}=Array{AbstractCourse,1}())
this = new()
this.name = name
this.curriculum = curriculum
Expand All @@ -93,12 +93,6 @@ mutable struct DegreePlan
this.metadata = Dict{String, Any}()
return this
end

# Generates a warning but is currently needed.
# This SHOULD NOT be needed but for some reason Julia fails to recognize when concrete elements is passed but the method accepts abstract type
function DegreePlan(name::AbstractString, curriculum::Curriculum, terms::Array{Term,1}, additional_courses::Array{Course,1}=Array{Course,1}())
DegreePlan(name, curriculum, terms, convert(Array{AbstractCourse}, additional_courses))
end
end

# Check if a degree plan is valid.
Expand Down
2 changes: 2 additions & 0 deletions src/DataTypes/LearningOutcome.jl
Expand Up @@ -26,6 +26,8 @@ mutable struct LearningOutcome
hours::Int # number of class hours that should be devoted
# to the learning outcome
requisites::Dict{Int, Requisite} # List of requisites, in (requisite_learning_outcome, requisite_type) format
affinity::Dict{Int, Real} # Affinity to other learning outcomes in (LearningOutcome ID, affinity value) format,
# where affinity is in the interval [0,1].
metrics::Dict{String, Any} # Learning outcome-related metrics
metadata::Dict{String, Any} # Learning outcome-related metadata

Expand Down

2 comments on commit 2549bb8

@haydenfree
Copy link
Member Author

Choose a reason for hiding this comment

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

@JuliaRegistrator
Copy link

Choose a reason for hiding this comment

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

Error while trying to register: "Tag with name v1.2.1 already exists and points to a different commit"

Please sign in to comment.