2,
3
4. As the title says, the program is a personal behavior, in the case of ACM, such as the topic, according to the topic to write a number of lines of code, the use of an algorithm to complete the topic requirements, just input and output is enough, this can be said to be a simple program, is to complete a program. And a software is a large project, the software has a number of components, the need for a number of different people to work together, the design of the case-form interface, the establishment of databases, whether the need for networking and so on, need to consider more things.
I think it's not entirely true that software engineering is someone who doesn't write a program. The person who writes the program also uses the relevant principles of software engineering when developing the application. Software engineering is designed to be developed, and whether or not it is written, it uses software engineering. So the argument is one-sided (hot)
The first chapter of modern software Engineering "Introduction" Practice and discussion hot (2,3,4)