EppsNet Archive: Teaching

Teaching Computer Science: Inequality = Bad?

I’m volunteering a couple mornings a week in a high school computer science class . . . “Why don’t schools and classes have sponsors?” I ask one of the teachers. “When my kid was in school, they were always complaining about not having enough money. So why couldn’t you, for example, come in and say, ‘Hey kids, before you come to 1st period, make sure you have a good breakfast at McDonald’s. I’m lovin’ it!’? “And McDonald’s pays you 100 grand or whatever to say that.” “My concern,” he says, “is that would lead to more inequality in education.” I’m not sure he really thought that through. It seems more like a mechanical response to an abstract notion, i.e., “Inequality is bad.” As a parent, I always supported inequality in education. I wanted my kid to get the best possible education, better than most other kids. As a classroom volunteer,… Read more →

Teaching Computer Science: You Just Got to Really Want To

I’m volunteering a couple mornings a week in a high school computer science class . . . “Does anyone recognize this gentleman?” No one does. “Any pianists in the class?” About 5 kids raise their hands. “Do you ever go to YouTube and watch videos of pieces that you’re trying to learn?” Yes, they do. “Ok, this is Vladimir Horowitz.” Last time around, no one was able to identify Martha Graham. “I always know the name after you say it though,” one girl says. “Well, there’s more to life than technology, kids. There’s music, art, dance, literature . . . all these things help blow the dust off our ordinary existence. “I’ll get back to Horowitz in a minute. Last time I was here, I heard a conversation about how hard is it to go to college as a CS major. “I have some good news and bad news. I’ll… Read more →

Teaching Computer Science: Say Your Ideas Out Loud

[I learned about Scary Ideas from Jim and Michele McCarthy — PE] I’m volunteering a couple mornings a week in a high school computer science class . . . “The main thing I wanted to tell you is that you’ve got to say your ideas out loud . . . “A scary idea is not an idea that’s going to scare people when they hear it, it’s an idea that you don’t want to say because you’re afraid of how people will react to it. Maybe they’ll think you’re crazy. “Here’s a couple examples of scary ideas. “You recognize the speaker in this video?” Everyone does. “Ok, let’s see what he has to say.” I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the earth. “Keep in mind that he’s… Read more →

Teaching Computer Science: All Are Welcome

I’m volunteering a couple mornings a week in a high school computer science class . . . “Computing,” I tell the class, “is like most professions in that some groups are under-represented and some groups are over-represented. You may have heard that the reason some groups are under-represented is because computing as a profession is more welcoming to some people than others. “I haven’t found that to be the case and I’ll tell you why. “My perspective on this is that if you walk through the workplace at a typical technology company, you won’t see people who look like me. I’m too old and I’ve been too old for quite a while now. At this point, I’m usually old enough to be the CEO’s father. “So to the extent that people want to work with other people who look like them and people who fit into the group, that doesn’t… Read more →

Teaching Computer Science: Don’t Worry About Spelling and Grammar?

The following is part of the Code.org online curriculum, asking students to write a brief reflection on starting a computer science class. That seems like an oddball thing to say in an educational context. “Let’s talk about the instructions here for a minute,” I said to the class. “One: it doesn’t make sense to me to compartmentalize education like this. Like spelling and grammar are only important in an English class and this is not an English class so don’t worry about it. “We’ll be taking a holistic view of education here. I hope you’ll learn some things about computer science but I hope you’ll learn some other things as well. “On a practical note, you may find yourself competing for a job someday, and if it’s a good job, there are likely to be a lot of applicants. “No one wants to read a large number of resumes, so… Read more →

Teaching Computer Science: Why Was I Not Consulted?

I’m volunteering in a high school computer science class a couple mornings a week . . . If you’re going to work with computers, you need to be able to move around between different number systems, most commonly base 10, base 2 and base 16. As a warm-up, I asked students how many ways they could represent the quantity 7. Answers included the word “seven,” roman numerals, seven dots, a septagon, a Chinese symbol, and so on. “Quantities exist naturally,” I said, “but number systems are man-made. They’re just a set of symbols along with an agreement about how to order them. Why do we use the number system that we do? Who decided that?” Because I phrased it in a provocative way, some students realized that they hadn’t been consulted. “Yeah, no one asked me,” one student said. “Raise your hand in math class,” I suggested, “and ask ‘Why… Read more →

