Size: 7967
Comment:
|
Size: 9609
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
:status: 草稿; ZoomQuiet ;完成度 80%; | :status: 草稿; ZoomQuiet ;完成度 94%; |
Line 20: | Line 20: |
.. _Trac: http://trac.edgewall.org/ .. _金山训练营: http://www.kingsoft.com/zt/2008/kscollege/ .. _KingsoftCollege: http://www.kingsoft.com/zt/2008/kscollege/ |
|
Line 27: | Line 34: |
概述 | outline |
Line 30: | Line 37: |
蠎营~快速培训Python 人才的尝试 | PythoniCamp ~ try to train fast for Python programmer |
Line 32: | Line 39: |
预计时长 30min | 30min |
Line 34: | Line 41: |
难度 初级 | beginner |
Line 36: | Line 43: |
Python 在教育 | Python in Education |
Line 38: | Line 45: |
既然Python 不是中国主流技术,当然也不可能进入高等学校的教案中,但是实际开发,越来越多的情景中非常需要Python 的敏捷; 这一企業强烈的Python人才需求和社会缺乏有力的Python 培训环境之间的矛盾怎么解决? 笔者在金山,无意间发现一种快速培养Python 开发人员的方式: - 通过实例情景实战开发 - 配合频率的提醒 - 强行让自然形成的团队发挥最大学习能力,在最短的时间内体验到Pythonic 蠎营~快速培训Python 人才的尝试 |
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 |
Line 51: | Line 60: |
中国背景 Background on China ------------------------------------------------------------------------------ - 程序员很多不是相关专业出身的 - 高校的计算机专业教育方式很原始和数学教育一个模式 - 主流开发技术完全看哪个公司在中国投入市场力量大,学生一般就选择: - 相关技术图书多的 - 相关技术认证多的 - 所以,Python 非常不主流 需要解决的问题 Problems to solve ------------------------------------------------------------------------------ - 但是,互联网公司越来越需要Python 开发: - 在游戏开发中需要用Python 快速粘合C/C++/Lua/Perl/PHP 等等完成的功能 - 在网站开发中需要用Pytohn 快速完成网站,或是实现一些 web 服务 - 在桌面开发中需要用Python 快速完成自动化测试/集成的跨平台调度 |
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 |
Line 75: | Line 85: |
- 怎么办? - 等待学校筹备并开办出靠谱的专业? - 给出高薪吸引自学成才的Python 程序员? - 自己创办专门学校来培养? - 蟒营,是金山探索出的一种快速针对大三/四 实习生的快速Python 培训方式 项目介绍 What's PytohniCamp ? ------------------------------------------------------------------------------ - 金山学校是金山创办的招收大三/四学生,在假期来公司全日制培训的机构: - 一般持续4~5周 - 承诺优先和成绩好的学员签定三方合同 - 主要形式是自行作C++ 编程习题,教员定期讲解 - 蟒营,是在金山学校某学期中,开辟出的Pytohn 特训班: - 公开宣讲介绍什么是Python ,并承诺优先签定意向合同 - 对自愿参加的学员集中进行4小时的Python 基本语法和开发介绍 - 发布若干实用项目需求(都是公司内部团队真实需要的小系统/工具) - 由学员自行组成对应的开发小组,在指导老师的引导下立即开始迭代式开发 - 一周为一迭代;持续4周; - 每天上午/下午,各进行一次一刻钟之内的站立会议,通报开发计划/主要成果/主要问题 - 通过邮件列表随时进行技术解答 - 每周5要求进行公开的系统演示 - 所有代码进入SVN进行管理 - 所有任务/问题/缺陷,记述到 Trac 中进行追踪 动机 Why PytohniCamp ? ------------------------------------------------------------------------------ - `想游泳,必须下水!` - 对于已经在学校中形成了错误的软件开发体验的学生,必须将其投入权限环境重构体验! - 在企业中,必须依赖团队集体作战 - Python 开发本身并不神秘,想成功完成开发,难的是需求的理解和团队内外沟通 - 良好的代码管理/配置习惯,只能在食过亏后才可能建立起习惯 - 一切承诺必须公开,这样才有公信力 - 任何时候必须为团队他人着想,你的代码/文档/沟通,才可能有效! - 基于以上设想,才营造出一个无限接近公司真空开发氛围的情景: - 指导老师是可以提供一切,但是无法主动提供,学员必须意识到,要及时吼出来需要什么 - 指导老师一般不会直接给出答案,只能指出思路,一切要靠自己通过搜索和文档研读获得 - 项目是有真实死线和演示压力的,不尽力去作立即就可以看出差别 简单的演示 Basic recurrence ------------------------------------------------------------------------------ - 每日站立会议有录音 - 每周演示会议有录音 - 每周学员活动有评分 - 评分标准不公开 - 评分根据学员的主动性进行量化评估 - 评分关注协同性/责任性/沟通能力等等真实项目环境中团队需要的特性 进一步的演示 More sophisticated recurrence ------------------------------------------------------------------------------ - 快速形成指导老师的权威 - 快速形成学员和指导老师的对抗 - 只有及时放弃对抗,尋求合作的团队能够拿到真实需求来完成 - 一直团结起来对接的团队,将无法完成项目 其它方面 Other capabilities of ... ------------------------------------------------------------------------------ - 如此设计也是迫不得已 - 指导老师,都是公司成员,日常也有开发任务,无法象金山学校的教员一样全日投入 - 指导老师,都没有师范经历,针对实际技术问题才可能进行分享 - 在公司的真实环境中,不可能有友好的成员,无私的帮助你完成任务!大家有心无力的! - 在公司的真实项目中,不可能有从容的时间给你进行技术钻研,一切都在压力中挤出时间来进行学习的! - 如果学生在进入真实岗位前,对程序开发有什么不切实的幻想,对于个人和企业都是隐患! - 提早真实感受到相关情景,有利于: - 企业及时甄别学员是否适合程序员这一职业 - 学员及时调整心态和建立合适的习惯 结论 Conclusion ------------------------------------------------------------------------------ - 中国学生在学校正常课程中打下的基础是坚固的 - 只要有 Pascal/C/C++/JAVA 基础的学生,在一天之内掌握Python 的基本语法并能够完成可执行的脚本没有任何问题 - 一般这种蟒营的指导老师都是相关社区的活跃成员,这样最终局面是: - 学校不用组织专门的有企业管理经验的教师来引导学习,但是获得了良好的就业率 - 学生不用花费额外的培训费用,在最短的时间里从学校式被动学习,转化到主动的面向问题的学习和行为模式来,提高应聘成功率 - 企业不用向招聘服务机构支付额外的费用,就可以从社区中获得有潜力的学生名单,并预先进行相关岗位的技能灌输,提高招聘成功率 - 社区不用额外的努力,就可以在有明确目标和各种支持的项目中,发挥各自的愛好和能力,反馈社区,提高技术社区的影响力 |
- 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!* |
Line 187: | Line 208: |
.. [#] If that relative link doesn't work, try the master document: http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html. .. [#是也乎] 有标签的脚注可以多次使用 在不同场合 是也乎_ .. [this] here. |
: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)>>]