Rendering of reStructured text is not possible, please install Docutils.

:status: 草稿; ZoomQuiet ;完成度 94%;

.. contents::
  :depth: 3


.. 链接定义区
    建议在文章头部,统一定义各种链接/图片... 内容资源!

.. |biohazard| image:: biohazard.png

.. _Docutils-Users mailing list:
   http://lists.sourceforge.net/lists/listinfo/docutils-users
.. _Docutils project web site: http://docutils.sourceforge.net/

.. _Trac:
    http://trac.edgewall.org/
    
.. _金山训练营:
    http://www.kingsoft.com/zt/2008/kscollege/
.. _KingsoftCollege:
    http://www.kingsoft.com/zt/2008/kscollege/

:参考: 
    
    - `PyCon2010亚洲 <PyCon2010>`_
    - `蟒营~快速培训Python 人才的尝试 <PythonicCamp>`_


outline
==============================================================================
:Title:
    PythoniCamp ~ try to train fast for Python programmer
:Duration:
    30min
:Level:
    beginner
:Categories:
    Python in Education
:Summary:
    
    Python is never one of the mainstream choice for development, also can not enter  into college classes. 
    But more and more teams or projects choose Python to develop. 
    There is a big contradiction between enterprises' demands for pythoners and the loss of  python training schools! 
    How to balance the contradiction? 
    We discovered one way to quickly train Pythoner in one month:
    
     - Base the real development environment to enable the trainees to practise
     - Prompt frequently
     - Force the team to elaborate the biggest learning abilities and experience  Pythonic in shortest time


PythoniCamp ~ try to train fast for Python programmer
==============================================================================

Background on China
------------------------------------------------------------------------------

- in China most programmer s are not computer communication and technology majors
- in Chinese universities, the educational mode of institutions of computer science and technology is very primitive, which is same with mathematics education.
- What are the mainstream development technologies? in china, the main choices depend on the market share of IT companies
- then the students will choose the relative technologies to learn by: 
 
  - Reading the books of the most popular technologies;
  - Learning the technologies with most technical certifications

- so! in china Python is far from mainstream 



Problems need solve
------------------------------------------------------------------------------

- but, Internet companies need Pythoners more and more urgently:

 - in Game Development, need to quickly bind python with functions witch complete by C / C + + / Lua / Perl / PHP, etc
 - in WebSite Development, need  to use python to complete web site or realize some web services, etc
 - in Desktop Development, need to use python to quickly complete cross-platform deployment of automated testing / integration,etc
 - ...

- How to do?

 - Wait for the universities to prepare and open a good course?
 - High salaries to attract self-taught Python programmers?
 - Create the specialized schools to train programmers?
 
- PythoniCamp is a fast training method for junior and senior students to rapidly learn Python technologies.


What's PytohniCamp ?
------------------------------------------------------------------------------

- `KingsoftCollege`_ founded by kingsoft.com, is a full-time training organization for junior students in holidays. 

 - Usually lasts for 4 to 5 weeks
 - Promises to give offers to excellent students
 - The students finish the C++ programming exercises, and the teachers explain the exercises regularly


- PythoniCamp is a specified training from `KingsoftCollege`_ :
 
 - Preaches and introduces Python, and promises to give offer to the best students
 - For the voluntary participation of the trainees, make a four-hour introduction of basic syntax and development in Python
 - Published a number of practical project requirements, which are the truly needed small system or tools of the teams within the company
 - The development teams formed by the trainees themselves, experiments the iterative development under the guidance of the instructor 

  - Through the mailing list at any time for technical answers
  - an open presentation to run the system demo every Friday 
  - All of the codes are committed to SVN repository
  - All of the tasks / issues / defects are recorded in `Trac`_


Why PytohniCamp ?
------------------------------------------------------------------------------

- `Learnning swim, must in water`
- students have formed a wrong software development concept in universities, they must be push into permission environments to refactory a correct concept:
 
 - in enterprises, team work is indispensible
 - Python development itself is not a mystery. To successfully complete the development, the difficulties are to accurately understand the requirements and communicate in or out of the team
 - Good habits of code management / configuration practices . It's useless to build habits after a failure
 - All commitments must be open, so that the credibility can be guaranteed
 - Any time,  a participator should be considerate of others, then your code / documentation / communication can be effective!


- Based on these assumptions , an atmosphere infinitely close to the real development environment can be created:

 - master is able to provide everything, but can not take the initiative to offer, students must be aware that roar out of what is required to promptly
 - master generally does not give the specific answers, only points out a direction, the rest is relied on the students' own efforts
 - The project is a real dead line and the pressure for demon presentation ,so which team is better can be immediately notice by everyone


Basic recurrence
------------------------------------------------------------------------------

- Daily standup meetings have sound recordings
- Weekly standup meetings have sound recordings
- Weekly student activities score

 - Evaluation criteria are not publicly released
 - The quantitative evaluation according to the student initiatives
 - the evaluation is rated in the perspectives of cooperativeness/ responsibility / communication skills, and they are the important characteristics needed in a real project environment



More sophisticated recurrence
------------------------------------------------------------------------------

- Rapid formation of the authority of the master
- Rapid formation of opposition between master and students
- Only the team which gives up opposition timely and seeks cooperation is able to obtain the real requirements to complete the project
- If the team is always united for against master, them will not complete project neither



Other capabilities of ...
------------------------------------------------------------------------------

- PythoniCamp is designed in this way is owing to:  

 - master are the company staff, they also have their own development tasks, can not be fully involved in the training projects like the trainees
 - master do not have teaching background, they can only solve the problems occurred in the pratices
 - In a real company environment, it is impossible that a kind-hearted memeber will help you complete the mission! 
 - In a real company project, there is no time for you to study the technologies, you can only squeeze time to learn.  

- If the students have any imaginations about program development, it's risky for individuals and enterprises
- Experiencing the real development environment earlier has the following benefits:

 - Enterprise can tell whether a student is fit for the IT industry
 - Students are able to adjust themselves and form an appropriate habit. 


- Considerable effects of PythoniCamp:

 - The first PythoniCamp started on 2008-09, 
 - 22 students  participated, 
 - only two quit the training. 
 - The 20 students formed 5 development teams 
 - finally finished 3 system. 
 - Among the 20 students, five students passed the assessment and three was hired by Kingsoft.



Conclusion
------------------------------------------------------------------------------

- Chinese students have solid foundations in normal school courses
- As long as the students have the Pascal / C / C + + / JAVA based students, it is easy to master the basic syntax of Python and complete the executable script
- The general guidance of the python camp teachers are active members of the communities, so that the final situation is:

 - Colleges need not to organize experienced IT company staffs to have classes, but a good employment rate will be achieved
 - Students do not have to spend the extra training fees, they can transfer the passive learning to the active learning in the shortest time, the employment rate can be improved
 - Enterprise do not have to pay additional fees, then they can recruit potential students from the community list and previously teach the technical skills to improve the employment rate
 - The communities can improve the influences without any extra efforts in the projects that have clear objectives and a variety of supports 


*that mean all win!*



.. 脚注定义区
    建议在文章底部,统一定义各种 编号/自动/标签/引用 脚注

.. macro:: -- ZoomQuiet [<<DateTime(2010-01-21T19:33:36+0800)>>]