How to become a real programmer

Source: Internet
Author: User
Tags visual studio 2010

1. Ability to analyze problems

2. Ability to design solutions

3. coding implementation capability

4. Ability to troubleshoot

If you want to expand these four capabilities, you have to write them for a long time and will not write them for the moment.

Start to answer the question "How to become.

Scientists are pursuing knowledge and engineers are pursuing capabilities. However, it is very difficult to learn from books, but from practice.

When I noticed the subject's question, I found it too slow to read a book and watch videos. It is possible that from a specific project, I would be more interested in learning and have a sense of accomplishment.

First, we recommend that you use the C language.

C language is recommended because there are not so many ready-made and powerful class libraries in C language. C # is actually harder to understand than C language when you are not familiar with basic syntax and object-oriented concepts. Learning C language is not limited to understanding the C language syntax, but through the study of C language, establish the thinking of programming, and gain a deeper understanding of the working principles of some computer systems.

In my teaching class, my teaching content is organized in this way, and the subject seems to be able to learn in this way:

In the first stage, the basic concepts of advanced programming languages (compilation, libraries, links, etc.), the use of development tools (Visual Studio 2010), the basic structure of C language, and some differences in VC, with hands-on capabilities, you can input a program based on books, compile the program, and run the program.

Stage 2 variables, pointers, expressions, functions, branches, loops, and simple input and output.

The time for the first and second phases is often very short.

In the third stage, the first small program (such as the simplest supermarket cash register system) was started. At this time, the students started to grow their heads, because they didn't tell them a lot of things to use, even if information is found online, it may not be used in projects. The student was brought into the trap one by one. I never told them the answer in the first time. They always had to think hard for a week, and they started to talk about the solution ideas and methods when they attended classes next week.

After a month or so, they can basically complete a stand-alone supermarket cash register system, such as input (from the keyboard, scanning gun is free of charge) information, modification input, price query, and summary checkout. In terms of knowledge, structure, pointer, and file access are basically solved, and simple search and sorting algorithms are also learned.

It can be said that this is the most painful stage for students, but it is very important that they start to cultivate their self-learning ability. However, the results were quite obvious. in the later stages, a few students began to propose a solution before me.

Next, let's take the students back to this program to see how they can do better and run faster, review and refactor.

Because the program is completed in pure C, the program always looks messy, and modification and expansion are not very convenient, So we began to explore another programming idea-object-oriented, C ++ playing, in another 1-2 months, I re-wrote the program using C ++. In this process, I asked them to implement the string class by themselves, encapsulate data structures and business logic and data access ......

This is the end of one semester. In the second semester, students are required to change the black window of this console to a graphical user interface. MFC is not applicable. Only an easy-x graphics library can be used, and only putpixel functions can be used to draw points. A new round of torture begins, draw a button, draw a text box, respond to the mouse and keyboard, and ask them to design and implement Textbox, button, image classes .....,, by the way, we have made a preliminary understanding and simple implementation of mechanisms such as message loops.

At this time, some people have begun to make "high imitation windows", please don't be too surprised!

At this point, I can basically believe that my students will not post emails for C # and Java, more importantly, they have the core competencies that Real programmers must possess-self-learning and independent problem solving capabilities.


How to become a real programmer

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.