Suggested Tutorial Topics

top band
Suggested Tutorial Topics ------------------------- Here are ideas we've collected from surveys (newest at the top): - [PyCon 2012 as part of Tutorial Evaluations](/2013/tutorials/suggested_topics_2012/#pycon_2012_tutorial_evaluations) - [PyCon 2012 Guidance Survey in August 2011](/2013/tutorials/suggested_topics_2012/#pycon_2012_guidance_survey_in_august_2011) - [PyCon 2011 during the conference](/2013/tutorials/suggested_topics_2012/#pycon_2011_conference_evaluations) - [PyCon 2011 during tutorials](/2013/tutorials/suggested_topics_2012/#pycon_2011_tutorial_evaluations) #### PyCon 2012 Tutorial Evaluations The following are suggestions for future tutorial topics gathered as part of tutorial evaluations at PyCon 2012, lightly organized into groups: - Best practices, do's and don'ts (Django and general Python Dev), continuous integration, agile development, development methodologies for startups and small teams - Web frameworks - Django (advanced) - Django Views - Setting up a Django server from Scratch - Comparsion of Python Frameworks - Virtualenv and PIP - web2py - Pyramid - websockets - scalability - GUI - PyQt, - GUIs - GUIs PyQt, wxPython, etc - GUI development Language bridges (PyObjC, .NET, C) - SQL - SQLAlchemy - PyDATA - More on pydata - Google Analytics - Google Analytics and Python - Data analysis, Big Data, UI design using HTML5 with javascript as the new platform, javascript and Python - Redis - Data mining related. - Practical NLTK tutorial - big data and machine learning. - Python/Hadoop interface libraries (mrjob?) - IDE - Using PyCharm - IDE options for developers (Comparison) - Diagnostics/Opitmizations - Using the logging module and testing - Advanced debugging techniques. - performance optimizations - argparse hands-on, logging subsystem hands-on - Profiling python code with real-world examples of code that isn't written efficiently, and is improved as part of the tutorial. I would also like to see a tutorial on intermediate-advanced usage of Exceptions. A tutorial on how NOT to write bad python code. - PyPy hacking - Python Ecosystem - Building consistent web development environments with vagrant. Getting up to speed with pycrypto (e.g. using public key encryption to generate user licenses). Python and cross-platform (desktop) app development: options for embedding python runtimes, writing models in python and view/controllers in native code, using python as your app's scripting language, etc. - ctypes for fun and profit - Programmming models - Functional programming with Python - more/different advanced python topics - More on general programming advice at an intermediate level such as good practice on designing classes and testing practices. - hand-ons and in-depth topics - twisted - arduino talks, beaglebone with python - Parallel/Distributed Computing - more performance stuff, that makes sense. - Distributed parallel computation - cloud, message passing, large scale stuff. Auto-scaling, too. - hand-ons and in-depth topics - Visualization/Gaming - Generating map data (not just web mapping with existing web data). - More science/plotting/visualization topics. - Python for the GIS community - ArcGIS. - Python specific mapping tools (Mapnik, QGIS, etc) - practical data analysis - Advanced video games ... Eve, Maya. - Commercial offerings - Boto, and other integration of Python with actual company offerings #### PyCon 2012 Guidance Survey in August 2011 As of September 7th, 2011 - Business - Business-related or non-programming content for programmers who are independent contractors or work in a small environment. Things like running your own consultancy, managing clients and expectations, project management, identifying tactical advantages that Python can bring to your business. - Documentation Tools - Project development using Python. i.e. project planning, prototyping, development, test, release in a Pythonic method, perhaps using Python in an Agile framework. - Community - How to Get Involved in Project X (lead in to a sprint and ongoing participation) This could be any project with a leader willing to give a tutorial walkthough of the code and the history of the project. - How to participate in the Python community (uploading packages, how to submit & fix bugs, etc.) - Sprint lead-in (So you want to get involved in project so & so). - Core Python - A detailed look at the implementation at the C Interpreter, and understanding the relationship between the Python and the C implementation. - Advanced Python 1 and 2 - Advanced Python concepts - Advanced Python, fiddling with AST, advanced data structures, distributed processing and data mining - Anything about the Python language to deepen my understanding - Core Python Development - Decorators and properties - Distributed Python - Embedding python in applications distributing computing - Hidden Treasures of stdlib tutorial - High performance python - Killer features of Python 3 - Language handling overviews of python structure - Migrating to Python 3 - More about C extensions. - Porting to Py3 and handing dual python 2/3 codebases - Python 3 - Python 3 porting - Python C API - Python and C++ integration - Review of the standard library, what tools are available to us in Python - The standard library in-depth - Things I might not know I can do with the standard library. - Using the data structures in Python (not a tutorial on what data structures are) - Wrapping C libs in python, Cython / ctypes - Data - AST Manipulation - Anything having to do with maps - BigData (mapreduce, parallelism, etc.) - Data visualization - Database connectivity and plugging in to things like GIS and maps - GIS - Large scale data processing & visualization - NoSQL - Non-rel - SQLAlchemy - Statistics in/with Python - Storage with Python - ZODB - data visualization with python and other tools - Deployment - Automated / scripted deploy (Chef? Puppet? Fabric?) - Best Practices on deploying projects (especially web apps). - Continous Integration - Fabric, gunicon - Python webapp deployment using vagrant, chef, fabric, etc - Tutorials to do specific things: automate a Unix Server build, build an ecommerce site in DJango - Development - "Learning X for Python Developers" (where X is a not-necessarily-python tool). - A good intro to C class - A patterns, algorithms and recipes class discussing common ways of generalizing problems. - AI programming in Python - API Design - Advanced language techniques - Anything on machine learning or genetic programming. - Build A Compiler in Python - Build A Processor Emulator in Python - Computer Vision topics - Concurrency - Continuous Integration - DevOps - Front-end integrations - Full stack web application testing (unit, browser, etc) - Game Development - High performance computing - Jython Intro - Machine learning - Multiprocessing - Multiprocessing with Python - NLTK (Natural language toolkit - Novice to Ninja - Python toolchain: virtualenv, pip, nose, etc - Python web development basics - Real time web development with support of asynchronous longer running tasks - Redis + Socketio + Gevent == Realtime web - Social Network related development - Test driven development - Tools to make web development easier - Tutorial for people coming to python from other languages - advantages, disadvantages, what to watch out for, being pythonic, etc. - Web Frameworks - Writing DSLs - General - Graph theory - In-depth dives into limited subject matter. - More advanced talks - Python idioms - The same instructor teach a tutorial in the same format, but at an advanced level. - Thinking As a Programmer - Taking ideas and dissecting them (the how to of dissecting programs before putting them into code. - Writing great python code - more advanced python (less application / framework specific) - Interface / Visual design - 3d related material - GUI programming - Graphics applications - HTML 5 - Microsoft Kinect device and pattern recognition. - Nodebox - Visualisation tutorials - Visualization w. Python - Web-based app / mobile / django or django alternatives - making music with python - Packaging - Migrating to PyPy - Migrating to distutils2 + distribute - PyPy - Pypy internals - Python Packages/Frameworks - A SciPy exclusive tutorial would be great, or a combined Numpy/SciPy exclusive tutorial. - Cython - Django ORM optimizations - Django internals - Django tutorials - beginner, intermediate and advance level - More on Pinax, Pyramid and Turbogears (if they get Turbogears moved over to Pyramid). - More packaging stuff. Maybe a tutorial about pyramid - PyCuda - Pygame - Pyjamas - Pylons - Pyramid, SQLAlchemy, Celery - Python OpenGL - SciPy/NumPy - Twisted Matrix - ctypes, Cython and pyrex - writing web applications in Pyramind - Security - Defending Your App From Attacks (ex. timing attack) - Servers / Sys Admin - AWS - Advanced server management/deployment - Configuration automation (chef, puppet) - Distributed / high performance computing - EC2 - Eucalyptus or OpenStack - Maybe address packages like chef or libCloud - Memory debugging - More stuff about distributed systems and how to build them - Network programming and libraries (twisted, gevent, etc) - Python for sysadmins - Scaling, dealing with caching, etc..... - System/network level programming with Python. - Testing, Cloud, Operations, SysAdmin - eventlet / gevent - wsgi - Testing - How Python works with web interfaces, like selenium. - Intermediate Django Unit testing - More packet crafting geared towards QA - Testing - Testing Frameworks - Unit testing - Unit testing web applications #### PyCon 2011 Conference Evaluations "Please list 3 tutorial subjects you would like to attend." - Python 3 - SciPy/NumPy - Graph theory - Statistics in/with Python - Testing Frameworks - Web Frameworks - API Design - intermediate python - writing web applications in Pyramind - Advanced server management/deployment - Full stack web application testing (unit, browser, etc) - Large scale data processing & visualization - Redis + Socketio + Gevent == Realtime web - Python webapp deployment using vagrant, chef, fabric, etc - Unit testing web applications - Python idioms - Test driven development - Core Python Development - AST Manipulation - Writing DSLs - ctypes, Cython and pyrex - making music with python - data visualization with python and other tools - Django - SQLAlchemy - Pyramid - porting to Python 3 - distributing Python apps - Anything having to do with maps - Anything having to do with django - Advanced Python - c extensions - Non-rel - A good intro to C class - A basic Django class - Python 3 porting - High performance computing - Django internals - Django - Core Python development - advanced python - real time web apps - sqlalchemy - Pyramid - ZODB - Testing - PyCuda - Python C API - Python OpenGL - Django/Pinax - Python 3 - EC2 - DevOps - Concurrency - PyPy - Machine learning - BigData (mapreduce, parallelism, etc.) - Advanced Python concepts - Pygame - AI programming in Python - Build A Compiler in Python - Build A Processor Emulator in Python - Defending Your App From Attacks (ex. timing attack) - NLTK - numpy, data analysis, specific machine learning topics - Nodebox - Advanced Python data structures - Visualisation tutorials - Network programming and libraries (twisted, gevent, etc) - Python toolchain: virtualenv, pip, nose, etc - The standard library in-depth - Multiprocessing with Python - Porting to Py3 and handing dual python 2/3 codebases - Configuration automation (chef, puppet) - GIS - Hidden Treasures of stdlib tutorial - Cpython or pypy internals - deep dive into scipy/numpy - Pylons - SQLAlchemy - "Writing great python code" - HTML 5 - Django - eventlet / gevent - Using the data structures in Python (not a tutorial on what data structures are) - Anything about the Python language to deepen my understanding - Review of the standard library, what tools are available to us in Python - Django - NLTK or similar tools - Statistical analysis with Python - More networking - 102, 201, 202 level python coding - Packaging - Documentation Tools - Advanced language techniques - Novice to Ninja - Scaling, dealing with caching, etc..... - Jython Intro - SQLAlchemy - Decorators and properties - Django ORM optimizations - SQL, or PostgresSQL specifically - WSGI and webframework, aka Pyramid - Porting to python3 - Memory debugging - Distributed / high performance computing - Standard Library - A 2nd Intermediate tutorial #### PyCon 2011 Tutorial Evaluations "What tutorial topics would you like to see in the future?" - Graph database-backed Web applications. - Data visualization - Business-related or non-programming content for programmers who are independent contractors or work in a small environment. Things like running your own consultancy, managing clients and expectations, project management, identifying tactical advantages that Python can bring to your business. - real time web development with support of asynchronous longer running tasks - Anything having to do with maps - I would like to see the same instructor teach a tutorial in the same format, but at an advanced level. - A SciPy exclusive tutorial would be great, or a combined Numpy/SciPy exclusive tutorial. - Migrating to PyPy - Continous Integration - Migrating to Python 3 - How to participate in the Python community (uploading packages, how to submit & fix bugs, etc.) - Sprint lead-in (So you want to get involved in project so & so). - more experienced topics, and topics for more experienced - More stuff about distributed systems and how to build them - Nodebox - Advanced Python 1 and 2 - More topics related to Django - Deployment, tools to make web development easier - Visualization w. Python - more aws, with automated/scripted deploy (chef? puppet? fabric?) Perhaps also Eucalyptus or OpenStack - 3d related material - High performance python - More multiprocessing, more "Learning X for Python Developers" (where X is a not-necessarily-python tool). - sqlalchemy, unit testing - embedding python in applications distributing computing - Testing, Cloud, Operations, SysAdmin - Wrapping C libs in python, Cython / ctypes - More packaging stuff. Maybe a tutorial about pyramid - More python 3. - wsgi - Python! - more language handling overviews of python structure - Something using the NLTK (Natural Language Toolkit). Something using the Microsoft Kinect device and pattern recognition. - Nodebox! - System/network level programming with Python. - Computer Vision topics - Cython - web-based app dev, django or equivalent specific - Tutorials to do specific things: automate a Unix Server build, build an ecommerce site in DJango - Intermediate Django Unit testing - Thinking As a Programmer - Taking ideas and dissecting them (the how to of dissecting programs before putting them into code. - GUI programming - web-based app / mobile / django or django alternatives - Distributed Python - web-based applications, more django (or equiv) content - more django/python framework/front-end integrations/web-based applications. - python language specific - Python web development basics - pyjamas - Game Development - advanced stuff - Django tutorials - intermediate and advance level - I am interested in Social Network related development. - More advanced talks - Things I might not know I can do with the standard library. - Killer features of Python 3 - Migrating to PyPy - Migrating to distutils2 + distribute - Continuous Integration - How to Get Involved in Project X (lead in to a sprint and ongoing participation) This could be any project with a leader willing to give a tutorial walkthough of the code and the history of the project. - Python 3 porting - storage with Python - Pyramid, SQLAlchemy, Celery - Best Practices on deploying projects (especially web apps). - Tutorial for people coming to python from other languages - advantages, disadvantages, what to watch out for, being pythonic, etc. - more advanced python (less application / framework specific) - SQLAlchemy - Advanced Python, fiddling with AST, advanced data structures, distributed processing and data mining - Maybe more about C extensions. - Project development using Python. i.e. project planning, prototyping, development, test, release in a Pythonic method, perhaps using Python in an Agile framework. - A detailed look at the implementation at the C Interpreter, and understanding the relationship between the Python and the C implementation. - A patterns, algorithms and recipes class discussing common ways of generalizing problems. - Graphics applications - Maybe address packages like chef or libCloud - a NoSQL smackdown? - pinax workshop? - Anything on machine learning or genetic programming. - more advanced stuff - How Python works with web interfaces, like selenium. - Fabric, gunicon - python and c++ integration - python for sysadmins / more intermediate level courses - more packet crafting geared towards QA - Testing - More on Pinax, Pyramid and Turbogears (if they get Turbogears moved over to Pyramid). - Database connectivity and plugging in to things like GIS and maps make two topics. - In-depth dives into limited subject matter. The subjects, of course, must be immediately relevant to whatever-it-is I'm wanting to learn at the time. ;) - An advanced-level Django tutorial would be very cool - Twisted Matrix
bottom band background