Python Workshops for Beginners/Reflections: Difference between revisions

Content added Content deleted
imported>Ehashman
No edit summary
Line 21: Line 21:
The evening session ran from 6 to 9PM, and involved self-guided completion of setup and introductory exercises. The rest of the sessions followed this approximate structure:
The evening session ran from 6 to 9PM, and involved self-guided completion of setup and introductory exercises. The rest of the sessions followed this approximate structure:


* '''Morning, 10:30 AM - 12:00 PM:''' A 1.5 hour lecture.
* '''Morning, 10:30 AM - 12:00 PM:''' Lecture with a 15-minute break in the middle.
* '''Lunch, 12:00 PM - 1:00 PM:''' Lunch is served.
* '''Lunch, 12:00 PM - 1:00 PM:''' Lunch is served.
* '''Afternoon, 1:00 PM - 1:15 PM:''' Afternoon sessions are introduced.
* '''Afternoon, 1:00 PM - 1:15 PM:''' Afternoon sessions are introduced.
Line 33: Line 33:
We had about 230 participants apply to attend the sessions. About 100 of those were immediately filtered out for eligibility: no math or engineering undergrads were permitted to attend the workshops, as their programs have significant required programming components (often 2-3 classes in far more depth than we covered). We selected on programming skill (to ensure that all attendees were complete beginners), enthusiasm, and overall application quality, and I capped the total at 50 participants given our budget.
We had about 230 participants apply to attend the sessions. About 100 of those were immediately filtered out for eligibility: no math or engineering undergrads were permitted to attend the workshops, as their programs have significant required programming components (often 2-3 classes in far more depth than we covered). We selected on programming skill (to ensure that all attendees were complete beginners), enthusiasm, and overall application quality, and I capped the total at 50 participants given our budget.


Sessions 0 and 1 had full attendance, but we lost about half our students for Session 2, which was held four weeks later during midterm season (initially planned to be a week earlier but there was a room booking conflict). Session 3 retained those students that attended Session 2. We attribute this rentention to poor timing (the heart of midterm season) and to the long space between the sessions.
Sessions 0 and 1 had full attendance, but we lost about half our students for Session 2, which was held four weeks later (initially planned to be a week earlier but there was a room booking conflict). We attribute this retention to poor timing (the heart of midterm season) and to the long space between the sessions. Session 3 retained most students that attended Session 2.


We collected detailed feedback from users at five points using the following Google forms (these are copies):
We collected detailed feedback from users at five points using the following Google forms (these are copies):
Line 47: Line 47:
=== Morning Lectures ===
=== Morning Lectures ===


The CDSW began each full day with 2h lectures with no breaks. This was a little too intense for the students, so I decided to reduce the length to 1.5h and break things up with short, self-directed exercises. These went over very well. Furthermore, I'm not as experienced of a lecturer as Mako, so I chose to use slides and distribute them to students, who told me it made it easier to follow along.
The CDSW in Seattle began each full day with a 120-minute lecture with no breaks. This was a little too intense for the students, so I decided to reduce the length to 1.5h and break things up with short, self-directed exercises. These went over very well. I'm not as experienced of a lecturer as Mako, so rather than lecturing freeform, I chose to use slides and distribute them to students, who told me it made it easier to follow along.


In the Session 3 survey, 35% of respondents said the lectures were "Good", 35% called them "Very Good" and 18% called them "Excellent". 94% of students rated the instructor positively (12% "Good", 47% "Very Good", 35% "Excellent") and the curriculum positively (35% "Good", 41% "Very Good", 18% "Excellent").
In the Session 3 survey, 35% of respondents said the lectures were "Good", 35% called them "Very Good" and 18% called them "Excellent". 94% of students rated the instructor positively (12% "Good", 47% "Very Good", 35% "Excellent") and the curriculum positively (35% "Good", 41% "Very Good", 18% "Excellent").
Line 57: Line 57:
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 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, one of our session leads did not show up; at the behest of students, I held a single afternoon session that involved working through various data science examples together as a class, and answered general questions about Python programming. It ended up being more of an extension of the morning lecture and next steps than the projects we had imagined.
In Session 3, one of our session leads did not show up; at the request of students, I held a single afternoon session that involved working through various data science examples together as a class, and answered general questions about Python programming. It ended up being more of an extension of the morning lecture and a discussion of next steps vs. the projects we had imagined.


In the 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:
In the 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:
Line 64: Line 64:
* All of the data necessary to run the example programs (e.g., a full English word list for the Wordplay example).
* All of the data necessary to run the example programs (e.g., a full English word list for the Wordplay example).
* 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 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.
* A series of small numbered example programs. 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. Although it was not always possible, the example programs tried to only used Python concepts we had covered in class.


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 answering questions.
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 answering questions.