1. 1

    If anyone is intersted in this but would like something slightly less technical, I really liked this video with Tom Scott.

    1. 5

      Going back to university after Christmas break. In addition to new and exciting classes, this semester I’m going to be a student assistant and help students one year below me with an Intro to OOP in Java class. I’m also going to be joining a student initative to teach coding (Scratch and Python) to younger students (Lower Secondary School in Norway, age 13-16). Any teachers/tutors want to share some tips?

      1. 7

        I taught a course for 8th grade students using Scratch last semester. I just want to warn you that, for younger students (ours were 13-14 years old), it can be hard to get their attention. This is especially true in a computer lab where there’s a world wide web of distractions sitting in front of them. This was mainly because our students didn’t self-select, but were chosen by the assistant principal of the school we were working with. Also, we tried using Python in the course at first, but that wasn’t really working with the kids because they didn’t understand why they were doing anything. That’s why we moved to Scratch because you can get richer visual feedback.

        So, to summarize, some key takeaways.

        1. Make sure the students are self-motivated and actually want to be there. This may or may not be under your control.
        2. If you need to lecture, make sure the students are not sitting in front of the computer screens when you are. If this isn’t possible, tell them to turn their monitors off during the lecture portion.
        3. Recognize that students think in a different way than you. Some things you find interesting they will find boring. For instance, anything involving UNIX. Philip Guo wrote a great article about a trap you should avoid falling into. http://pgbovine.net/two-cultures-of-computing.htm
        4. Don’t get too discouraged if you feel you aren’t getting through to the kids. Teaching children is hard. That’s why we pay professional teachers to do it (although in the US we probably don’t pay them enough, compared to Norway).
        1. 3

          This Philip Guo article is great, thank you for sharing! Maybe we need a pedagogy/teaching tag (or regular thread?)

          1. 4

            Yeah, he really has some great insights on teaching CS and programming. I just graduated and will be moving away to work, but my co-instructors are all continuing on to teach in the Spring semester. I sent them all this article after I read it because I think it is something very useful to keep in mind. Also, for anyone teaching Python to beginners, Philip Guo’s Ph.D. thesis was Python Tutor, a really neat tool for visualizing the execution of a Python program.

        2. 4

          I’ve been teaching coding (w/ a sort of barfy Javascript curriculum) to middle & high school girls for a bit. Try to recognize when someone needs actual help and when they need attention. Find ways to divert the latter when it gets the point of being disruptive; a good technique is having the person sitting next to them help them finish the task. Allocate way more time than you think you need for setup/login/environment configuration. Seriously, practice beforehand giving the instructions and allocate twice as much time as you think you’ll need.

          1. 2

            My senior year of high school I was a student assistant for a Scratch/Python intro course. The biggest issue I had (and still have while tutoring) is not just saying the answer. Coming up with different ways to phrase an assignment (or chunk of an assignment), and coming up with leading questions on how to get to the right result can be difficult. It’s also difficult for me to not introduce new ideas and concepts that are beyond the material being taught while helping people.

            1. 4

              Lesson plans really help with this. Have some material to cover, problems they should be able to answer and a series of questions (Socratic method) that help the students complete the problems.

              1. 2

                Plans would be nice, but I don’t really have the ability to do that. Right now I’m just one of my CS department’s tutors, and the way my school’s tutoring system works is by appointment, and most people are really bad about specifying what class their in and what assignment they’re working on (or they say something like “I’m working on assignment 3”, which means nothing to me).

          1. 3

            meta-meta: Perhaps an ask tag does need to be added after all. meta should really just be for site-specific things, not asking the community at large (and also new users have it filtered by default, and many of them never turn it off).

            1. 2

              maybe there should be a heads up to new users that meta is filtered out?

              1. 6

                I’m actually thinking it shouldn’t be filtered by default anymore. In the beginning it was done because so much of the discussion was about the site itself: people asking for features, questions about policy, etc. Now it seems like such a small percentage of traffic that users probably won’t be bothered enough to filter out the tag.

                Edit: I’ve made a new ask tag and removed the meta filter from the default set of tags.

                1. 2

                  Good call. I just registered and was wondering why meta was filtered away by default. This seems like the kind of site where the users are very interested in the meta things.