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

revised learning objectives for data types and formats lesson #63

Closed
wants to merge 2 commits into from

Conversation

valpasq
Copy link

@valpasq valpasq commented May 25, 2016

Created a new set of learning objectives to better match lesson content. Grouped and labeled new objectives by level in Bloom's taxonomy.

created a new set of learning objectives to better match content, grouped and labeled by level in Bloom's taxonomy
@wrightaprilm
Copy link
Contributor

This looks good to me. Is this for instructor training?

@valpasq
Copy link
Author

valpasq commented May 25, 2016

Yes, this is for instructor training. Sorry, I should have put that in the commit message. I am from the Boston University group that did training with Greg on 4/14/2016.

@wrightaprilm
Copy link
Contributor

OK. Make sure to drop Greg a line with a link to the issue. This looks like a nice addition to me, how about you @qjcg?

@qjcg
Copy link
Contributor

qjcg commented May 25, 2016

Hi @valpasq, thanks for your contribution.

While I appreciate the idea of using Bloom's taxonomy to organize the objectives, none of the other lessons in this repo (or other Data/Software Carpentry lessons, for that matter) explicitly take that approach. I think to accept this pull request, we'd either need to modify all of the other lesson objectives, or rework the objectives you've submitted to maintain a consistent approach accross lessons.

How do you feel on this point, @wrightaprilm?

@wrightaprilm
Copy link
Contributor

That's a good point - I thought the other pull requests I got notices for were going to this repo, but they're going to the R repo. In that light, I agree that we should hold off on merging it until one of us (or another participant) does this for the rest of them.

@valpasq
Copy link
Author

valpasq commented May 25, 2016

I was going off of the recommendations in Greg's checkout procedure e-mail:

We also appreciate improvements to our lessons' learning objectives. In particular, we would like checked against the actual lesson content, and would also like them labelled according to the levels of Bloom's Taxonomy.

...but I definitely agree that it would be preferable to have a consistent structure for all of the learning objectives in the repo.

I will be going through this lesson in more depth to prep for the other parts of the instruction training checkout. As I do, I will work on improving and Bloom-a-fying the objectives for the other sections within the lesson and submit another pull request with any changes I make.

@tracykteal
Copy link
Contributor

Thanks @valpasq I really like this approach, and you've done a great job with these learning objectives. I think we could use this Python lesson as a pilot for stating the learning objectives this way. So, we wouldn't need to change all our other lessons.

I know it would be a fair bit more work, but @valpasq would you be able to help us create these objectives for the other modules of this Python lesson? @wrightaprilm @qjcg what do you think about piloting this strategy here?

@qjcg
Copy link
Contributor

qjcg commented May 26, 2016

I'm certainly open to piloting this approach to objectives here (and enthusiastic about trying new things with our lessons in general).

My view overall is that objectives should be concise & few in number, to keep learners' cognitive load down and help focus the lesson. I don't think this is incompatible with the proposed pilot approach.

@ErinBecker
Copy link
Contributor

@qjcg The balancing act between conciseness and usefulness of learning objectives to learners is a tough one. I think that @valpasq has done a good job here of keeping things relatively concise and yet making it possible for learners to assess whether they are on track with the content.

In my previous work helping professors re-write learning goals, I've found that, rather than specifying learning goals for each and every level of Bloom's, it can be useful to do a two-level grouping --> "lower order" = Bloom's first two levels and "higher order" = the other levels. This can help keep things a bit tidier while still providing good, measurable objectives.

@qjcg
Copy link
Contributor

qjcg commented May 26, 2016

@ErinBecker: thanks for the feedback! I like the idea of the two-level grouping. Did you consider "Apply" (level 3) to be lower or upper level, or was that decided case-by-case? Do you think you could give a brief example of a few objectives stated this way (perhaps using the objectives from this PR)?

Also, let me be clear: I'm happy with the objectives @valpasq is proposing in this PR, and do consider them an improvement over the older ones in the lesson. My point about "concise & few" objectives was meant to suggest a guiding principle, as we're talking about rewriting objectives for all of the lesson modules. I'd consider the new python-novice-gapminder lesson to be a good example of following a "concise & few" approach to objectives (see also #56).

That said, I'm confident that through this issue's ongoing discussion, we can together come to an agreement on how to proceed that reflects our various preferences and points of view --- "objectives for our objectives" if you will! 😉

@ErinBecker
Copy link
Contributor

@qjcg From my experience, "Apply" is generally grouped with the higher order levels. I can find some references if desired, but don't remember them off the top of my head.

My suggestion was simply to reduce visual clutter (for learners), but re-organizing the great objectives @valpasq wrote to something like this:

Lower-level objectives (Remember/Understand)

  • List the Pandas Type associated with each of the following Native Python Types: (1) string, (2) int, (3) float
  • Explain what an ‘NaN’ value is, and list at least two challenges of dealing with NaN data.
  • Describe the difference between floating point and integer numeric data types.
  • Identify a major limitation of storing numbers as strings, e.g. ‘5678’ or ’3.16’.

