I am a teacher at Leander High School in Leander, Texas. Leander is a relatively small but extremely fast-growing suburban community about fifteen miles northwest of Austin, Texas. I teach all levels of Computer Science, and a fuzzy course called Web Programming.

I absolutely love my job. Teaching is incredibly difficult, but I wouldn't trade it for anything. The staff at Leander is great and the administration is very supportive. I couldn't ask for a better work environment. (Okay, maybe that's not quite true. I could ask for a school that didn't start so early in the morning, say 11am. It'd also be nice if we had all the funding we needed. But still...) Wild horses couldn't drag me away from this job (which is good, considering what I get paid compared to what I'd make in industry). Having said all that, what's the real purpose of this page?

I have never been a big fan of class handouts. Fortunately, since coming to Leander, I have been equipped with Windows machines with network access, which allows me to put lecture notes, assignments, daily instructions and anything else I want online as a web page. Though at first these pages weren't publically accessible, for the past several years they have been online.

Additionally, as a resource to other computer science teachers, a reference for former, current, or prospective students, and in my continuing quest to improve the state of the art in computer science teaching, I have included the web pages from previous years here as well.

Current academic year (2014-2015)

Previous years

Be aware that to prevent students from merely copying solution code from previous years, I may occasionally pull solutions off-line temporarily. If you happen to be interested in such a solution during one of these times and can convince me that you are not one of my students ;) I'll happily send you the code.

Bah. Forgot to add links for 2005 through 2013. I'll do that later, maybe?









Other resources for CS teachers

Random thoughts/rants about teaching

Below find various thoughts about teaching that I've had the presence of mind to write down over the last few years. These many not be especially meaningful to anyone else, but they provide some insight into my goals as a teacher, my philosophy of education, my sense of humor, and so forth.

The following is some text that I quote to my students at the beginning of the year to let them know where I stand and what I can (and can't) do for them. It gives some insight into the type of teacher I attempt to be.

What I Am

I like you. I think you are intelligent. I want to convince you that you really are attractive or handsome. I think you are a neat person. I defend you when the other kids are picking on you. I encourage you when you're having a bad day.

I want you to do well in my class. I want you to do well in all your classes. I will tutor you outside of class if you need it, in my subject or in any subject for which I'm even remotely qualified.

I want you to get the job you desire. I'll let you put me down as a reference. I want you to get into the college you like. I'll write you a recommendation. I want you to make cheerleader or the soccer team or the jazz band or the one-act play. I want you to get along with your girlfriend or boyfriend. I want you to be happy.

I want your parents to love you and treat you well. I want to be there to talk about it when things happen to you - things that shouldn't happen to anyone, much less someone your age. I want to be there when you think that there's no one else in the world who knows or cares. I want to listen when you just need someone to talk to.

I want you to have a personal relationship with God. I want to answer your questions about church or evil or evolution or anything, really. I want you to glorify God with your life and make Him a priority above everything else.

I want you to be healthy, eat right, get plenty of rest, and make wise decisions. I want you to avoid stupid things like premarital sex and mind-altering chemicals, and I want to explain why if you're curious.

I want to watch you graduate and give you a hug afterwards.

I am your teacher.

Unfortunately, there are some things that I don't do.

For any of these things, you need a friend, not a teacher. I can only be one or the other to you, but never both.

And I want to be your teacher. Will you learn from me?

Goal: to teach. (duh) In addition, I would like to begin to teach students responsibility. In order to allow growth of levels of responsibility, the students must be allowed certain amounts of freedom, since responsibility comes with freedom. Students should begin to question their own motives for certain types of behavior and should gain a certain level of self-awareness. By knowing why they engage in certain behaviors, students will be more likely to cease behaviors which are inappropriate or which stem from undesirable motives. Although I will care deeply about each student and have concern for their emotional and physical health, I will strive more to be someone they trust and respect than their friend, as such a relationship is more beneficial (and more professional).

Effectively teaching programming requires engaging the students, and motivating them to learn. There is intrinsic motivation for learning, and no system of artificial reinforcements or punishments, no matter how carefully designed, can be more powerful or pure than this intrinsic motivation. The end of any such system should therefore be to enlarge the effect of intrinsic motivators.

In addition, I should always strive to be clear about the reasons for any assignment, lesson, or unit. It must be clear to me how the mastery of each part relates to the greater goal, and the reasoning should also be apparent to the students. They should be encouraged to find out why content is required, but tempered with the understanding that not all teachers will be inclined or prepared to answer such questions.

I am aware that coding, as it grows more abstract, defies pigeonholing, and that there may be any number of given "correct" ways of visualizing a concept or working a problem, assuming of course that the cognitive model used is free from debilitating defect. I will do my best to address different learning styles and go the extra mile with students who cannot visualize an abstract concept in the usual way. It is also recognized that presenting too many different flavors of a solution can hamper learning in progress. I believe that no student is unable to learn any given concept, if it is presented in the correct way and with adequate repetition.

As a teacher, I will make a conscious effort to engender higher levels of understanding , moving beyond mere knowledge and comprehension to analysis, synthesis, etc., when appropriate.

"Our desires and 'options' may have changed since the sixties, but the needs of children have not changed since we left the trees." - Dr. Laura Schlessinger

We must teach our children the difference between natural consequences and those penalties imposed by man. Why do we stop at STOP signs?
Because we might have a wreck,
not because we might get a ticket.
Doing so will (probably) give children a proper respect for authority, as those trying to prevent us from making foolish decisions rather than merely imposing some arbitrary human regulation.

Never pass up a chance to relate to someone, to touch their life with yours. Life is too short, and souls are eternal. Tasks can wait.

The following is taken from a questionnaire that was required for an application for a teaching position at another school (not Leander).

1. What do you want to accomplish as a teacher?

I'd like to take a bunch of kids from wherever they are when they come in, and move them as far as I can before they get out. I'd like to teach them to enjoy my class and learning in general. To teach them about mathematics or computers or whatever, but also about life. To teach them to think about things for themselves and use their reason to try and discover things they don't know. To use the tools available to them to solve things. To find new tools when their own are inadequate. And to teach them that there is a God who loves them and wants to have a relationship with them.

2. How will you go about finding out students' attitudes and feelings about your class?

Of course, you can always just ask. Anonymous first day or first week surveys will allow me to know how they feel about previous classes in the same subject matter. Requiring kids to come in for detention will allow me to talk to them. Kids are full of opinions and feelings, and seldom does anyone simply listen to them. If I keep an open ear, they'll talk.

3. An experienced teacher offers you the following advice: "When you are teaching be sure to command the respect of your students immediately and all will go well." How do you feel about this?

Commanding respect will certainly cure a host of classroom ills. However, the manner in which you go about commanding respect is important. Being heavy-handed will not command respect so much as fear and resentment. Being worthy of respect will. Being excellent in my field. Treating the students with respect and other teachers. Being above reproach. Students respect a teacher who they believe is really trying to help their students, and one who is going about it in a reasonable way.

4. How do you go about deciding what it is that should be taught in your class?

Part of it comes from the Texas Essential Elements (soon to be TEKS). Others come from whatever the book thinks is good. Other teachers who've taught the subject before. And of course, a healthy dose of what I had to learn in college, and what I wish I'd known before I went in. Especially in computer science. And for computers common errors and myths which people around the world believe about things. The Good Times virus. That a full hard drive will make your computer slower. And other crap like that.

5. A parent comes to you and complains that what you are teaching his child is irrelevant to the child's needs. How would you respond?

It depends on the class.
The curriculum for mathematics classes is fairly standardized within a school, and a lot of it is out of my hands. Especially since the district mandates that a student pass say Algebra II, if the parent believes that Algebra II is irrelevant, it is not my position to say. I'll simply teach the material as well as I can, trying to make it as relevant as possible. Of course, I'd take suggestions if the parent had any ideas on material that would accomplish the same goals but be perhaps more relevant. Or for something similar.

In computer science, I'm afraid I'd have a harder time. I have quite a bit of computer science instruction and considerable experience with real-world applications of computers. If their point is that computers are irrelevant, they are a fool. If they suggest that some bit of my curriculum is of no value, I would do my best to explain why I felt it was valuable to teach, and what real use the taught skills would have. Again, I'd ask if they had any suggestions and of course listen carefully to their objections.

6. What do you think will provide you the greatest pleasure in teaching?

To have a student leave knowing more about computers than I do. To see them enjoy coming to class, being in class. To have them show sparks of original thought and to see something which I haven't shown them. Having maybe one student a year say that my class was enjoyable and that they're better off having learned the things I presented.

7. When you have some free time, what do you enjoy doing the most?

I enjoy learning things on the Internet and keeping abreast of chip design on the various newsgroups. I like singing and playing guitar, and I practice guitar when I can. I also like to talk to people. You know, have long conversations and fix the problems of the world.

8. How do you go about finding your students' areas of strength?

I usually give a sort of general personality survey at the beginning of the school year. This enables me to find the sort of things that students enjoy doing, at least. And people typically enjoy doing things they are good at. Also, in the course of testing, you find out what sort of things students do well. Typically when grading partial credit, you begin to see the sorts of mistakes students make. That way you know what students can do well, and what they have trouble with.

9. Would you rather try a lot of way-out teaching strategies or would you rather try to perfect the approaches which work best for you? Explain your position.

Obviously I'd rather teach in ways that I am comfortable. There is a lot to be learned from unique strategies that others have found effective, but I cannot teach in certain ways that don't match up with my personality. I'd like to work on my own technique until everything goes smoothly and naturally in the classroom. However, I sometimes get bored presenting the same material in the same way time after time, and try to bring in innovations that make it more interesting for myself. But I don't much buy into the latest greatest method to teach something.

10. Do you like to teach with an overall plan in mind for the year, or would you rather just teach some interesting things and let the process determine the results? Explain your position.

I have some overarching goals. I like to know where I am going ten weeks down the road, so I can be sure and cover the necessary background material. I like to fit everything into a larger scheme. Having an overall plan is nicer on the students, who often like to know where you are going with things. It helps them to understand that everything we cover has a purpose, and that I'm not just choosing random things for them to learn. Because if I just teach "some interesting things", every once in a while, a student won't find it so interesting. And when they ask why, I will only be able to tell them that I thought it would be fun. That's not a very defensible position.

11. A student is doing poorly in your class. You talk to her, and she tells you that she considers you to be the poorest teacher she has ever met. What do you do?

I'd ask her what she thought I could do to be a better teacher. And then listen to what she had to say. Later, I remind her that part of the responsibility for her doing well in my class falls on her; that she is responsible for making her own grades, despite my poor teaching.

12. If there were absolutely no restrictions placed on you, what would you most want to do in life?

I'd spend all day talking to people. Having long deep conversations and getting to know people intimately. Finding out what makes them tick and how they feel about things. And wherever possible, helping them to know themselves.

And yet another application...

What qualities do you possess that you feel will help you to be an outstanding teacher?

If I may be slightly esoteric, I am already a teacher, in some respects. I teach because am I a teacher, and not the other way around. That is, just as some write poetry because they are poets, deep down inside, I am compelled to teach because I am by nature a teacher.

Now, to be a bit more visceral; I have always been good at school and seem to have a knack for getting the "Big Picture" quickly. I also love to instruct others, to share what I've learned and they've yet to see. I have the ability to give real-world illustrations which make abstract concepts easier to grasp. In addition, I am blessed with an extraordinary patience. (In Houston, I was told that I would lose my temper with the 16-18 year boys eventually; that no one had ever made it the whole summer without finally getting frustrated and blowing up. I never did. I guess there's a first time for everything.) I have a good sense of humor.

Describe the best teacher you have had and analyze how the teacher affected you.

Written in the summer of 1997....

As a freshman at the University of Texas, I had the pleasure to learn under Susan Loepp as my assistant instructor for the Emerging Scholars version of calculus discussion section. She was (is?) a graduate student in mathematics and was responsible for filling the gaps between calculus lectures and exams for two semesters. I have had no better teacher.

As a graduate student, Susan was fairly young, probably still in her mid-twenties. Accordingly, she had an excitement for learning and for her field that is rare in mathematics. When introducing a new topic, showing some unusual or especially interesting application for a concept we had learned, or when some student was on the brink of understanding, she often grew visibly excited and would hop up from her perch on top of her desk and fly around the room or pause by the chalk board to make her words concrete. Her passion was contagious; I often found myself smiling at or surprised by the elegance of some new theorem.

Not content to merely provide us with the information we needed to complete homeworks or pass tests, Susan also tried to show us the "Why?" of what we were learning. Rather than using simple repetition or memorization (although these methods were used), Susan drew on her deeper knowledge of mathematics to show us the principles that made our techniques work. For example, instead of just stating that integration of a function gives the area under a curve, she used numerous diagrams and example problems to show why it does so. Such minilectures in number theory and higher math gave us a taste of the joy in truly knowing a subject.

Susan was tireless. Although as a graduate student she no doubt had plenty of work to be done, and though our class met three days a week for two hours each day, she was always in class. And not just present; she had a new worksheet of problems for us every day, with examples, explanations, and several exercises of increasing complexity based on the previous day's lecture. She was always prepared for the day's topic, and though flexible, never had to "fly by the seat of her pants", as she was ready for the questions we would ask and anticipated what we would find counter-intuitive. All this she handled almost casually, yet with characteristic intensity, as if she had no other concerns.

Even though she knew more mathematics then than I will probably ever learn, Susan seemed to consider us not students as much as co-laborers. That is, one got the impression that she was just one of us, that she did not consider herself better because she had learned more. She was very down-to-earth, and understood that school often took a back seat to real life. Before exams, there were always pizza and pepperoni rolls at study sessions. She held a superbowl party at her apartment to which we were all invited. Similarly, she came to an end-of-the-year party that another student held. She knew our names, our phone numbers and more, and made sure we knew the same about each other. We were not merely her students but her friends.

Finally, Susan tried to show that there is no better way to learn than to teach. Each student had to do a project showing the solution to some interesting problem. It was presented before the class and we had to defend ourselves and present the material in a way that was understood by others. In addition, before every exam, we were responsible for making up study sheets, which had to be completed early and in sufficient detail so that someone who had never been exposed to the topic in question could learn it and further understand. Predictably, whoever had made the study sheet for a particular type of problem would perform flawlessly on them on the exam. She showed us that the axiom "those who can, do; those who cannot, teach" could not be farther from the truth.

Susan showed me by example what a great teacher should be. She sparked my interest in teaching by allowing me to get a taste of it for myself, by allowing me to see that I can have a similar passion for my field. She taught me calculus better than my professor because she told me the "Why?", and convinced me that it was important to know, that it made a difference. Susan made me want to be a teacher, and I hope that someday I can be for someone else what she was, and is, to me.

Enough for now...