Status: 翻译; ZoomQuiet ;完成度70%; 重译; CloudZhang ;完成度30%;
参考:

PytohniCamp

outline 2pages

  • to share the training experience for current programmer in China's IT industry
  • Analysis of the current needs and contradictions of Chinese Pythoner
  • Further to share reusable Python developers training model.
  • the rapid Python developer training model, based on CPyUG community long-term practice

authors 1pages

Zoom.Quiet:
清风:

thanks 1pages

  • HD <huangdong@gmail.com> Python long-term personal sponsor promotional activities, and provide a lot of Python programmers jobs for Python development in China made a great push;
  • PanjunYong <panjunyong@gmail.com> zopen.cn founder, long-term promotion of Zope / Plone leadership for many years in Shanghai to learn python
  • Limodou <limodou@gmail.com> Python independent learners, completed several major works, for the promotion of Python made in China model;
  • CPyUG ~ Chinese Python User Group ;As the Python core technology discussion list, has long brought together many experts and successfully held several technical exchanges outline, form a good social impact;
  • zeuux.org As the only professional free software community, RMS invited to lecture in China each year, and technical exchange platform for the online organization;
  • kingsoft.com ~ As the first local professional software developers, year-round for a variety of open source technology to support the exchange and application;
  • beijing City University ~ Actively meet the needs of the community with an open mind, for the Python extension to provide a stable learning environment;

PythoniCamp ~ An attempt to fast training for practical Pythoner

outline

This dissertation begins with two of our education practices inspired by Python Camp, discusses how to promote Python in China, given its particular environment. It covers:

  • China Education Reality
  • Current Situation of Python
  • PythoniCamp Practical methodology
  • Achievements of PythoniCamp practice
  • Future Plan of PythoniCamp

China's IT education

  • China's IT education focuses on teaching students theories of Computer Science, while little time is given to put them into practice. It is like building a house from second floor (as the old Chinese saying), most students cannot understand these theories thoroughly, while have few practical skills. At the same time, enterprises could hardly hire college graduates who can do the job without further training. Here the main problem is that univercities and students do not known what is really needed by market.
  • PythoniCamp's biggest goal is to link companies and universities, to enable experienced people of enterprises to teach in universities, so students could learn useful knowledge and be pointed to the right direction.
Course Design

Comparison of curriculum design between Computer Science and Technology Curriculum.doc from Department of Computer Science and Technology Tsinghua University and MIT:Electrical Engineeringand Computer Science

we know:

  • Textbook:

    • Chinese colleges and universities write/compile textbook themsevles
    • Textbooks are not from the authorities in related fields
    • Textbooks must follow National Curriculum requirements.
    • Generally lag of National Curriculum behind practical needs of the industry is at least 5 years
    • This makes objective and content of CS education in college not be able to integrate well with current industry.
  • Curriculum Category

    • 2/5 are general Science courses, like Mathematics / Circuit
    • 2/5 are foundation courses of CS
    • 1/5 involve development practice, however, mainly on M$ technologies (VB / C++ / SQL Server)
  • Contents

    • Nearly half of pure theoretics
    • Others are mostly entry level introductions of the fields
    • CS foundation courses are mostly selective, only a few are required.
  • Graduation Requirements

    • Most courses are exam-oriented. Students who pass the exam may not understand the essential of the course and the relation between courses.

    • e.g: "Data structures and algorithms"

      • Just wanted to know what data structures and algorithms
      • Remember that some C / C + + / JAVA implementation of data structures
      • To remember from several classical sorting algorithm pseudo code
      • You can pass the exam!
Eventually:
  • Students w Carefully follow the textbooks for learning
  • Do not understand what is software and how to design a software
  • No experience of how collaboration goes in software development team
  • Can not work on any other platform/OS except M$',

Recruitment reality

