This notebook analyzes, at a fundamental level, the curricular reforms implemented by the College of Engineering at Wright St. University. This analysis is specific to the Electrical Engineering (EE) program, and is broadly applicable to EE undergraduate programs at any institution.
To learn more about the reforms implemented at Wright St. University, see: The Wright State Model for Engineering Mathematics Education: Longitu- dinal Impact on Initially Underprepared Students https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=2ahUKEwj9iK6alvjfAhWFc98KHa8IACMQFjAEegQIARAC&url=https%3A%2F%2Fwww.asee.org%2Fpublic%2Fconferences%2F56%2Fpapers%2F13229%2Fdownload&usg=AOvVaw1YuU6uySDzLC_5PjiSo7ci
First, let's take care of the things that allow you to use the CurricularAnalytics.jl toolbox.
if split(pwd(), Base.Filesystem.path_separator)[end] != "CurricularAnalytics.jl"
cd("../../..")
end
using Pkg
pkg"activate ."
using CurricularAnalytics
┌ Info: Recompiling stale cache file /Users/orhanabar/.julia/compiled/v1.0/CurricularAnalytics/pJfqI.ji for CurricularAnalytics [593ffa3d-269e-5d81-88bc-c3b6809c35a6] └ @ Base loading.jl:1190 WARNING: could not import Base.quit into AtomShell
Let's first consider a few electrical engineering curricula.
include("./examples/notebooks/WrightSt-Reform/UH_EE_curric.jl")
visualize(dp; notebook=true)
include("./examples/notebooks/WrightSt-Reform/Cornell_EE_curric.jl")
visualize(dp; notebook=true)
dp = read_csv("./examples/Notebooks/WrightSt-Reform/EE-CalculusReady.csv")
The following command will analyze the complexity of the curriculum associated with the degree plan object that we just created. To learn more about curricular complexity, see:
complexity(dp.curriculum)
visualize(dp; notebook=true, scale=0.5)
In the design pattern displayed above, for an electrical engineering program, notice that the assumption is that students enter Calculus I ready, and that if they are able to successfully complete all of the prerequisite courses, they will be able to take Circuits I (a foundational electrical engineering course) in the second semester of their sophomore year. Notice that the overall curricular complexity of this design pattern is ?.
Now let's look at what happens to students who are not Calculus I ready when they enter the institution -- let's assume instead that they are Precalculus ready. The curricular complexity increases to ?.
dp = read_csv("./examples/Notebooks/WrightSt-Reform/EE-PrecalculusReady.csv")
complexity(dp.curriculum)
visualize(dp; notebook=true)
Now let's look at what happens to students who are not Precalculus ready when they enter the institution -- let's assume instead that they are College Algebra ready. Notice that the longest path through the design pattern is growing, and that due to the prerequisite structure there is limited opportunity to move courses around. The curricular complexity is now ?.
dp = read_csv("./examples/Notebooks/WrightSt-Reform/EE-AlgebraReady.csv")
complexity(dp.curriculum)
visualize(dp; notebook=true)
Finally let's look at what happens to students who enter the institution starting with Foundational Math. The curricular complexity is now ?.
dp = read_csv("./examples/Notebooks/WrightSt-Reform/EE-FoundationalMath.csv")
complexity(dp.curriculum)
visualize(dp; notebook=true)
A reformed curriculum was implemented at Wright State University. The key factor enabling this innovation is that fact that a typical Circuits I course only requires the ability to solve first order differential equations, and that it's possible to teach basic concepts regarding first order differential equations, as well as solution techniques, to students prior to taking Calculus I. At Wright State University, this knowledge is imparted in the Engineering 101 class in the very first semester. Here's what the reformed curriculum looks like:
dp = read_csv("./examples/Notebooks/WrightSt-Reform/EE-Reformed.csv")
complexity(dp.curriculum)
visualize(dp; notebook=true)