Pythonista Jeff Elkner shares his love for programming and teaching

Jeff Elkner
Jeff Elkner is a Computer Science teacher in Arlington, Virginia and made the extremely popular Python conversion of the book How to Think Like a Computer Scientist: Learning with Python.


PyHawaii: How did you become a programmer?
Jeff:  I have a master’s degree in computer science (CS), but my background is practical as I am a teacher and never really worked in industry. I started as a math teacher in the 1990's, and quickly got hooked on computers and information technology. At the time, the computer teacher was the math teacher who had a computer hobby. I was that guy and loved it. I then pursued a master’s in CS and since then I have been a full time CS and IT teacher. I first fell in love with computers because I am somewhat dyslexic, and I had such a difficult time with writing. The word processor was a liberation for me, and I loved writing when I found the word processor.


PyHawaii: Why did you choose Python?
Jeff:  Pascal was the lingua franca of teaching, but in the late 1990's the college board switched from Pascal to C++ and that was a disaster. C++ has been very successful professionally, but it was extremely difficult to use as a teaching language. At the time, there were no standard classes and the college board actually had to introduce a standard template library, called the AP classes, for students. However, that meant when we went to a programming competition, the students couldn't write a simple program because they couldn't use the AP classes. It was a very different world then, and I desperately wanted something besides C++. I was looking for anything and found Python. I don't have any proof of this, but in '99 I might have been the first high school teacher to use Python in the classroom. It started in 1995 when Python had been recommended to me at a Linux install-fest, and when C++ came out I remembered that conversation, tried Python, and have been hooked ever since. The language brought me to Python, but the community kept me there. It is a wonderful, inclusive, and welcoming group.


PyHawaii: What other programming languages do you use?
Jeff: I have to use Java. The AP exam has moved on to Java from C++ and so I need to teach Java. I am now getting into JavaScript as well. Things are changing and it is probably time to look at another system programming language as well.


PyHawaii: What has been your favorite Python project?
Jeff: The thing I love about Python the most is that students can contribute. I am a teacher in Arlington, VA and  it is a highly educated place. 65% of the residents have graduate degrees here. The students in the public school vary, but we get a lot of high-end students and I think what to do with them. Most students are average, and struggle with things like programming logic. But I always get a couple students that can complete the entire course in a month. I love dealing with students like that and the Python community makes it possible to hook them up with real world projects.


We have a great Linux User Group (LUG) and have had many notable groups like IBM and people like Vint Cerf visit over the years. One of my students helped win a competition to have Red Hat visit our LUG by writing a Python script that asked the Red Hat team if they were coming to visit our LUG. If you didn't pick our LUG, the script returned a fake traceback error with all the reasons to come to our LUG.


PyHawaii: What is your favorite Python module?
Jeff: - GASP. Graphics API for Students of Python. This is a set of wrappers around TK that some of my students wrote. GASP allowed you to do procedural style programming and recreate some of the 1980's style arcade games like Pong and Breakout. You could populate the world with objects, then hit an event loop and play the game. Most importantly, the students loved it! It made it possible to do easy graphics, and back then it was a wonderful thing.

There you have it folks! We would like to thank Jeff Elkner for his time and sharing his experiences and background with PyHawaii. Thank you, James, for putting together this amazing series, spreading the wonderful work that is done using Python.

31 comments:

  1. Hi Admin,
    Actually i wants to get my career foundation on Linux so i have planned to take Linux Administration and got certification also, now am searching a blog related to linux, i had more useful info's in your post, keep sharing your updates relevant to linux for helping the beginner like me.
    Regards,
    Linux Certification in Chennai

    ReplyDelete
  2. C language is a computer programming language.Very easy to learn and a strutured language. C language is a object oriented programming.
    C++ training in chennai|Unix training in Chennai | FITA Velachery Reviews

    ReplyDelete
  3. The main thing which i like about web designing is that it needs creativity and we need to work differently acccording to our clients need this needs a creativity and innovation.
    web designing course in chennai|web designing training in chennai|web designing courses in chennai

    ReplyDelete
  4. Digital Marketing is one of the most promising field which is giving a tough tie for traditional marketing methods.
    digital marketing course in chennai | Digital Marketing training in chennai | digital marketing courses in chennai

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. I have read your blog its very attractive and impressive. I like it your blog.


    Java Training in Chennai Java Training in Chennai | Core Java Training in Chennai Java Training in Chennai

    Java 8 online training Java 8 online training Java Online Training Java Online Training JavaEE Training in Chennai JavaEE Training in Chennai

    ReplyDelete
  7. Our Complete in depth Java training course takes you to TOP Level IT companies with high end package. Arcus Offers Java J2EE real time training with placement assurance..
    java training in chennai

    ReplyDelete
  8. Java is modifying dialect which is utilized as a part of the considerable number of uses and recreations which are on the web. Java is being utilized broadly and it will be utilized widely as a part of not so distant future. So getting prepared in Java will unquestionably be useful and it has great scope in future.
    Java Training in Chennai | Java course in Chennai | JAVA Training institutes in Chennai

    ReplyDelete
  9. Thanks for sharing your creative ideas.Really great and impressive. I would like to read your next post.
    Regards,
    Digital Marketing Training in Chennai | Digital Marketing Training Institute in Chennai | Digital Marketing course Chennai

    ReplyDelete
  10. This is truly a standout amongst the most gainful online journals I've ever skimmed on this subject. I am exceptionally happy to peruse such an incredible blog and thank you for offering this great information to us.
    Spring Training in Chennai | Spring Hibernate Training | Core Spring Training

    ReplyDelete
  11. Thanks for posting this useful content, Good to know about new things here, Let me share this,
    AngularJS Training in Chennai | AngularJS Training | AngularJS Training Institute in Chennai

    ReplyDelete
  12. yes its really good one.thanks for the information.I have expect more than sounds from u. Android Training in Chennai |
    Android Training in Chennai |
    Android Training in Chennai |

    ReplyDelete
  13. Thank you for Sharing. We are the best erp software providers in chennai. For more details call +91 9677025199 cloud erp in Chennai | erp software solutions provider in chennai

    ReplyDelete
  14. I have learnt a lot this way. Thank you so much for spending so much time in researching & writing such wonderful articles
    Web designing course in chennai

    ReplyDelete
  15. I have read your blog and i got a very useful and knowledgeable information from your blog.You have done a great job . If anyone want Java Training in Chennai, Please visit our page Java Training in Chennai

    ReplyDelete
  16. This blog is very useful to me. i got more knowledge information from this blog.Thanks for sharing.


    Software Testing Training in Chennai

    ReplyDelete

  17. I ever had seen this information over the blog sites; actually I am looking forward for this information. Here I had an opportunity to read, it was crystal clear keep sharing…I have an expectation about your upcoming post.
    python training in chennai

    ReplyDelete
  18. Really an amazing post..! By reading your blog post i gained more information.
    Bulk SMS Chennai
    Internet Marketing Company Chennai

    ReplyDelete