Higher-level objectives (Apply/Analyze/Evaluate/Synthesize)

  • Practice checking the data type of an object, e.g. a data frame, as well as a column within a data frame
  • Demonstrate how you would convert a float to an integer, then demonstrate how you would convert an integer to a float.
  • Demonstrate how you would replace NaN values with another value, e.g. 0 or -9999
  • Investigate how leaving NaN values as-is versus replacing with 0 impacts analysis results, such as calculation of the mean value.
  • Given what you’ve learned in this lesson, recommend an approach for dealing with NaN values in all attributes of the example dataset (surveys.csv) and explain your rationale

I also like what you've done with the learning objectives for the Python gapminder lesson and agree that if the lessons were to be chunked out into smaller modules like that, having this many objectives per module would be too many. A general rule might be, if you don't have time for one exercise per learning objective, you probably have too many learning objectives.

@qjcg
Copy link
Contributor

qjcg commented May 26, 2016

Looks good to me, and I'm in agreement with the spirit of that general rule.

What do others think?

@wrightaprilm
Copy link
Contributor

I like what you've done there, @ErinBecker. And I generally think reworking the learning objectives is a good move.

In terms of concrete steps, it seems like there are a few issues tied up here:

  1. This particular request, and merging it. Is what you're suggesting, @tracykteal, to merge this now? I'm still a little lukewarm on having one lesson be different from all the others (though this seems pretty innocuous), perhaps we could start a 'new-learning-objectives' branch, and merge it once every lesson has the new objectives format?
  2. Balancing reworking the objectives with the long-standing strategic plan of breaking up the lessons further. @qjcg and I haven't really discussed how or when to do that. So anyone who wants to work on the learning objectives, I think, should just work on them for the lessons in the present format.

@tracykteal
Copy link
Contributor

The grouping that @ErinBecker suggests looks good. Also her general rule of "if you don't have time for one exercise per learning objective, you probably have too many learning objectives."

It would be strange to just have one lesson this way, so I like the 'new-learning-objectives' branch idea, and we can work on this there. There is the issue of how to break things out. I think this process of figuring out the learning objectives will help in the process of figuring out how best to do that, so this is a good start.

So, let's not merge this, but instead start a different branch, add these learning objectives there and move forward on creating them for the other modules. @wrightaprilm and @qjcg can you help @valpasq with this process?

This is a checkout for @valpasq, and you should be able to consider yourself checked off. Just point @gvwilson at this PR and conversation. Thanks for a great contribution and discussion!

Grouped learning objectives into two (rather than five) levels, as per
comments on initial PR to update learning objectives
datacarpentry#63 (comment)
ent-221686570
@qjcg
Copy link
Contributor

qjcg commented May 27, 2016

I've created the new-learning-objectives branch integrating this PR, as well as issue #65 to track further discussion.

Thanks again for your contributions @valpasq, @ErinBecker et al, and I look forward to continuing to collaborate with you in moving this forward!

@ErinBecker
Copy link
Contributor

Sounds great John. I'm not a Python person, so I don't feel comfortable
writing LOs for these lessons, but if you ping me on new learning
objectives re-writes, I'll be happy to take a look.

Best,
Erin

On Fri, May 27, 2016 at 8:00 AM, John Gosset notifications@github.com
wrote:

I've created the new-learning-objectives branch
https://github.com/datacarpentry/python-ecology-lesson/tree/new-learning-objectives
integrating this PR, as well as issue #65
#65 to
track further discussion.

Thanks again for your contribution @valpasq https://github.com/valpasq,
@ErinBecker https://github.com/ErinBecker et al, and I look forward to
continuing to collaborate with you in moving this forward!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#63 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ASSbf-ZPS7QobXZkKmhQEDF-kH_a2pAQks5qFwcigaJpZM4Im4w2
.

Erin Becker, PhD
Data Carpentry, Associate Director
http://www.datacarpentry.org/
Research Associate, MMG Dept., UC Davis

@qjcg
Copy link
Contributor

qjcg commented May 27, 2016

Great Erin! To be pinged and stay updated on the state of these new objective rewrites, I'd recommend subscribing to GitHub notifications for issue #65 (via the "Subscribe" button in the right-hand column of the issue). Cheers!

@ErinBecker
Copy link
Contributor

Thanks John.

E

On Fri, May 27, 2016 at 8:59 AM, John Gosset notifications@github.com
wrote:

Great Erin! To be pinged and stay updated on the state of these new
objective rewrites, I'd recommend subscribing to GitHub notifications for
issue #65
#65 (via
the "Subscribe" button in the right-hand column of the issue). Cheers!


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#63 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/ASSbfw8Ts4yZvF3I_cQtZ-wnfOicJm7kks5qFxTwgaJpZM4Im4w2
.

Erin Becker, PhD
Data Carpentry, Associate Director
http://www.datacarpentry.org/
Research Associate, MMG Dept., UC Davis

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants