Current location - Training Enrollment Network - Mathematics courses - What knowledge do you need to develop software?
What knowledge do you need to develop software?
Question 1: What knowledge do you need to engage in software development? Dedicated to students majoring in computer science

1. First, please love this major. Only in this way can you find real happiness from abstract theory. if

You don't love her, or just because it's a hot major, so I advise you to give up this major, because computers are

A double-edged sword, if you learn well, you will have a successful career. If you don't learn well, you will be extremely painful after graduation. You can't get high, you can't get low, and you won't be rich.

Show your potential, just like English majors come to America.

Don't look at this subject with utilitarian eyes, it is definitely not a major that can make money with a click of a mouse. Don't think about making a website.

Make money, don't try to increase advertising by click-through rate. This was out of date four years ago. If you still think so, then don't.

Go ahead, because I'll think you're corny. The sense of accomplishment of computer major is always accompanied by physical pain, shoulder circumference.

Inflammation, cervical spondylosis, dry eye, alopecia, lumbar disc herniation, arthritis, it is no exaggeration, so handsome I have done two.

I found that I began to lose my hair after three months.

3. Understand the meaning of computer science and technology. Do web pages, make pictures, do flash, play games, surf the internet,

Listening to music, recording mp3, making movie subtitles, installing window functions, changing the registry, making software skins … these are not called computer science.

With technology, if you study computer, you will do the above things, which is what you should do. You won't do it, and there is nothing shameful.

Yes, what we need is not to let others call us "masters".

4. Make clear whether your final professional direction is software or hardware. The direction is the network? Network is not a professional direction. The network is optimal.

Xiu's software engineer, the best hardware engineer and the best communication engineer are all the crystallization of wisdom. If you are software

Direction, please learn a package of mathematics, data structure, algorithm design, numerical analysis, assembly language, operating system,

It is useful for you to finish the courses of compilation principle, database principle, software engineering and listen to the hardware courses carefully. soft

This project is definitely not a lesson that can be learned by rote. Computer theory may be learned by one person, and software engineering will be successful.

Tens of millions of network software engineers have failed for decades. Please listen carefully. Don't ask me what I should learn

Language, computer professionals must have the ability to use any language within 1 hour, at least within 10 minutes.

The world succeeded. If there are two languages that must be learned, that is, c++ and java, learning is not learning a language.

But learning c++ thinking and Java thinking, one is the basic theory of software, and the other is object-oriented.

No one has ever heard of "thinking in basic". If you say that c++ is out of date, it must be.

Don't tell anyone your name because it's embarrassing. Teachers in Shanke University will only teach you C, not++,so don't.

Blinded by him, ask him++boldly. If he can't, simply change teachers. Students studying hardware are listening to the above courses carefully.

Then study other courses besides politics.

Even if you learn the above courses well, we are still far behind. We only know what to learn, but we don't know what to do.

Yao. Our curriculum design is too naive. Don't tell the students abroad, or they will be laughed at, so we will work hard.

If possible, do more design, not one person, two or three people do a project, computer people who can't communicate.

You will definitely be laid off after you are 30 years old. The topic, as far as possible, is some simple bottom development, you can go to the websites of foreign universities to search.

Search, be confident that you can do it, after all, it is not a problem, but the quality we should have.

6. If you are interested in the network and have a certain hands-on ability, learn from the perspective of protocol or underlying hardware. no

Then you are willing to degenerate from a noble computer professional to a migrant worker who does heavy mechanical manual labor. Yes, network security.

Everyone is interested, then you will learn network protocols and exercises from the perspective of programming after learning to use various tools for one month.

Make a system! It is an obscene act to attack the loopholes of the ignorant only with tools. If you enjoy it, scream everywhere.

Called "hacker", then this kind of behavior can be called "* * *". Online appeal to hackers from China, the United States, China and Japan ...

Question 2: What knowledge does software development need? 1. First of all, I love this major. Only in this way can we find real happiness from abstract theory. if

If you don't love her, or just because it is a hot major, you strongly demand to give up this major, because computers are a double-edged sword. If you learn well, you will succeed in your career. If you don't learn well, you will be extremely painful after graduation. Without success, there is no development potential, just like English majors coming to the United States.

