Entry Questionnaire --- Programming in Python Fall 2010 33 responses (everyone enrolled in the course) Reasons for taking this course (circle as many as you wish, or none): use in present job 25 prepare for future jobs 25 personal use 25 other (write details if you wish) Programming experience (circle as many as apply): None Courses Personal Professional 2 20 18 18 Python experience (circle one): None Beginner Intermediate Expert 8 22 5 Other programming languages (write down as many as you wish, or None): C 13 Java 9 C++ 8 Perl 8 PHP 6 VB/VBA 6 Javascript 5 C# 3 Fortran 3 Tcl 3 SQL 3 Lisp/Scheme 2 Ruby 1 Objective C 1 Other 10 (Ada, Pascal, XSLT, Forth, MATLAB, Mathematica, R, Groovy, HTML, assemblers, shells) Operating systems (circle as many as you wish): Windows Mac Linux Other (Sun,etc.) None 25 16 20 2 Text editors/IDEs/programming environments (as many as you wish, or None): vi/vim etc. 13 Eclipse 9 Notepad etc. 8 IDLE 7 Visual Studio 6 emacs 2 Other 13 (Gedit, Textmate, Textpad, BBEdit, PythonWin, ...) None 1 Version control systems (as many as you wish, or None) None 15 svn 9 cvs 7 git 2 source safe 2 Synergy 1 RCS 1 Clearcase 1 Unit test frameworks (as many as you wish, or None) None 20 JUnit 2 Eclipse 2 Others 8 (just one user each) *** Which topics would you like to see covered in this course? *** how to debug different flavors (Jython, Iron Python) unit tests best practices regarding syntax/naming conventions etc. web applications modules, classes, inheritance, oo SOAP understanding Python core and deeper "under the hood" best practices and programming idioms usage/details of popular Python modules (NumPy, etc.) network libraries demonstration of SciPy core libraries idioms, Pythonic style cover the full book geoprocessing, scripting large spatial datasets importing and exporting files storage, caching data speed and algorithms computational biology web programming databases see the basics hammered home! unit test frameworks excitement, motivation, inspiration networking, HTTP SciPy SQL Extending Python with C Twisted, other networking modules Django, other web frameworks As much Python as we can muster! NumPy and SciPy some GUI work unit testing oop thinking Debugging. ... Did I say *Debugging?* resource usage (memory, file descriptors, garbage collection...) threading GUI programming key language basics how to predict the stock market, where to find gold