Teaching Computer Science: Next Year’s Teacher

I’m volunteering a couple mornings a week in an AP Computer Science Principles class for the upcoming school year . . . Schools are adding more CS classes and, almost without exception, retraining in-service teachers to teach them, rather than hiring people with knowledge and experience in the field. I met with the teacher today to do some upfront planning. At one point, he was calculating how many printouts we’d need for 6 groups of 4 students each . . . “Let’s see,” he said, “6 times 4 is 20 . . .” If you think that’s funny, guess what class he normally teaches: accounting. “Are you going to write that?” someone asks me. “Does he know you have a website?” “I don’t know what he knows or doesn’t know. Except he doesn’t know what 6 times 4 is.” Read more →

How to Not Get a Job Teaching Computer Science

She was a software engineer interviewing for a job teaching high school computer science. One of the interviewers read a question: XYZ School District is committed to effective learning for all students. Key in this work is improving the success of historically underrepresented, low-income and/or students of color. What are your experiences implementing instructional strategies shown to be most effective in increasing the success of these populations? She knew what the “right” answer looked like but after a momentary hesitation decided to answer honestly. “I think it’s probably counterproductive to single out groups of students as needing special handling to be up to the standards of the other students.” “We’re not saying that they’re not up to the standards of the other students,” the interviewer said. “Okay, let me say it another way. We have four labels available: ‘historically underrepresented,’ ‘low-income,’ ‘students of color’ and ‘none of the above.’ “From… Read more →

11,000 New Computer Science Teachers Considered Harmful?

Here’s the start of an email I got from Code.org: We’re kicking off our summer workshops to prepare 11,000 new CS teachers. Last month we welcomed over 600 teachers, facilitators, and Regional Partners to Atlanta, GA for our largest TeacherCon ever. On top of TeacherCon, we also have 350 K-5 workshops and 167 workshops for middle and high school teachers planned this summer, where we expect an additional 10,000 teachers who plan to begin teaching computer science for the first time this fall! This is heralded with an exclamation point, like it’s exciting news, but as a computer science person, I can’t get excited about it. Why do we want kids to be taught computer science by 11,000 teachers who know little or nothing about computer science? How can someone teach something that they themselves don’t do? See if you can get excited about any of the following possibilities: 11,000… Read more →

Teaching Computer Science: How to Get Top-Notch Teachers in the Classroom

I read something every day where educators and/or elected officials are talking about the importance for our kids, our country, our future, etc., of teaching computer science, the sticking point being an extreme shortage of qualified teachers. A person entering the workforce with a computer science degree is unlikely to go into teaching because of the opportunity cost: they can earn a lot more money as a software engineer. The likelihood of getting a mid-career tech industry professional to switch into teaching is even lower. Teacher salaries are based in large part on years of service. A mid-career person switching into teaching is not going to get a mid-career teacher’s salary, they are going to get a first-year teacher’s salary. So here’s the idea: Give CS professionals the opportunity to apply their years in industry to years of service as a teacher. It’s still a pay cut going from software… Read more →

Teaching Computer Science: The Phones Aren’t Helping You

I’m volunteering a couple mornings a week at a local high school, helping out with computer science classes. The way the classes are taught, via an online curriculum, provides a great temptation to kids to get off-task, which they do, usually by entertaining themselves with their phones. They get off-task in other ways too — web surfing, doing homework for other classes — but the main distractor is the phones . . .   “As I mentioned before, I worked with another CS class a couple years ago. No phones allowed in the classroom. “I remember one day the assistant principal was in class observing . . . a student had a phone out, looking at it . . . he was holding it under the table so no one could see it, but this guy, the assistant principal, he did see it. “Oh man, did he hit the roof!… Read more →

Teaching Computer Science: When You Need Help, Ask For Help

I’m volunteering a couple mornings a week at a local high school, helping out with computer science classes. It’s a mixed class . . . most of the students are taking AP Computer Science Principles, and about 10 kids just recently started a second-semester Visual Basic class. The VB kids were pretty inquisitive at first but started to get discouraged . . . in my opinion because of the way the material is presented to them via an online curriculum. The current approach to teaching computer science in American schools, because of the shortage of (I almost said “lack of”) qualified teachers is to use packaged courses delivered to students online. My observation is students assume that because they’ve been put in front of a computer full of lessons, they’re expected to be able to read and understand the material and complete the assignments on their own with no help.… Read more →

Teaching Computer Science: Asking for Help

I’m volunteering a couple mornings a week at a local high school, helping out with computer science classes. This morning, in AP Computer Science Principles, the teacher went through an explanation of the hexadecimal number system, then gave an in-class assignment for students to convert their cell phone number to hexadecimal. Not in two parts, 3 digits and 4 digits, but as a 7-digit number. It seemed pretty obvious from the interaction and the body language and the looks on their faces that a lot of students didn’t get it, but in a class of 25 students, only one student asked for help. Until the teacher finished with that student and asked “Does anyone else need help?” and eight more students immediately raised their hand. I asked the teacher, “Can I address the class for a minute?”   “First off, doing a 7-digit hex conversion is not easy. I know… Read more →

Teaching Computer Science: It’s Not Easy to Teach a Subject in Which You Have No Training

A recent issue of Science has an article on the pipeline for computer science teachers . . . The first sentence says, “It’s not easy to teach a subject in which you have no training.” That could be the whole article, really. That’s about all you need to know about the current state of computer science instruction: It’s not easy to teach a subject in which you have no training. Cameron Wilson, chief operating officer and president of the Code.org Advocacy Coalition, is quoted as saying, “It’s really hard to convince a computer science professional to give up a job that pays up to three times more to pursue teaching. And I don’t think we should.” Wilson’s opinion that computer science classes should not be taught by someone who actually knows something about computer science is probably influenced by the fact that Code.org is one of the leading providers of… Read more →

Vignette

Sara, 48, suffers from breast cancer, diagnosed three times in five years. She has to stop teaching at school but engages actively in volunteer work. Her environment praises her for her courage. She helps other cancer patients in a respectful way to deal with their illness. This for her is also very rewarding. Still, from time to time, mostly when Sara does not expect it, an ocean of tears comes up . . . Read more →

AP Computer Science Revisited

I got a LinkedIn invitation today from a student I taught in an AP Computer Science class a couple of years ago. She’s now a computer science major at UCSB. Several of the kids from that class are now in college as computer science majors. Some of them would have been computer science majors anyway, without the class — they came in already having programming interest and experience — but this young lady was not in that group. She was quiet in class but when I worked with her one on one, she asked a lot of questions. She asked them quietly but she asked. And when I told her to do something a certain way she always asked why. She only has four connections at this time so I appreciate her thinking of me. 🙂 Read more →

At some point, even if you don’t need the money, you have to teach what you were taught. — Ken Kesey

The Ceiling Seems Very Low

I don’t know if this is good news or bad news. It would help to know what “trains” means but I read the article and it doesn’t say. Reporters need to be more inquisitive. Can someone with no knowledge of computer science or programming be “trained” to teach computer science or programming? What would that entail? How long would it take? Can someone who’s never played an instrument or listened to a piece of music be “trained” to teach a music class? Can someone who’s never picked up a drawing pencil or visited a museum be “trained” to teach an art class? Can someone who doesn’t speak Spanish be “trained” to teach a Spanish class? The ceiling on any of these approaches seems very low compared to hiring actual programmers, musicians, artists and Spanish speakers . . . Thus spoke The Programmer. Read more →

Teaching Computer Science: The Last Day

On the last day of class, I gave students the code for a partially working Space Invaders game, along with instructions for adding collision detection and completing the implementation. The instructions didn’t leave too much to the imagination because I wanted to give everyone a chance to finish out the year on a successful note. I estimated it to be about a 30-minute activity. It didn’t occur to me that that students would do anything but finish the program and spend whatever time was left over blasting aliens. What they actually did was, they finished the program, tweaked the firing interval so they could shoot faster, changed the speed of the sprites, added more aliens, changed the program to shoot two bullets at a time instead of one, changed the program to shoot five bullets at a time, enabled the aliens to drop bombs, had the game recognize that when… Read more →

Teaching Computer Science: Lesson Planning

It’s exhausting work . . . Read more →

Next Page »