Resources for Instructors
INTRO:
This page is meant to serve as a resource for anyone who is interested in developing and teaching their own data science bootcamps. We provide some useful tips on how to prepare for teaching such bootcamps based on our instructors’ personal experience.
TEACHING PREP:
Developing a syllabus
When developing a syllabus, you want to make sure that the material you’re teaching is useful and of interest for the students as well as material that you’re comfortable teaching. Asking students to fill out a survey containing a list of all the possible topics of instruction can be an effective method of selecting the material for the syllabus, but it’s important to only list topics that you’re comfortable teaching. We suggest avoiding open response surveys, since most students don’t have a clear idea of what skills they need to go into research and reading through all of the open responses can be quite time consuming.
Always have the end-goals in mind, what should the students take away from these bootcamps? Build the syllabus based on those end goals and ask yourself what they need to know in order to achieve those end goals. Instructors should reflect on what tools and skills they found most helpful for their own research and select the materials accordingly.
Dividing the work
Teaching a bootcamp by yourself can be extremely challenging, so finding a few colleagues to split the work with can make your experience much more enjoyable. In our bootcamps, we have three primary roles:
- the instructor: only focuses on teaching their lesson
- the facilitator: checks for students’ questions and pace of the instructor
- teaching assistants (TAa): are the main point of contact for students, answering their questions and helping them when they get stuck.
This partition can really reduce the mental load on the instructor, since the instructor can just focus on what they’re teaching and leave the more logistical aspects to the facilitator, who will be a mediator between the students and the instructor.
Structuring the lessons
Being clear and intentional is key for a successful bootcamp. Here is an example of the structure used by our intro to scientific programming instructors:
- Put forward the goals for the day
- Short review of what was taught in the previous lesson
- Explain concept/topic and show an example
- Let the students do it themselves
- Wait for all students to complete the exercise (green checks)
- Go over the example yourself
Note that steps 3-6 are repeated multiple times in one lesson.
Practice, practice, practice
Practice is fundamental before teaching any material. There is no other way to improve your teaching skills than through practicing the content you’ll be teaching several times. Try different methods and see what works best for you. We suggest practicing teaching in front of your friends as well as by yourself, not only to get used to hearing yourself teaching the material but also for time-management reasons. Often content that we think we can teach in half an hour actually requires two hours and vice versa, so by practicing and even recording yourself teaching, you can track how much time you’ll need to teach your lesson. A tip from our instructors is that of always going for less material to avoid rushing towards the end, maintaining a slow pace is very important especially in introductory courses. Live coding can be really challenging, so practicing with people that already have some experience with live coding can be very insightful and you can gain valuable feedback from them.
Softwares and Strategies
Softwares Used
- The lessons are held on Zoom and last 2.5 hours
- Students ask questions to the teaching assistants on Slack, which is a messaging software developed for the workplace
- We make our students download the jupyter notebooks directly on their laptops so that they have them installed at all times and we suggest asking them to download the notebooks before the first day of class
- We record every class and upload the recordings on Dropbox
- We keep track of attendance on google drive
Strategies
- We check in with our students often to make sure that everyone is following along, and we do so by asking them to react with a green check on Zoom if they’re able to keep up with the pace.
- At the end of each day we send out a short survey for students to let us know where they’re at, how they’re finding the classes, and if they’re finding it hard to follow along.
- We hold office hours after class to offer students the opportunity to connect and ask questions on the material covered during class or on their own research projects.
LIVE CODING:
What is live coding?
Live coding is a key element of our bootcamps, where instructors write code in real time along with students, making it easier for students to follow along with what the instructor is programming. Live coding is a great technique to use when teaching because it gives students the opportunity to directly apply the concepts and knowledge they are learning while having the instructor’s guidance. However, maintaining a slow pace becomes extremely important, as instructors need to make sure that everyone is able to follow along and is understanding what they’re doing. Learning how to live code can be challenging, so learning from people who already have some experience with live coding can be extremely useful. Our instructors compiled a list of useful tips for people who intend on using such a skill in their bootcamps.
Useful tips for live coding
AUDIENCE ENGAGEMENT
- Spell out what you’re typing out and narrate the process while students code on their own
- Check in with the students frequently and make sure to have at least a 75% positive feedback before moving onto a new section
- Code at a slower speed than you would normally do
SCREEN MANAGEMENT
- Make your screen big enough for people to clearly see what you’re typing
- Remove all other distractions from your screen
MINIMIZING MISTAKES
- Choose data sets that you’re familiar with
- Practice is always key, so make sure you know your examples in and out
- Remember that in the end making mistakes while live coding is normal and it can actually help students feel better about their learning process
Additional Tips for Organizers:
Planning on organizing your own bootcamp series at your home institution? Want more advice? Get in touch with us!