Don't look at this subject with utilitarian eyes, it is definitely not a major that can make money with a click of a mouse. Don't think about making money on the website, and don't think about increasing advertising by click-through rate. This was out of date four years ago. If you still think so, don't say it, because it will feel very corny. The sense of accomplishment of computer-level majors is always accompanied by physical pain, such as scapulohumeral periarthritis, cervical spondylosis, dry eye, hair loss, lumbar disc herniation and arthritis.

3. Understand the meaning of computer science and technology. Making web pages, making pictures, making flash, playing games, surfing the Internet, listening to songs, recording mp3, making movie subtitles, installing windows, changing the registry, and changing the software ... these are not called computer science and technology. If you study computer, you can do the above things. Yes, you can't do it, and there's nothing to be ashamed of. What you need is not to be called a "master".

4. Make clear whether the final professional direction is software or hardware. The direction is the network? Network is not a professional direction. Network is the crystallization of the wisdom of the best software engineer, the best hardware engineer and the best communication engineer. If you are majoring in software, please listen to the hardware course carefully after learning a package of courses such as mathematics, data structure, algorithm design, numerical analysis, assembly language, operating system, compilation principle, database principle and software engineering. Software engineering is definitely not a course that can be learned by rote. Computer theory may be learned by one person. Software engineering is the crystallization of the failure lessons of tens of millions of network software engineers for decades. Please listen carefully. Don't ask what language you should learn. Computer majors must have 1 hour ability to master any language, and at least 10 minutes to make hello world. If there are two languages that must be learned, they are c++ and java. They are not learning languages, but learning c++ thinking and learning Java thinking. One is the basic theory of software, and the other is object-oriented.

Question 3: What basic knowledge do you need to learn in software development? Yes, it's more or less basic. We all know that some software engineering books are macroscopic, that is, the so-called theoretical basis, but they are not suitable for beginners. If you want to engage in software development, you can try to contact several relatively easy languages, such as C language. You don't need to learn too much, just enter a door and learn java or C#. These two languages can see the effect faster, and they are both developing rapidly.

Adopt it

Question 4: What knowledge base should be used to develop APP? The software scores 50 points first, and the program is related.

If you want to be an android application developer, the most basic thing is to know how to use the Java language and XML knowledge. After mastering these two languages, install Eclipse and Android SDK, and you can do development. Of course, you have to learn the usage of the API unique to Android. Java and XML are just the basis of programming.

If you want to be an iOS app developer, you need to know

1, language basis: Objective-C language, xcode development environment;

2, mobile phone experience: enough iPhone experience and experience, otherwise it is difficult for you to communicate effectively with product managers and designers;

3. Specific development capability: the main development will focus on interface development, certain database development, communication interface development, collaborative development and joint debugging. If it is a game, it also needs to involve engines, modeling, materials, light and shadow, storyboards and so on. I recommend two books, two classic introductory books "Basic Course of objective-c" and "Basic Course of iphone4 and ipad Development".

Second, user experience.

A good application will have a good user experience, so before developing an app, we should come up with a plan, think about when users use my application, what is the user's attitude, which are core functions, which are auxiliary functions, which are marginal functions, how to establish the best operation path, how to allocate functions on the page, what style and style my application interface should be, and finally draw a UI plan.

Third, product design.

After determining the UI scheme, the market positioning, core value, product function, competition analysis, business model and marketing promotion of my app application. Among them, what kind of problems are solved for users (core values), how to solve them (product functions), whether there are alternatives (competitive analysis), what benefits are brought to APP developers (business model), and how to let users contact and install and use this my APP (marketing promotion) all need to be considered.

If you want to develop an APP soft armor, I suggest you consult Suzhou Ruitu Technology. Their family is quite professional in this area.

Question 5: What do you need to learn in software development? Computer system structure, computer hardware and software foundation, data structure and algorithm complexity, C language, assembly language, computer network foundation and other courses.

Question 6: What knowledge do you need to learn in software development? There are many kinds of software development, you must first determine a direction.

Is it embedded or web application, or something else.

At the same time, you should know that it is written in many languages, such as java, c++, C,.

What are the differences between the three, what are their development trends, and how do you determine which one you want to learn and which one you can learn?

