UPI Study › Courses › Software Engineering › Free lessons › Lesson 1.1 Free with a free account
What Is Computer Software? Core Definitions and Everyday Uses
Software Engineering · Chapter 1: Foundations of Software Engineering and Process ModelsSection 1.1 · lesson 1 of 1038 min · free with a free account
Free preview
Create a free account to keep watching
It takes a minute and costs nothing. Your free account unlocks all of Chapter 1 and 3 more lessons of Software Engineering.
Lesson complete
Earn the 3 college credits for Software Engineering
Enrolling adds a quiz after each lesson, the graded work and the official transcript. Recommended for credit by NCCRS.
Next lesson: The Software Engineering Process: From Requirements Through Deployment →Next lesson: The Software Engineering Process: From Requirements Through Deployment →
In this lesson
Core definitions, 2 kinds of software, what makes it different, and where it shows up.
- Define software, and distinguish it from hardware
- Differentiate system software from application software
- Explain what makes software behave unlike physical products
- Recognize how software supports tasks across industries
Transcript
Everything said in the video, section by section (1,061 words). Read along, or search it.
Foundations of Software Engineering and Process Models
What Is Computer Software?
Open a laptop, a phone, or a car dashboard, and you are looking at two very different kinds of engineering working together. One kind you can hold in your hand. The other you can never touch, yet it is the part that tells the machine what to do. That second kind is software. This section builds the vocabulary you will rely on for the rest of the course. What software is, the two families of software, what makes it unlike any physical product, and where it shows up in everyday life.
2 Halves of Every Computer
Software and Hardware
Computer software is a set of instructions, written in a programming language, that tells a computer's physical components what to do, and how. It has no mass, no shape, and no physical location you can point to. It exists as logically organized data, stored on a physical device, but never itself a physical object. Computer hardware is every physical, touchable component of a computing system. The processor that carries out instructions, the memory and storage that hold data, the screen, the keyboard, and the circuitry connecting them. Hardware has weight, takes up space, and can be damaged by a drop, a spill, or ordinary wear. Neither half is useful without the other. Hardware with no software has no instructions to follow. Software with no hardware is just a file, with nowhere to run.
Table 1.1
Hardware and Software Compared
Here the two are side by side. Hardware is physical and tangible. Software is logical and intangible. Hardware wears down through friction and heat. Software runs identically every time it executes. To modify hardware, you replace or repair parts. To modify software, you edit the code and reinstall it. Hardware typically fails from physical damage, or aging components. Software fails from logic errors, or incompatible updates. A processor, a keyboard, and a hard drive are hardware. An operating system, a browser, and a mobile app are software.
2 Types of Program
System Software vs. Application Software
Not all software plays the same role. It falls into two broad categories. System software manages the computer's own resources, and provides the foundation everything else runs on. It starts running the moment the machine powers on, and usually works quietly in the background. The operating system is the most familiar example. It manages memory, schedules the processor, and controls input and output devices. Device drivers, firmware, and utilities belong here too. Application software helps a person accomplish a specific task. A word processor, a web browser, a spreadsheet, or a mobile banking app. An application does not manage the computer itself. It relies on system software for memory, storage, and the screen. Here is a simple test. If removing a piece of software would stop the whole computer working, it is system software. If removing it only takes away one specific task, while the computer keeps running, it is application software.
What Makes Software Different (1)
Developed, Not Manufactured
Software behaves in ways that have no real equivalent among physical products. These traits shape almost every later engineering decision. First, software is developed, not manufactured. A physical product is built from raw materials that are shaped, assembled, and consumed in the process. Software is written, and logically designed. And once written, a program can be copied an unlimited number of times, at effectively no material cost. Each copy is simply a pattern of data, not a separately manufactured object.
Figure 1.2
Why Software Doesn't Wear Out
Second, software does not wear out. The solid line falling across the chart is hardware. Friction, heat, and repeated use gradually wear it down, year after year. The flat line at the top is software's logic. A copy of a program runs exactly as written, a thousand times or a million times. The dashed line is software's real-world usefulness. It can drift downward over time. Not because the code aged, but because the world around it moved on.
What Makes Software Different (2)
Obsolete, Not Worn Out
A mechanical part degrades with each use. Software has no moving parts to wear down. A program executes its instructions exactly the same way on run number one, and run number one million. When software seems to break down over time, the cause is almost never the code itself. It is usually a change in the surrounding environment. An operating system update, a new device, or requirements that shifted, that the original code was never written to handle. This is described as software becoming obsolete, rather than worn out. So when a colleague says a laptop's operating system feels worn out after five years, the code has not degraded. Newer software, and newer needs, have moved on around it.
What Makes Software Different (3)
Custom-Built or Assembled
Third, software can be custom-built, or assembled from ready-made parts. Custom-built software is written from the ground up, to satisfy one organization's specific requirements. The way a tailor builds a suit to one customer's measurements. Assembled software is combined from existing, reusable components. Pre-written libraries, frameworks, and off-the-shelf modules, configured rather than written from scratch. Most real projects sit somewhere between the two. They reuse proven components for common problems, and write custom code for whatever makes the project unique.
Table 1.2
Software Across Everyday Industries
Software becomes concrete once you notice how many industries depend on it. In healthcare, electronic health record systems store patient histories, prescriptions, and test results. In retail, point-of-sale and inventory systems process purchases, and track stock in real time. In banking, mobile apps let customers check balances, transfer funds, and deposit checks remotely. In transportation, navigation and ride-hailing apps calculate routes, and connect riders with drivers. In education, learning management systems deliver course content, assignments, and grades. And in entertainment, streaming platforms deliver on-demand media over the internet.
Key Terms
The Vocabulary of This Section
Let's lock in the key terms. Software is a set of logically organized instructions. Hardware is the physical components those instructions direct. System software manages a computer's own resources, and provides the foundation other software runs on. Application software helps a user perform a specific task. Obsolescence is software losing usefulness because its environment or requirements changed, not because the code degraded. And custom-built software is written from scratch, to meet one organization's requirements.
Key Takeaways
What to Carry Forward
To pull this together. Software is the logical set of instructions that directs hardware, and each is useless without the other. System software manages the computer itself. Application software helps a user perform a specific task. Software is developed, not manufactured, so copies cost almost nothing. Software does not physically wear out. It becomes obsolete when the environment around it changes. And software ranges from fully custom-built to assembled from reusable parts, supporting everyday tasks in virtually every industry.
About Software Engineering at UPI Study
Software Engineering (Computer Science 301) is a self-paced online course of 103 video lessons in 15 chapters, from process models and agile to requirements, design, user interfaces, reliability, security and project management. It carries a NCCRS credit recommendation for 3 semester credits.
Every lesson transcript is free on pages like this one, and the videos are free with a free UPI Study account. Enrolling adds a practice quiz after each lesson, the graded work and final exam that earn the credit, lifetime access, and an official transcript on completion. UPI Study has helped over 130,000 students with college credits. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Enroll now → Course details Download the syllabus All Computer Science courses Every course with PRO →
Why take it here
Why students take Software Engineering with UPI Study
Where the credit goes
Universities that work with NCCRS
Software Engineering carries a NCCRS credit recommendation. These universities work with NCCRS; some are UPI Study's signed partners. ACE and NCCRS have over 2,100 cooperating colleges that will consider accepting credits; the final decision is with the universities.
Thomas Edison State UniversitySigned partner
University of the PeopleSigned partner
Charter Oak State CollegeSigned partner
Strayer UniversitySigned partner
Columbia Southern UniversitySigned partner
Indiana TechSigned partner
Penn StateWorks with NCCRS
Southern New Hampshire UniversityWorks with NCCRS
SUNYWorks with NCCRS
+many more cooperating universitiesFind my college →Find my college → Not listed? Ask Athena in the corner of this page, or book a 15-minute call.
FAQ
Questions students ask us
About What Is Computer Software? Core Definitions and Everyday Uses
What is the difference between computer software and hardware?
What is the difference between system software and application software?
Why doesn't software wear out like hardware?
What does it mean that software is developed, not manufactured?
About the Software Engineering course
How many college credits is Software Engineering?
How much does Software Engineering cost and what is included?
Which universities accept UPI Study credits?
How long does Software Engineering take?
How are the exams done?
How do my credits reach my college?
Ready for the full course? Earn 3 credits in Software Engineering.
103 video lessons, a quiz after each one, and the graded work that earns the credit. Recommended for credit by NCCRS.
3 credits · NCCRSEnroll →