At present China has opened up a more than 1000 relevant professional institutions. over 5 million undergraduate students are enrolled each year, 3% of which or more go into computer-related departments.

  • There are nearly 300,000 new graduates from college each year, nearly 20% of which choose to continue with graduate school, about 1% of which start their own businesses, and other seek for employment in the society.
  • IT industry needs nearly one million new employees each year, 40% of which are CS employee.
  • Just the Software Testing professionals are 20 million short annually, while embedded software engineers are 15 million less than needed. With the rapid development of software outsourcing industry, Japan, Korea and other small languages software engineers are very scarce, just the Japanese outsourcing software development talents are 30 million short.
  • Less than 5% of this country's 3000 large enterprises have entered the mature stage of informatization. State-owned enterprises have great potential to hire more CS related students.
  • However, the employment of new graduates of CS is in very bad situation.
Actual employment cases
  • Kingsoft college as an example:

    • Jul 2008, We filtered out 600 resumes from 2700, sent them an invitation for an online test
    • 46 (out of 600) passed the online test
    • After training , 16 qualified
    • Aug 2008, qualified students were sent to various departments of Kingsoft, 13 of which got hired finally.
    • Entry ratio = 0.48%
  • Statistics on Beijing City University:

    • There are 4 Information related department in this university.
    • 6000 students graduates annually, CS graduates, according to incomplete statistics, are about 2000.
    • After graduation, the proportion of students who pursue software development is about 1 / 80 or so, however which is decreasing year by year.
    • 3 years after graduation, the proportion of students who pursue software development is, (no statistics, rough estimate) less than 1 / 100
  • National college graduates signing rate is 7.61%

Be employed

Sadly, there is the Be employed phenomenon in colleges

  • college through various ways to create verification to proved Students has becoming Considerable data of "Graduate employment rate" per year
  • Because each school's attractiveness depends school "Graduate employment rate"
  • Only high "Graduate employment rate", are the good schools, students and parents into the school was willing to
  • Only a sufficient number of students into the schools, it could apply to education funding, and thus access to development
  • Therefore, to carry out in recent years, many students was Be employed,In case they do not know
  • Be employed Phenomenon, shows the China college can not afford to change the student's competitiveness in the job before
Why?

Teaching:

  • Scripted forms of teaching, has led to students:

    • Can use a similar secondary mathematics / physics / chemistry approach to studying computer science
    • Through the form of exercises to strengthen the concept of isolated memory
    • Did not meet the basic software that can run independently
    • so, Can not be formed while in school programming skills, practice of using rote memory of the way the code, rather than true understanding of programming
    • Most students can not correctly understand, procedures, data structures

Development experience:

  • Majority of the students to work, and consult the last student code directly copied
  • Although most of the students have personal computers, but the basic to the game with little attempt to be used for program development
  • If the student has related independently under the careful development of teaching materials, and because no timely interaction, but can only be one-sided understanding of the language features ...

Attitude:

  • Most stay in the classroom based courses taught and rarely in private will continue to self-learning, because most just want to get a diploma, in order to find work, to enjoy the treatment course
  • From primary to university, are requiring students to listen, never had any course and the training involves professional quality / attitude, when face difficulties, Solution does not require independent, Generally refer to the operation of predecessors
  • Exam-oriented education from primary to university, students are subconsciously thinking into the enterprise is to be promoted by all kinds of tests, the subconscious thought, into the society will still be students / seniors / teachers such a role exists to help to solve problem
  • all that ,make students to the face of pressure, the first reaction is to avoid or to make-up, had lost independence and curiosity and courage to explore the unknown

Overall:

  • Specialized institutions of higher most of the traditional computer science education, computer education, emphasis on theoretical knowledge of the system of imparting training to strengthen skills in contempt application. Some graduates have neither a solid theoretical foundation, nor a skillful application of skills, it is difficult to adapt to the needs of computer applications, more difficult to meet the IT industry practitioners required;
  • Software College and Vocational Institute of Technology computer software the Curriculum for IT enterprises, although Comparing with flexible school, But still subject to many factors, such as: the lack of actual projects, the shortage of training base, from the front line of high-quality enterprise shortage of teachers; not achieve personnel training and business needs of the seamless connection

PythoniCamp generation