Take java as an example, the style of Java programming language is very close to C and C++ languages. But Java is a pure object-oriented programming language, which inherits the core of object-oriented technology of C++ language. Java abandons the characteristics of pointer (replaced by reference), operator overloading and multiple inheritance (replaced by interface) which are easy to cause errors in C language, and adds the function of garbage collector to recover the memory space occupied by objects that are no longer referenced, so that programmers don't have to worry about memory management. Moreover, in Java version 1.5, Java introduced some language features, such as generic programming, type-safe enumeration, variable-length parameters, automatic unpacking and so on.

At the same time, Java is different from the general compilation and execution computer language and interpretation and execution computer language. It first compiles the source code into binary bytecode, and then relies on virtual machines on various platforms to interpret and execute bytecode. Thus, the cross-platform feature of "compile once and execute everywhere" is realized. But it takes some time to compile bytecode every time, which also reduces the running efficiency of Java programs to some extent.

According to the current market development, the java market is also very good. For example, there are several software development parks in Chengdu, and Tianfu Software Park is the most overbearing one, which is divided into areas A, B, C and D.. Among them, the biggest game company in China-Zone A of Perfect Space-Time has the following games: Perfect World, Chibi, Pocket Westward Journey, IBM, Nokia, Symantec, Kingdee, Jiuzhou, etc. Zone B has a grand online game company that makes mir Legend and Eternal Tower, Hengfeng Animation, Telijia, Alcatel, Huawei, Mobile, Oracle Bone Inscriptions and other companies; In Area C, there are Tencent, 1, 000 employees, several buildings, which are still expanding, and companies such as Noah Zhou. Area D has the world's top logistics giant, Danmarsh Company, and Wipro Company, one of the three major software companies in India.

4 1

4 1

2 9

2 8

Question 7: What do I need to learn to develop a mobile app? First, the program is related.

If you want to be an android application developer, the most basic thing is to know how to use the Java language and XML knowledge. After mastering these two languages, install Eclipse and Android SDK, and you can do development. Of course, you have to learn the usage of the API unique to Android. Java and XML are just the basis of programming.

To become an iOS application developer, you need to know 1, language foundation: Objective-C language, xcode development environment; 2, mobile phone experience: enough iPhone experience and experience, otherwise it is difficult for you to communicate effectively with product managers and designers; 3. Specific development capability: the main development will focus on interface development, certain database development, communication interface development, collaborative development and joint debugging. If it is a game, it also needs to involve engines, modeling, materials, light and shadow, storyboards and so on. I recommend two books, two classic introductory books "Basic Course of objective-c" and "Basic Course of iphone4 and ipad Development".

Second, user experience.

A good application will have a good user experience, so before developing an app, we should come up with a plan, think about when users use my application, what is the user's attitude, which are core functions, which are auxiliary functions, which are marginal functions, how to establish the best operation path, how to allocate functions on the page, what style and style my application interface should be, and finally draw a UI plan.

Third, product design.

After determining the UI scheme, the market positioning, core value, product function, competition analysis, business model and marketing promotion of my app application. Among them, what kind of problems are solved for users (core values), how to solve them (product functions), whether there are alternatives (competitive analysis), what benefits are brought to APP developers (business model), and how to let users contact and install and use this my APP (marketing promotion) all need to be considered.

Fourth, we can develop without technology.

If you can't do the above three points, then you don't have to be discouraged. Now there is an appstar free mobile application development platform. The key is that you can develop on this platform without technology.

Question 8: What software foundations do you need to develop a mobile APP? First of all, APP development includes three platforms, Android, Apple and windows. So is it difficult to develop APP software? Here I tell you not to worry, foreign technology developers have developed many stupid tools to help enterprises create simple APP applications. Through these tools, even an ordinary netizen who knows nothing about the program and programming code can easily create an APP client, and can update and maintain the program and carry out marketing activities. At present, there are five commonly used development tools: Bizness Apps, APPMakr, Appsgeyser, Mobile Roadie and DevmyApp. Please refer to jingyan.baidu/...6. for details.

