Community Data Science Workshops (Spring 2014)/Reflections: Difference between revisions

Content added Content deleted
imported>Mako
imported>Mako
Line 56: Line 56:
=== Projects ===
=== Projects ===


In the afternoon, we broken into small groups to work on projects. In each session we tried to have two projects on different topics for learners with different interests and a third project which was self-directed.
In the afternoons, we broken into small groups to work on "projects". In each afternoon we tried to have three afternoon project tracks: Two projects on different substantive topics for learners with different interests and a third project that was much more self-directed.


In sessions 1 and 2, the self direct projects were based on working through examples from Code Academy that we had put together and aggregated from material already online. In the Code Academy room, students could work at their own pace and there mentors on hand to work with them. In Session 3, we did not use Code Academy but instead had a room that was devoted to students working with mentors on data science projects of their chose. In this case, we asked that, because of issues with the student to mentor ratio, students only participate in this session if they felt they could be self-sufficient and willing to work on their own 70-80% of the time with mentor help the rest of the time.
In Sessions 1 and 2, the self-directed projects were based on working through examples from [http://www.codecademy.com/ Code Academy] that we had put from material already online on the website. In the self-directed track, students could work at their own pace with mentors on hand to work with them when they became stuck.


In Session 3, we did not use Code Academy but instead devoted the self-directed room to students working with mentors on data science projects of their choice. Because of issues with the student to mentor ratio, we asked that students only participate in the self-directed track if they felt confident they could be self-sufficient working on their own 70-80% of the time.
In all other breakout sessions, student would download a prepared example in the form a of a zip file or tar.gz file. In each case, these projects would include:


In all other tracks, student would download a prepared example in the form a of a <code>zip</code> file or <code>tar.gz</code> file. In each case, these projects would include:
* All of the libraries necessary to run the examples (e.g., TweePy for the Twitter example).

* All of the data necessary to run the example programs (e.g., a full English wordlist).
* All of the libraries necessary to run the examples (e.g., [http://www.tweepy.org/ Tweepy] for the Session 2 Twitter track).
* All of the data necessary to run the example programs (e.g., a full English word list for the Wordplay exampl,e).
* Any other necessary code or libraries we had written for the example.
* Any other necessary code or libraries we had written for the example.
* A series of small numbered example programs (~5-10 examples). Each tried to be sparse, well documented, and not more than 10-15 lines of Python. Each program would do something concrete but also provide an example for learners to modify.
* A series of small numbered example programs (~5-10 examples). Each example program attempts to be sparse, well documented, and not more than 10-15 lines of Python code. Each program tried both to do something concrete but also provide an example for learners to modify. Althought it was not always possiible, the example programs tried to only used Python concepts we had covered in class.


On average, the sessions involved about 1/3 amount of interactive lecture where the lead mentor would walk through one or more of the examples explaining the code in detail.
On average, the non-self-directed afternoon tracks constituted of about 30% impromptu lecture where a designated lead mentor would walk through one or more of the examples explaining the code and concepts in detail and answerinig questions.


For most of the sessions, however, the lead mentor would present a list of increasingly difficult challenges which would be listed for the entire group (often in comments in source code of an example project).
Afterward, the lead mentor would then present a list of increasingly difficult challenges which would be listed for the entire group to work on sequentially. These were usually written on a whiteboard or projected and were often added to dynamically based on student feedback and interest.


Learners would work on these challenges at their own pace working with Mentors for help. If the group was stuck on a concept or tool, the lead mentor would bring the group back together to walk through the concept using the project in the full group.
Learners would work on these challenges at their own pace working with mentors for help. If the group was stuck on a concept or tool, the lead mentor would bring the group back together to walk through the concept using the project in the full group.


In cases, more advanced students could "jump ahead" and begin working on their own challenges or changing the code to work in different ways. This was welcome and encouraged.
In cases, more advanced students could "jump ahead" and begin working on their own challenges or changing the code to work in different ways. This was welcome and encouraged.

In all cases, we gave students red sticky notes they could use to signal that they needed help (a tool borrowed from [http://software-carpentry.org/ SWC]).


== Session 0: Python Setup ==
== Session 0: Python Setup ==