A reply from the teacher

Source: Internet
Author: User

When I was in MSE last semester, I met a good mentor who taught us the object-oriented design course. After one semester, I learned a lot. Although I didn't teach us this semester, however, we still have exchange views with us on the exchange of letters and give us some advice. A few days ago, a student sent a letter to ask a few questions, one of which was a popular article on the Internet recently.ArticleAlso,"ProgramDesign Experience
(Http://bbs.zol.com.cn/index20060131/index_27_26468.html), where the teacher gave some of his views, even quite objective, so the pick and favorites, although each person has a different view, but as a student, we can also see the direction of future efforts

1) you already think that C ++ and assembly languages are simple languages and can be used freely;
Bytes -------------------------------------------------------------------------------------------------
Teacher: These two types of languages (note that they are not two types, but two types) are indeed very important. You must be proficient in using these two types of languages for development.
Software. However, if they are very simple, they are too conceited (especially a practical high-level language). In fact, language design requires too much knowledge and
There are also important Program Design Methods behind it. You 'd better not think that you have mastered a certain language or language, even if you are skilled in using it
You may not understand the design ideas and implementation technologies behind them. It is also necessary to be familiar with the Java language because of its position in distributed application development.
Very important. After you have mastered one of these languages (such as C ++), you should be able to easily turn to another language of the same type (such as C #, Java,
Python, etc.), otherwise I think you still do not have a good grasp of this type of language.
Bytes -------------------------------------------------------------------------------------------------

2) You can think of the right wuziqi AI in 30 minutesAlgorithmDesign ideas and directions;
Bytes -------------------------------------------------------------------------------------------------
Teacher: this is not necessarily the case. It is better to say that you can find out the materials in five minutes to learn the ready-made game algorithms.
Bytes -------------------------------------------------------------------------------------------------

3) you fully understand why STL is so important;
Bytes -------------------------------------------------------------------------------------------------
INSTRUCTOR: I don't want to understand why STL is so important. Instead, I will use STL to know what I have used in the design and implementation of STL.
Technology, which can be used for future software development. C ++ is STL, Java is jfc/swing, JDBC,
Stream system, multithreading, network programming and other technologies, it is important to understand the various design ideas and design patterns.
Bytes -------------------------------------------------------------------------------------------------

4) You can solve all compilation and link problems independently, even if you have never encountered any problems, you do not need to ask anyone;
Bytes -------------------------------------------------------------------------------------------------
INSTRUCTOR: This is positive and is the most basic measure of hands-on ability. As long as you do more procedures, this problem will naturally be solved.
Bytes -------------------------------------------------------------------------------------------------
 
6) NTFS disk format standard.
Bytes -------------------------------------------------------------------------------------------------
Teacher: I don't understand this either. I don't think it is necessary. When using NT or XP, I only need to know the external of NTFS and FAT32
Feature differences are enough. If you want to develop more underlying applications, I will look for books to see the structure of NTFS. Of course, the basic overview of the file system in the operating system
Reading must be a necessary knowledge.
Bytes -------------------------------------------------------------------------------------------------

7) Consider algorithm issues from the perspective of set theory;
Bytes -------------------------------------------------------------------------------------------------
Teacher: I don't understand what I want to say. The abstract mathematical ideas presented in discrete mathematics are indeed very important. They can be understood and applied in a sense.
Tian Hua's stuff, but it's not just a cow in the snow.
Bytes -------------------------------------------------------------------------------------------------

8) be able to understand a simple driver and a simple 3D interaction program.
tips
INSTRUCTOR: it may not be enough to understand, it must have been practiced before. For example, in the course of operating system (although I do not teach this course ), I am a
directly claiming that students must do something to do or improve a program such as a ready-made device driver, function call, process scheduling, memory management, and file system
.
tips
10) you fully understand the design philosophy of COM, especially why it is designed like this.
tips
INSTRUCTOR: we should study the software component technology in the context of distributed computing so that we can have a deeper understanding. We recommend that you use the
type object Learning Technology (OSS) based on CORBA and the object Learning Component Model Based on EJB.
average

11) when talking about the important role of virtual functions, you will not rush to seek books;
Bytes -------------------------------------------------------------------------------------------------
Teacher: to be accurate, it should be the importance of polymorphism when object-oriented programs are running. virtual functions are just the means for C ++ to implement dynamic binding (write down these things)
The guy may love and be familiar with C ++). If it is a Java language, every method is dynamically bound by default. Almost all object-oriented designs are built
On the basis of Runtime polymorphism, I think it is the most important feature (such as encapsulation, Information Hiding, data abstraction,
Inheritance, category, and so on are also useful, but it is far behind running polymorphism ). I can understand the polymorphism content in our class.
Dong has a deep understanding. To measure whether you really understand polymorphism is whether you have learned to adopt an object-oriented approach to software design.
Such as correct use of the design mode ).
Bytes -------------------------------------------------------------------------------------------------

12) you can explain why C ++ is better than other languages,
Bytes -------------------------------------------------------------------------------------------------
Teacher: Well, the old mistake is to say the advantages of object-oriented languages or methods, not just the C ++ language. I don't think so. I usually
The idea is: If you can say something wrong with the c ++ language, Java language, C # language, and the language you are using
Server (or at least bypass), you have more advantages than simply speaking these languages.

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.