Question 9: What do you need to learn in computer software learning? What does software development study? First, pay attention to the study of basic courses. Although computer major is a symbol of high technology, it is restricted by the development of other majors. The study of computer professional knowledge should also strengthen the study of some related knowledge. Computer software development often involves algorithms, and mathematical knowledge is used in language structure, so there is also a certain demand for the study of advanced mathematics, discrete mathematics, linear algebra and other mathematical knowledge. Especially for software developers, the development process will involve more mathematics. Some experts have said that the learning process of computers often starts with hardware, then goes to software, but eventually it will reach hardware. At first, learning hardware is convenient for us to understand computers, learning software is convenient for us to apply computers to further learn hardware, and it is convenient for us to creatively improve computer work efficiency and develop computers. A software developer pays great attention to program efficiency, but efficiency is often closely related to computer hardware knowledge. We should strengthen English study from beginning to end. Because the current computer programming languages are mainly developed abroad, the main coded sentences are often English, and they are usually explained and explained in Chinese. Some textbooks and books are not translated accurately, so it is better to read HLP directly. And many statements and expressions in high-level languages are English sentences, such as many statements in SQL. Have a certain English foundation, and you can get twice the result with half the effort in computer learning. Second, what do you need to learn software that focuses on basic programming skills? Don't worry. First of all, when we walked into the bookstore, there were many books on computer software development, which was dazzling. Where to start learning and what kind of software to use? There are also many crash books on computer software development, such as "Learning JAVA in 24 Hours", which are very attractive from the title. But from the actual effect, it is difficult to master these quick start books without a solid programming foundation. A good programmer can't make it in ten days and a half. He must learn the basic knowledge of programming in a down-to-earth manner and go through a long and arduous learning and program development process. Therefore, computer majors should first be prepared for hardship. When we are studying some basic courses such as java, C language and so on. We will feel as if these things are of little use, and these things similar to low-level languages seem to be difficult to achieve great things no matter how hard we try! Indeed, it is much more difficult to learn some code programming than to develop forms, and all statements must be input through each expression. The development mode of a few mouse clicks is of course much easier than the development of keyboard input code. Just learning the development system of forms can make people develop some systems with simple functions in a short time, but it is difficult to achieve great results. Most people like window software development. This is one of the reasons why China's software industry has not developed into a software power for many years. Computer education should attach importance to the education of code programming, and professional students can't ignore the study of code development. If you want to ask how useful the code development function of C language is, the famous UNIX operating system is written in C language. And almost all the games we play are written in C language. Learning C language is much less difficult than learning assembly language, and C language is a "compulsory course", so every user who aspires to become a computer programmer must conquer the mountain of C language. Third, the combination of theory and practice to learn to write programs, not only to understand the teacher's various knowledge points, read more textbooks, but also pay attention to the computer practice combined with courses. Many students spend a lot of time understanding teachers' knowledge points and reading textbooks, but they don't pay attention to computer practice, and eventually they will go to the category of "nerds" and find it difficult to occupy a place in software development. While reading textbooks and listening to lectures, it is much better to do the secondary digestion of knowledge points in the process of computer use than to simply digest textbooks. Of course, you should be prepared every time you go to the computer. Many students have no goals when they go to the computer, and their learning efficiency will of course be very low. Before you go to the computer, you should plan what to do on the computer and have some new ideas to design debugging programs. Only by constantly discovering and solving problems in the process of computer operation can we gradually move towards the path of programmers. Some students only pay attention to computers and neglect theoretical study. At first, these students seem to make rapid progress, but at a certain level, they will stagnate. Therefore, practice should be synchronized with theory, closely combined, and lay a solid foundation for programming. What do you need to summarize when learning software? Software programming needs practice. After a certain period of study and practice, you already have solid computer programming methods and skills. But you only learned some languages with relatively simple functions under DOS ... >>

Question 10: Who needs to develop a software (mobile app)? An Android engineer. If you want ios, you also need an ios engineer, a java or C or C++ engineer. This is the most basic, provided that your engineer or yourself has the ability of product manager and ui designer. If you don't have this ability, then you need a product manager to take charge of the overall product concept, and you need UI designers and interaction designers. With the above, you can develop an APP.

But what about after the development is completed? Still have to put it into market operation, right? Therefore, you also need promotion and operation personnel.