The author is also come from this standard of Chinese universities , and in after years of struggling quasi-programmers, through PHP Into the free software world, know the technology community, began a happy collaborative learning;

  • Also through self-learning and the use of Python experience to Pythonic, deeply be convinced for this elegant problem-solving attitude of admiration, and confirmed in practice, this is kind of very effective work of art,All kinds of software needed for our team;

  • Then in the ongoing process of CPyUG ClassMeet organization,Meet the various industries / fields practitioners, further confirmed the development of various software companies have had the common problems are, there is a common and efficient team, and all can defined as Pythonic

  • But also in and communication from all University students, they found that the aforementioned shortcomings of Computer Education, and students widespread confusion, and awareness / deficit

  • Concentrated in the core conflict:

    • Relatively solid foundation for students to knowledge points and business requirements of the comprehensive solution to the problem does not exist between the overall capacity of the irreconcilable contradictions
    • Students who have completed courses when the accumulated work experience simple and personal development and enterprise development requirements based teamwork can sense there is no communication between the irreconcilable contradictions
    • Students accustomed to being driven by the pressure of examinations required learning activities and enterprises as a driving force of Professional Development for self-studying ability of the core does not exist between the irreconcilable contradictions
  • Spontaneous college students through individual training before graduation to make up for the above contradictions, generally through the original, or participation in free software, at least a year of continuous development and online communication process, exposed to the real software design / development / test / promote / improve the integrity of the scene and so on, forming a professional quality of the original programmers, none of this kind students in 10,000, will be excavated without graduating, and even own business

  • Most of the students, basically not interested in computer professional, just want to get the relevant professional diploma, just enter IT companies, such students will not Zhenzheng a basic developer, a graduation to a market / customer service roles, such as

  • However, there are always some students who are interested on the computer, but did not know how to learn programming, serious treatment of school subjects, but do not know myself enough to not form the basic programmer quality posts

the third part of student is the target of PythoniCamp for rapid improvement ;-)

  • Specific improvements in how quickly and effectively has always been the writer to think, silently experiment, since 2004 a variety of internal training, online FAQ, communication line on the course, has accumulated a variety of operational training methods
  • Starting from 2007-10, also the respective companies work to build their own team members personally presided over the recruitment and training, further practice of the Python camp involves all aspects of activities, specifically the implementation of specific
  • 2008-7 base kingsoft college complete the first full practice:

Kingsoft PythoniCamp

  • What is Kingsoft?

    • Kingsoft Corporation Limited is a leading software developer, distributor and service provider in China. Kingsoft now has R&D centers in Zhuhai, Beijing, Chengdu, Dalian, and Shenzhen.Our two main businesses are software and online games. We have several well-known products such as Kingsoft Office, Kingsoft Power Word & Kingsoft Internet Security...
  • What is Kingsoft College?

    • Kingsoftcreated, full-time leave for junior training camp, through a period of two or three months of training, basic knowledge in the program, independent program development, program development team, such as comprehensive training for students and strive from the Students selected to meet the job requirements, be combat software R & D talent;
    • From 2007, Python itself is easy to learn as easy to use, maintain high efficiency advantages in the practical application of all aspects of the company, some large-scale projects have begun to develop all use Python, but it's difficult to recruit from the community of experienced developers
    • Hereby proposed by the employing department, Kingsoft College take hold, presided over by the author, conducted the first PythoniCamp practice;
  • What is PythoniCamp?

    • a Pythonic Experience and Devil-style training camp

      • Through the practice of real projects to enable students to establish in the shortest period of time and a good sense of team, "Kaopulity" programming habits
      • from the students does not feel much , evolution into the staff to take responsibility
      • For other companies to identify potential students information for tracking and training for the style, the first time to obtain the right staff
    • Many software companies want to recruit people what had experienced and can more quickly into the team , which just graduated from college students to be deadly, they need a "catalyst" by this "catalyst" , the accumulated knowledge of students for the real work of re-inspired combination of the quality available in the scene, to better understand the process of software engineering practice. In the PythoniCamp, we will create a real software engineering environment, through centralized interaction, lead students to realize their own self-inspired creativity of the real available.

  • Why choose Python?

    • Relevant departments within the true Job Requirements for Python Programmer;
    • only the quickly script language ,such as Python, can collaborate to complete the works of a relatively complete and can experience the entire software development life cycle, Within a few weeks
    • only the Purely instrumental script language ,such as Python, can grasp in the shortest time, and can focus on solving problems, not the development of language skills on their own(for Mandatory to give up in order to be trained in the school textbook-style waterfall development process)
