Closed BeastyBlacksmith closed 2 years ago
Typically, when I'm designing a lesson, I want to start from learning objectives and work backwards from that, rather than starting from lesson content and then trying to bolt on learning objectives after the fact. I haven't had a chance to look through all of the SWC teacher docs - is there an agreed upon set of LOs for this kind of lesson?
I'm sure the trebuchet example will work fine for whatever, but the way we tell the story may depend on what skills we want students to come away with. For julia, a very pared down list might be something like:
I’d be happy to help with this if it’s still of interest. I was starting to work out a plot before I saw this incubator and was thinking that mirroring the plot in software carpentry Programming in Python might be a good route. I think an explanation of multiple dispatch would make sense in a more advanced class.
@Jdbeck66
I’d be happy to help with this if it’s still of interest.
Absolutely!
I was starting to work out a plot before I saw this incubator and was thinking that mirroring the plot in software carpentry Programming in Python might be a good route. I think an explanation of multiple dispatch would make sense in a more advanced class.
I agree with you, but let me elaborate a bit. I'd like to give students transferable knowledge, that they can apply also in other contexts and, perhaps, with other languages. As much as I love multiple dispatch, I don't think this is fundamental for them to understand the basics of programming (I think classes and objected-oriented programming aren't part of the Python lesson?). Of the points suggested by Kevin, I agree with the first 4, not sure about type system. Talking about projects/environment with focus on reproducibility, however, can be really important, and certainly something that many students will find useful in other contexts and with other tools.
Good points. My main motivation for including types/dispatch is that I remember the majority of errors I encountered early on were MethodErrors
, and they were a bit inscrutable coming from python. That said, I definitely agree that it doesn't need to be lingered upon, and could in fact be taught as part of a general "how do I approach errors" episode or something
Showcasing and explaining MethodError
s is indeed a good point. Multiple dispatch can perhaps be included in the "defining functions" section, without going too much into details
Hey all,
I’m committed to doing a Julia tutorial at the end of March and have been encouraged to follow the software carpentry corollary for Python, only using original genomics data that we have on hand at the University. I’d be happy to share that as a starting point if you’d like.
JB On Sun, Feb 28, 2021 at 8:51 AM Mosè Giordano notifications@github.com wrote:
Showcasing and explaining MethodErrors is indeed a good point. Multiple dispatch can perhaps be included in the "defining functions" section, without going too much into details
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/carpentries-incubator/julia-novice/issues/3#issuecomment-787473141, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACZNPS7BAV3QRKJL25PNMHLTBJQ63ANCNFSM4WFSASKQ .
-- Jim Beck Ph.D. Student - Computing, Computational Science and Engineering Boise State University
@Jdbeck66 sharing your work would be definitely great! Note that there is a tentative lesson already in #4, but we can try to find a synthesis between these two lessons in order to match the learning objectives we want to meet.
I think the ship has sailed by now
Hey Collaborators,
I do think that the first thing, we should decide on ist the plot of the lesson. I proposed in #1 that we could use a simplified version of the Trebuchet example. We could introduce custom types and the basics of multiple dispatch by writing a basic ForwardDiff implementation and use
ForwardDiff.jl
after we introduced the package manager later on for the optimizing the Trebuchet example.What do you think about that? Do you have other stories in mind? Curious to read your ideas.