Moscow, Russia

Models, Algorithms and Software in Applied Combinatorial Optimization

Language: English Studies in English
Subject area: computer science
University website: mipt.ru/english/
4 years
Software
Computer software, or simply software, is a part of a computer system that consists of data or computer instructions, in contrast to the physical hardware from which the system is built. In computer science and software engineering, computer software is all information processed by computer systems, programs and data. Computer software includes computer programs, libraries and related non-executable data, such as online documentation or digital media. Computer hardware and software require each other and neither can be realistically used on its own.
Software
A solid working knowledge of productivity software and other IT tools has become a basic foundation for success in virtually any career. Beyond that, however, I don't think you can overemphasise the importance of having a good background in maths and science.
Bill Gates, . Bill Gates: The skills you need to succeed. BBC News (14 December 2007).
Software
One of the difficulties in thinking about software is its huge variety. A function definition in a spreadsheet cell is software. A smartphone app is software. The flight management system for an Airbus A380 is software. A word processor is software. We shouldn't expect a single discipline of software engineering to cover all of these, any more than we expect a single discipline of manufacturing to cover everything from the Airbus A380 to the production of chocolate bars, or a single discipline of social organization to cover everything from the United Nations to a kindergarten. Improvement in software engineering must come bottom-up, from intense specialized attention to particular products.
Michael A. Jackson in: K. De Grave (ed.) Formalism & Intuition in Software Development; A conversation with Michael A. Jackson conducted by Edgar G. Daylight and Bas van Vlijmen. 2015
Software
You can't physically touch software. You can hold a floppy disk or CD-ROM in your hand, but the software itself is a ghost that can be moved from one object to another with little difficulty. In contrast, a road is a solid object that has a definite size and shape. You can touch the the material and walk the route...
Software is a codification of a huge set of behaviors: if this occurs, then that should happen, and so on. We can visualize individual behaviors, but we have great difficulty visualizing large numbers of sequential and alternative behaviors...
The same things that make it hard to visualize software make it hard to draw blueprints of that software. A road plan can show the exact location, elevation, and dimensions of any part of the structure. The map corresponds to the structure, but it's not the same as the structure. Software, on the other hand, is just a codification of the behaviors that the programmers and users want to take place. The map is the same as the structure... This means that software can only be described accurately at the level of individual instructions... A map or a blueprint for a piece of software must greatly simplify the representation in order to be comprehensible. But by doing so, it becomes inaccurate and ultimately incorrect. This is an important realization: any architecture, design, or diagram we create for software is essentially inadequate. If we represent every detail, then we're merely duplicating the software in another form, and we're wasting our time and effort.
George Stepanek (2005) Software Project Secrets: Why Software Projects Fail. p. 10-11
Imagine having gas stations with fuel pumps that harness solar energy to produce fuels – something akin to the process that plants use to make their own food. EU-funded scientists made major advancements in developing solar technology to turn carbon dioxide (CO2) into solar fuel, helping to reduce dependence on fossil fuels.
Privacy Policy