Practice
  • Student

    • Source:through the first test of the Kingsoft College
    • Background,14 universities from across the fresh students are computer-related professional
  • Organize

    • master,By the author's department support three people, as a daily guide, responsible for answering questions, and guide the development, the author presided over the kinds of daily standing meet
    • assistant,Kingsoft college support one,Responsible for the daily training camp order to monitor student activities, under the statute to rate
    • User Representative,From the actual needs, from 4 to 7 and collection system requirements, as four interface member, the actual demand for advice and final product acceptance
  • Summary

    • Provide intensive short the necessary knowledge into speech, and immediately enter the work environment for development!

      • Once Python intro. About50 minutes; target:Recruitment of voluntary participants from Kingsoft college;
      • Once Python Job Description, About30 minutes; target:Introduction PythoniCamps at Kingsoft's actual position and development, foster the confidence of students;
      • Twice Python Basic Training, About every 100 minutes; target:Practical knowledge of Python designated areas, to boot into Pythonic thoughts, indicate the direction to learn Python;
      • Twice PythoniCamp guider, About every 50 minutes; target:Description based collaborative development team thought, introduced basic support system, using the standard circular environment; establish agile development model to promote the weekly iteration method, and the usage details;
    • Then, immediately asked the participants were interested in self-composed team, claimed the project into the iterative development, until the business end of the PythoniCamp;

  • Experience

    • All real projrct team!

    • Provide Perfect platform for configuration management:

    • Implementation of iterative development:

      • Iterative self-nominated team of internal managers, and external interfaces were, respectively, develop coordination, and # requirement management

      • Actual development, through regular meetings to promote:
        • Twice a week, answering:

          • Mon./Thur. before 17:00 The problem through various channels order submitted to the assistant, mail to masters before 17:30
          • Tues./Fri. 11:00~11:30 Q & A
        • A milestone in a week:
          • Fri. 11:30~12:00 Regular weekly meeting, demonstrating development results this week

          • Coordination meetings twice a day the day standing development:

            • 09:00~09:15 Each one say day of the task announcement
            • 16:45~17:00 Each one summarize the progress of each day, the main difficulty
    • Mastors colleagues as possible to maintain the proper attitude, and open as possible to answer students questions, but never took the initiative to help, and if students do not ask, Master only can by way of setting and asking questions in standing meet, and guide to self-studying / try; Repeat inculcate a variety of practical work must have a sense of! such as:

      • "Masters can provide all the help, but the premise is you have to clear what you want"
      • "Any problems, when clearly defined the meaning of the problem, the problem has been resolved in half"
      • "Development of any difficulties encountered in the process, 99.9% of cases, others will inevitably encountered, and solved, and had published a solution, just found out it !"
      • "A problem, until the whole group of people are aware, and fully considered the options, it may be the most reliable program"
      • ...
  • Assessment

    • To identify potential selection of psychological / consciousness effectively converted the center, does not care about code quality, more attention to the code forming process and team efficiency

    • Guide to behavior-based, as far as possible all the quantitative targets, try to provide an objective assessment of student results in transforming!

    • Daily rates recorded by the assistant, weekly results, standings, did not announce the details of the assessment standards

    • A total of 44 items from 20 assessment points

      • Potential , concern for self-study habits and leadership potential
      • Collaboration, team awareness and communication skills concern
      • Skills, attention to developing capacity / efficiency / habit
Effect
  • the first PythoniCamp in 2008-08
  • 35 students, Actively participated in the 22
  • 2 drop-outs
  • Development team composed of 5
  • Final completion and delivery of 3 systems
  • Students pass the examination 5
  • final Into the company 3
  • 14% success rate, is usually recruited from the community in the success rate of 30 times
