Differences between revisions 4 and 11 (spanning 7 versions)
Revision 4 as of 2010-01-26 12:34:41
Size: 9851
Editor: ZoomQuiet
Comment:
Revision 11 as of 2010-03-08 14:53:37
Size: 11282
Editor: ZoomQuiet
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
:status: 草稿; ZoomQuiet ;完成度 80%; :status: 草稿; ZoomQuiet+清风 ;完成度 99%;
Line 11: Line 11:
.. 链接定义区
    建议在文章头部,统一定义各种链接/图片... 内容资源!

.. |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/
Line 44: Line 28:

:Author:

  - Zoom.Quiet <[email protected]>

   - Administrator of CPyUG (Chinese Python User Group
http://wiki.woodpecker.org.cn/moin/CPUG)
   - Core members of ZEUUX.org (http://www.zeuux.org/about/about.html)
   - Core members of ECUG (Erlang China User Group http://ecug.org/)
   - Community Advisory of SLL( http://sociallearnlab.org )

 - Qing Feng <[email protected]>

  - Is responsible for managing the daily affairs of the community,
inwork-related accidents, is committed to education, to promote Python
in China's development.
  - Administrator of http://wiki.woodpecker.org.cn (CPyUG 's WIKI
support environment)
Line 46: Line 49:
    Python never becamed one of main trend choice for development,
    also can not enter college, to became one class of computer profession.
    but more and more team or project choice base Python to development.
    there is big contradiction between enterprise need pythoner and society lost python training school!
    how to fixed it?
    we discover one way to fast train Pythoner in one month:
    
    - base realy project developing
    - through frequently communicate and prompt
    - force team in highest power export, feeling Pythonic in show time
    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
Line 61: Line 63:
Line 65: Line 66:
- most programmer not computer Professional background
- in college, institutions of computer science educational methods is very primitive , same as mathematics education
- which is mainstream development technologies? in china ,the choice only base which company can make mainstream advertisement!
- for student, which technology to learn, only base:

  - relevant technical books is many
  - related technical certification is more

- so! in china Python far from the mainstream
- 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.China's universities are merely instruction in C, Java,. Net and other development language, Python as a compulsory subject in China has only one university.
- A large part because the teacher did not know Python, so fewer students to understand the Python language
- Python is not the university's main course
- Teaching Python books is still relatively small
- 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
Line 79: Line 83:
- but,Internet companies increasingly need Pythoner:

 - in Game Development, need python quickly binding functions witch complete by C / C + + / Lua / Perl / PHP, and so
 - in WebSite Development, need python quickly complete site,or publish some web service
 - in Desktop Development, need python quickly complete cross-platform scheduling of automated testing / integration,
 - etc.
- 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
 - ...
Line 88: Line 92:
 - Waiting for the school to prepare for and run a kaopulity professional ?
 - Usage high salaries to attract self-taught Python programmers?
 - Creation of specialized schools to train their own?
 
- PythoniCamp ,A fast fraining methods of the junior interns to Rapid Pythonic developing ,witch explore by Kingsoft.com
 - 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.
Line 99: Line 102:
- `KingsoftCollege`_founded bykingsoft.com, for junior students in holidays to the company make full-time training:

 - General continuous 4 to 5 weeks
 - Promised to give offer in results good students
 - Mostly in the form on their own for C++ programming exercise, teachers on a regular basis to explain


- PythoniCmap , is Python UPGRADED for `KingsoftCollege`_ :
 
 - at first make one open preach for intro. Python, and promised to give offer to the best students
 - On the voluntary participation of the trainees,make only four hours of basic grammar and development in the Python
 - Published a number of practical project requirements(Are the real needs of the team within the company's small systems / tools)
 - Formed by the trainees themselves, to compose teams for practical project, and under the guidance of the instructor immediately begin iterative development
 - A week for one iteration; continued for 4 weeks
 - Every morning / afternoon, conduct 15 min standup meeting,communication development plan / major achievements / major problem
 - Through the mailing list at any time for technical answers
 - Every Fri. asked for an open show, running the system demon
 - All of the code into SVN to manage
 - All of the tasks / issues / defects in the track went on to record `Trac`_
- `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`_
Line 125: Line 126:
- students have been formed in schools for the wrong software development experience, must be push into extreme environment for refactory , feeling and understand :

 - in enterprise ,Must rely on the team collectively coding
 - Python development itself is not a mystery, want the successful completion of development, it is difficult to understand the needs of internal and external communication for team
 - Good habits of code management / configuration practices , can hold it only after fall on evil days
 - All commitments must be open, so that can in credibility
 - Any time, the team must be considerate of others, your code / documentation / communication, it can be effective!

- Based on these ideas , so create an atmosphere of infinite close to their vacuum developed scenarios:
- 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:
Line 136: Line 138:
 - master generally does not directly give the answer, only pointed out that the idea that all rely on their own through the searching and reading documents
 - The project is a real dead line and the pressure for demon show ,and does not try to make an immediate difference can be seen
 - 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
Line 144: Line 145:
- Daily standup meetings have recorded
- Demonstrates a
recording session a week
- Daily standup meetings have sound recordings
-
Weekly standup meetings have sound recordings
Line 148: Line 149:
 - Assessment criteria are not publicly
 - Rate The quantitative assessment of student initiative
 - Rating concerned about the synergy / accountability / communication skills, and the kinds of real characteristics needs of the project team in the real project environment
 - 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
Line 158: Line 159:
- Rapid formation against between master and students
- Only the team which in time to abandon confrontation and seek cooperation was able to get the real demand to complete
- if the team always been to unite against , will not be able to complete the project
- 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
Line 166: Line 168:
- PythoniCamp design like this is also a compelling
  
  - master are all members of the company, also hold the daily development tasks, can not the same as the `KingsoftCollege`_ teachers into full time support
  - master do not have teacher background, for the actual technical issues may be shared
  - In the company's real environment, there can be a friendly member of the selfless help you complete the mission! We powerless to change things!
  - In the company's real projects, there can be no leisurely time to give you a technical study, everything is under pressure to squeeze time to learn!
  
- If the student before entering the real positions of program development, what is real fantasy, for individuals and businesses are hidden trouble!
- Early real-feel-related situations are conducive to:

 - Enterprise can judge in time, trainees screening the suitability this occupational
 - Students create an appropriate and timely adjust its mentality and habits

but 效果非常
- 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.


- in Beijing City University (http://www.bcu.edu.cn) PythoniCamp try 1v1 mode:

  - Students who prefer to set up Python classes 1v1
  - From a practical point of view, interest is the best teacher
  - Provides internship opportunities to Python
  - 1v1 classes the students have gradually become a company of professional Python Development Engineer

- 1v1 mode had running four semesters.

  - Curriculum, the main teaching Django for Website Development
  - A total of 80 hours per semester, four lessons per week
Line 185: Line 209:
- Chinese students in normal school curriculum is to lay a solid foundation for development
- As long as there Pascal / C / C + + / JAVA-based students, in a single day to master the basic syntax of Python and be able to complete the script executable without any problems
- 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
- Python itself is very easy to learn
- Python is also similar to Java as the lack of a complete training system
Line 189: Line 215:
 - college did not need the organization of specialized experience in enterprise management of teachers to guide learning, but the employment rate to obtain a good
 - Students do not have to spend the extra training costs, in the shortest possible time from the school-style passive learning, transformation into active problem-oriented learning and behavior patterns to improve the success rate of candidates!
 - Enterprise recruiting services do not have to pay an additional fee, you can get from the community list of potential students, and pre-associated position instill the skills to improve the success rate of recruitment
 - Community without extra effort, we can have clear objectives and a variety of support projects, to play their own preferences and capabilities, feedback communities, improve the technical community's influence
 - 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
Line 198: Line 224:
.. 链接定义区
    建议在文章头部,统一定义各种链接/图片... 内容资源!

.. _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/


.. |biohazard| image:: biohazard.png
Line 202: Line 245:
.. [#] If that relative link doesn't work, try the master document:
   http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.

.. [#是也乎] 有标签的脚注可以多次使用
   在不同场合 是也乎_

.. [this] here.

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

:status: 草稿; ZoomQuiet+清风 ;完成度 99%;

.. contents::
  :depth: 3



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


outline
==============================================================================
:Title:
    PythoniCamp ~ try to train fast for Python programmer
:Duration:
    30min
:Level:
    beginner
:Categories:
    Python in Education

:Author:

  - Zoom.Quiet <[email protected]>

   - Administrator of CPyUG (Chinese Python User Group
http://wiki.woodpecker.org.cn/moin/CPUG)
   - Core members of ZEUUX.org (http://www.zeuux.org/about/about.html)
   - Core members of ECUG (Erlang China User Group http://ecug.org/)
   - Community Advisory of SLL( http://sociallearnlab.org )

 - Qing Feng <[email protected]>

  - Is responsible for managing the daily affairs of the community,
inwork-related accidents, is committed to education, to promote Python
in China's development.
  - Administrator of http://wiki.woodpecker.org.cn (CPyUG 's WIKI
support environment)

: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.China's universities are merely instruction in C, Java,. Net and other development language, Python as a compulsory subject in China has only one university.
- A large part because the teacher did not know Python, so fewer students to understand the Python language
- Python is not the university's main course
- Teaching Python books is still relatively small
- 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.


- in Beijing City University (http://www.bcu.edu.cn) PythoniCamp try 1v1 mode:

  - Students who prefer to set up Python classes 1v1
  - From a practical point of view, interest is the best teacher
  - Provides internship opportunities to Python
  - 1v1 classes the students have gradually become a company of professional Python Development Engineer

- 1v1 mode had running four semesters.

  - Curriculum, the main teaching Django for Website Development
  - A total of 80 hours per semester, four lessons per week



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
- Python itself is very easy to learn
- Python is also similar to Java as the lack of a complete training system
- 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!*


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

.. _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/


.. |biohazard| image:: biohazard.png

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

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

PythonicCampEn (last edited 2010-04-06 15:10:44 by ZoomQuiet)