Questions and Countermeasures from students to programmers

Source: Internet
Author: User

I. Problems.

First, some computer students may have the following problems:

1. Lack of self-learning ability. It is manifested in some problems encountered during development and I don't know how to use the help tools, such as mdsn (. NET direction) and Baidu. Even when you encounter some problems, you can only wait, and you are not conscious of actively seeking a solution.

2. Insufficient logical thinking ability. Don't take the initiative to think about problems.

For example, the three-tier architecture design of a web site. Some students are particularly difficult to abstract the business entities at the intermediate business logic layer. There may be the following reasons: During the learning process, the learning of OO and L3 systems is not solid enough. Therefore, when the transaction logic is abstracted, it is impossible for the tiger to get started, I always feel that I have no bottom in my heart (investigation results), or that what I think cannot form a system. That is, how many abstract members in some classes, but the relationship between members? Which Member is required? Which one can be derived from other Members? It is very difficult to form a system that fully embodies the functions.

The main reason is that there is no theoretical guidance for thinking, and thinking can only be fragmented.

3. Insufficient flexibility. It is manifested in the use of other people's code, or the relevant information, the use of flexibility is not enough. This demonstrates the lack of self-learning ability and poor theoretical foundation. There are things, but they cannot understand the essence (that is, the functions to be expressed), and they can only be applied to them, resulting in various problems.

The most fundamental reason is that you do not understand algorithms and cannot program them. If you are familiar with your system functions (at least have ideas), you can refer to the Code and make appropriate modifications. If you are familiar with the functions to be expressed by code (Others, you can also make some changes based on the original code, and process your own things through your own thinking. This shows that students are incapable of thinking.

4. Poor hands-on capability. For example, even simple words must be completed with the help of a teacher, and the self-help capability needs to be improved.

5. Unable to communicate with the teacher normally. Some students cannot understand some questions and think that the teacher's explanation is too professional to understand.

Of course, there are some other problems.

Ii. Countermeasures

1. Status Quo Analysis

If the problem is exposed, the right remedy is given. Make a simple analysis before giving countermeasures.

(1) It is obvious that many of the four-year undergraduate computer talents are not competent in programming and are not suitable for enterprise requirements. Some people complained on the Internet that there was a problem with the undergraduate talent training program.

I don't think so. In my opinion, the undergraduate course system is still relatively scientific. There are theories and practices. (For example, data structure, operating system, algorithm analysis, software engineering, and language basics ). So if something goes wrong, it can only be a problem in the implementation process (as mentioned in my previous article), focusing on theory, even practical lessons have been replaced by many theories.

Reasons for this phenomenon: first, the conditions are not allowed and there is no training base. Students and computers cannot be one-to-one. The second possibility is that the teacher's guidance is insufficient, and the entire environment for learning software development is poor. As far as I know, some famous foreign universities, such as MIT and Stanford, offer these courses. They only have a good environment and are widely used in computer applications.

So what I want to say is that if the hardware conditions are improved, we should look for problems in the implementation process.

(2) Another problem is whether students can become programmers directly under school training. The answer is yes, of course! I have learned that some students who do Java training outside of school have average academic performance. However, after less than half a year of training, they will not be able to understand the MVC Architecture, Hibernate and other technologies when introducing concepts.

This illustrates the problem: when students want to learn (under some stimulus) and the practice process is properly controlled, the school can cultivate talents suitable for the enterprise.

2. Real Countermeasures

Through our analysis (comparison between schools and training institutions, and analysis of existing problems for students to learn), the countermeasures are as follows:

(1) call students' enthusiasm.

The improvement of learning enthusiasm lies in the continuous encouragement of teachers and the same treatment of teachers. Do not fear students as much as possible (do not dare or do not want to ask questions, because you do not understand them. Over time, you will not ask questions again ). In fact, every student wants to learn well but does not stick to it. Therefore, in the teaching process, we should seize their weaknesses, encourage and strict requirements, and communicate with students in a timely manner. In addition, the communication process should be reflected in the hope that students will become talented, at the same time, we are confident that students can become talented. Even if the students lose their information first, the teacher may inspire them to build up their confidence in learning and becoming talented again. Of course, it should be based on horizontal communication.

In short, you must first make students want to learn and learn with confidence. The above-mentioned problem 4 is because the students have no confidence to do well.

(2) teach students how to learn. If students want to learn with confidence, then the question is how to learn. This is the essence! That is to say, it enables students to have a certain degree of self-learning ability, logical thinking, and flexible use. That is to solve problems 1, 2, 3.

I think: first, the teacher should guide the students to think, instead of cramming them. During the course, there should be more analogy and more inspiration.

For example, if you talk about a class in FCL, you can ask the students to open msdn and reflector. As long as the teacher talks about the members involved in the class content, there is no need to talk about other members, there is no time to talk about it. It can be left for students to continue learning. In the entire content system, it is certainly not only one time to use msdn, so you can tell students multiple times which part of msdn can be used to learn what knowledge. Such as the class namespace, class definition, inheritance, and member usage.

After a long time, you will get used to it!

This puts forward higher requirements for Teachers: more inspiration and more analogy. My experience in class tells me that if I am familiar with a certain knowledge point, I will expand more. If I am not familiar with it, I can only proceed with caution. The criteria for judging "familiar" and "unfamiliar" are: the definition of a knowledge point, the scope of use, possible problems, corresponding alternatives, their respective advantages and disadvantages, including whether it has been used in previous projects or not.

Therefore, the teacher is required to write and speak out only when he is familiar with it. This is a truth for us to write a teaching plan, then talk about the teaching plan, and then summarize the teaching plan. Therefore, there is no end to learning. Haina baichuan can be a Master of Arts, be comfortable with the content, and be able to better expand and introduce it to students.

Secondly, if it is possible to let the students think like a teacher, it is recommended that the students make a summary and write out the things they think of. That means they really understand it. The current examinations have so many drawbacks, but they are still being conducted every year. This is explained. Therefore, students who want to learn the same books and content can do the same thing better, but those who do more but don't want to do it will not make much progress. As a matter of fact, many of the later students did not want to do it, but did it by imitating others.

Therefore, the role of cases in case teaching methods is not to tell students what the code is, but more importantly, to introduce the way of thinking in case studies. How should we divide modules? Why? How should we abstract entities? Why? What is the relationship between entities? Why? In this way, the "points" of excellent cases allow students to understand the "aspects" of similar business scenarios and broaden their horizons.

In short, the students have their own confidence. In practice, the teachers shall "Guide" students to think and "practice" on the basis of thinking ". In the course of practice, you can check the information and help documents under the guidance of the teacher, or ultimately the guidance of the teacher, instead of simply giving the code to the teacher, at least, while giving the code, we should tell the students the idea of code generation.

(3) It is not difficult to ensure the learning time of the Students. If the students are confident and interested in programming, as long as the teacher releases the task, the so-called "task-driven ". Ensure the time.

Only when students are allowed to program can they discover problems. On the premise that teachers and students establish horizontal communication, the teachers give guidance (instill ideas) and let them try to solve the problems (as long as they care, problems can always be solved), and finally the problem is solved, forming your own knowledge system (experience ).

Multiple iterations of the above process can give teachers more time to enrich themselves and accumulate their own buckets of water so as to better give students a cup of water; for students, they have exercised their ability to do things independently.

Finally, you should pay attention to the following question: if the student's time cannot be guaranteed, it would be better to fill in. "Free" learning is a double-edged sword. Therefore, the homework assigned by the teacher to the students should be completed by the students without wasting time. In addition, the supervision of the process and the guidance of students require the teacher to pay more energy!
 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.