Student achievement
MogBench:
CCRJ:
  • code: http://kcpycamp.googlecode.com/svn/trunk/kcCCRJ/
  • name: Kingsoft College C++ Code Rule Judger
  • feature: Based on the command line, presented on the training camp trainees to submit C + + code, automatic code standard examination of 14 rules;
VER:
HHD:
  • code: http://kcpycamp.googlecode.com/svn/trunk/kcHHD/
  • name: Human Resources Handbook
  • feature: Interview management platform prototype, the interviewer can manage the time scheduled, the interviewer resumes, interview progress and scores

BCU PythoniCamp

Practice
  • School Curriculum: 8 hours per week, 2 classes, about 60-80 students

  • 1v1 class:weekend , 4 hours per day course, continue about half a year

    • Learning Objectives levels:

      • stage I : Python based
      • stage II: Python features high-level language study: yield, per class, etc.
      • stage III: Django, GAE's study
Student achievement
  • Herostory http://code.google.com/p/herostory/

    • Students developed a complete Japanese-style 2D game engine, in order to end the game books API development mainly to practice in all aspects of Python. For this API engine, you can create any of the SLG or RPG game. And through this project for students to learn the Python's use of test cases, making the engine more robust.
  • School teachers platform http://code.google.com/p/bcuteachingweb/

    • Through this platform, teachers can post homework and courseware, students can online learning , submit homeworks. Through this platform, so that the teaching process more transparent. Through this program, students complete learning the Django and the Django Admin
  • Early Education Net http://github.com/hexuotzo/khufu

    • This is an actual project, in addition to use of the Django outside, the students also prepared a number of Python scripts to facilitate the operation and maintenance. By learning to how to optimize Mysql, memcache, etc., learned a lot of practical work experience in the practical need to use.
Effect
  • there are about 1-2 people in each class will engage in software development
  • Currently the number of students taught in the 5, full employment, and all the software companies in the formal

Conclusions and ideas

PythoniCamp Fast training methods:
 
  • 选择Python 作为实践开发语言很合理,学员都可以在2日之间上手

  • Choose Python as the development language is reasonable practice, students can fall in project in 2 days;

  • Iteration through real projects, can be very effective ideological indoctrination of various practical projects;

  • Agile project management approach to promote, you can create enough pressure to stimulate student awareness of transformation

  • Ensure that a key to success:

    • Consistency of goals and organizational behavior
    • All initiate, master only guide the sidelines
    • A real job requirement, a clear improvement of student motivation
  • Notes:

    • Communication between masters and students to fully staff and equality
    • To communicate at any time
    • Assessment of the standards can not open
PythoniCamp Future Planning:
 
  • Collecting teaching data, a complete lesson plans, and to promote the ultimate hope that within 5 years:

    • enter two or more cities
    • enter 4 or more university
    • Completion of eight or more PythoniCamp
    • Transportation to more than 10 enterprises have the potential of Python programmers
  • set up : "four-win situation"

    • Schools do not specifically invited to a company of experienced teachers to guide learning, but ,can get a good rate of employment
    • Students need to spend the extra training costs, in the shortest possible time, the school-type passive learning, transformation to active problem-oriented learning and behavior patterns, to improve the success rate of applicants
    • Recruitment services to companies do not pay extra, can get from the community list of potential students, and job-related skills prior to educate, to improve the success rate of recruitment
    • Community without extra effort, can have clear objectives and a variety of support projects, their love and ability to play, feedback communities, to improve the technical community's influence
  • Promotion

    • Joint ZEUUX, the PearlRiverDelta-tech-party, CPyUG, set up a "PythoniCamp" speaking groups; in well-known student community (5xue) to carry out publicity in the past lesson plans
    • Joint one Zhuhai university, in carrying out multi-stage "PythoniCamp", in the well-known throughout the community to track student progress and student experience report
    • Joint ZEUUX, Experience teaching team to provide for online activities, support functions and conduct a virtual online "PythoniCamp"
    • All lesson plans combine to form a perfect "PythoniCamp" norms, training masters, and different universities in different cities to carry out;
    • Control of the annual "PythoniCamp" scale, selected to ensure a stable rate of corporate relations, Start boutique style of promotional activities;
    • 积累所有媒体资源,制作教学电影,先在网络媒体中传播,获得反馈,进一步修订,尝试向边远高校推广,自发组织不同规模的"蟒营"。
    • Accumulation of all the media resources, production of teaching films, try the online media in communication, receive feedback, and further amendments to try to promote remote universities, voluntary organizations of all sizes "PythoniCamp"

Reference

Organization
  • kingsoft http://www.kingsoft.com/zt

    • Kingsoft Corporation Limited is a leading software developer, distributor and service provider in China. Kingsoft now has R&D centers in Zhuhai, Beijing, Chengdu, Dalian, and Shenzhen. We have several well-known products such as Kingsoft Office, Kingsoft PowerWord, Kingsoft Internet Security and online games such as "JX Series" and "The First Myth". Kingsoft has set up some of China's largest online communities, including the most popular domestic online English learning website www.iciba.com and the online games website www.xoyo.com.
    • On October 9th, 2007, Kingsoft was listed on the Hong Kong Stock Exchange (stock code: 03888.HK). 2008 was the 20th anniversary of Kingsoft. After twenty-year's struggles and development, Kingsoft will continue to accelerate the internationalization strategy based on techniques.
    • Kingsoft people have never doubt their goal is to become a world-class software provider.
  • kingsoft college http://www.kingsoft.com/zt/2008/kscollege/index.html

    • kingsoft college like "Whampoa Military Academy," is to foster research and development talent, love of software development for all beginners and those interested in the potential development of the software industry talent. Through a period of two to three months of training, basic knowledge in the process, independent program development, program development, and so the team integrated Pei Yang on the students, and strive to meet the position requirements to build, be combat software R & D personnel.
  • Beijing City Univercity http://www.bcu.edu.cn

    • BCU was founded in 1984, the Ministry of Education approved the establishment of a national first by private colleges and universities, now colleges. Beijing City University has formed a more complete multi-disciplinary, multi-level forms of training high school talent in the professional system and pattern of the national advanced unit of Private Higher Education Institutions.
Community
  • CPyUG ~ China Python User Group

    • ClassMeet ~ Members from all over CPyUG, self-organized technical exchange meetings
    • Basic organizational processes:
    • the first initiative in the list, collecting topics
    • Various topics will be completed on time to lectures and exchanges, online publishing all kinds of information (in wiki.woodpecker.org.cn posted slide / audio / photo)
    • Continued online discussion
    • Achievement

      • https://groups.google.com/group/python-cn Python programmers gathered more than 8500, is the world's largest technical list of Chinese Python
      • The ClassMeet had be 5 years in total more than 40, nearly 2,000 people in cumulative direct participants
      • At least five times to enter the school, for Python language propaganda
      • released several open source works ,such as:UliPad / UliWeb
      • startup O.B.P , organize a series of python original or translation related technical books
  • ZEUUX
    • Zeuux is the leading interactive online community and collaboration platform to serve the free software community in China. We develop zeuux system that powers zeuux.com by the free software technology, zeuux has the innovation user experience design and supply the instant message, email, calendar, social network, blog and event applications, to serve the community to get more connected. We believe zeuux will be great helpful to promote the free software movement in China, and let more people know the ideas of free software.
    • We also hold the Zeuux Free Software Summit that's a annual event to promote the free software in China.
    • Currently, there are 25 people in the zeuux core team, and we also have a great advisor team that includes Richard Stallman, Li Songbo, Marshall Kirk McKusick, Guido van Rossum, Ni Guangnan, Mikko Puhakka, Gong Li, Lu Shouqun.
    • For more information, please visit http://www.zeuux.org, and contact email is info@zeuux.org
Document

<<-- ZoomQuiet[2010-02-22 09:28:16]>>

[1]If that relative link doesn't work, try the master document: http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html.
[2]有标签的脚注可以多次使用 在不同场合 是也乎
[this]here.

PythoniCampMonographEn (last edited 2010-04-21 12:00:53 by CloudZhang)