Lecturer : Dr. SuparpSaccasomparn
Unit 1 Reading
Introduction to Computer Software
For as long as there has been computer hardware, there has also been computer software. But what is software?
Software is just instructions written by a programmer which tells the computer what to do. Programmers are also known as 'software developers', or just plain 'developers'.
Nothing much is simple about software. Software programs can have millions of lines of code. If one line doesn't work, the whole program could break! Even the process of starting software goes by many different names in English. Perhaps the most correct technical term is 'execute', as in "the man executed the computer program." Be careful, because the term 'execute' also means (in another context) to put someone to death! Some other common verbs used to start a software program you will hear are 'run', 'launch, and even 'boot' (when the
software in question is an operating system).Software normally has both features and bugs. Hopefully more of the former than the latter! When software hasa bug there are a few things that can happen. The program can crash and terminate with a confusing message.This is not good.
End users do not like confusing error messages such as: Site error: the file/home7/businfc6/public_html/blog/wordpress/wpcontent/plugins/seo-blog/core.php requiresthe ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.
Sometimes when software stops responding you are forced to manually abort the program yourself by pressing some strange combination of keys such as ctrl-alt-delete.Because of poor usability, documentation, and strange error messages, programming still seems very mysterious to most people. That's too bad, because it can be quite fun and rewarding to write software. To succeed, you just
have to take everything in small steps, think very hard, and never give up.
I think everyone studying Information Technology should learn at least one programming language and write atleast one program. Why? Programming forces you to think like a computer. This can be very rewarding when dealing with a wide range of IT-related issues from tech support to setting up PPC (pay-per-click) advertising
campaigns for a client's web site. Also, as an IT professional, you will be dealing with programmers on a daily basis. Having some understanding of the work they do will help you get along with them better.
Software programs are normally written and compiled for certain hardware platforms. It is very important thatthe software is compatible with all the components of the computer. For instance, you cannot run software written for a Windows computer on a Macintosh computer or a Linux computer. Actually, you can, but you
need to have special emulation software or a virtual machine installed. Even with this special software installed,it is still normally best to run a program on the kind of computer for which it was intended.
There are two basic kinds of software you need to learn about as an IT professional. The first is closed source or
proprietary software, which you are not free to modify and improve. An example of this kind of software is Microsoft Windows or Adobe Photoshop. This software model is so popular that some people believe it's the only model there is. But there's a whole other world of software out there.
The other kind of software is called open source software, which is normally free to use and modify (with some restrictions of course). Examples of this type of software include most popular programming languages,operating systems such as Linux, and thousands of applications such as Mozilla Firefox and Open Office.But what is the real difference between open source and closed source software? Is open source software just about saving money? Let's investigate. Let's say for instance you find a bug in the latest version of MozillaFirefox. The bug is causing a major project to fail and you need to fix it right away. This is not very likely tohappen, I realize, but it's just an example. You might take the following steps:
Step 1.Download and unzip (or uncompressed) the source code from Mozilla.
Step 2. Use an Integrated Development Environment (IDE) and a debugger to find and fix the bug in the source code. Please note that you will need to know a little C++ to debug applications such as this.
Step 3. Test the fix and then use a compiler to turn the source code into a binary file. This can take a long time for big programs. Once the source code is compiled then the program should work!
Step 4. You are almost done. Now send the bug fix back to the Mozilla Firefox team. They may even use your bug fix in the next release!
Now imagine you find a bug in a proprietary code base such as Microsoft Word. What can you do? Not much,just file a bug report and hope someone fixes it at some point.This is a rather radical example, but I think it illustrates to a large degree why programmers generally prefer open source software to closed source alternatives. Good programmers love code and they want access to it.
Hiding the code from a programmer is like hiding the car engine from an auto mechanic. We don't like it!
Now you have learned a little about software. You will learn more about software applications and programming in later units.
Discussion Questions
Have you ever written or modified any software? If so, what were the challenges you faced? If not, why not?
Name three pieces of software you use frequently. Why do you use them? What would you change about them?
Pretend you are the world's best programmer and can write computer code as fast as you can think. What kindof software would you write?
Welcome to English 4 IT
Below is a list of the vocabulary needed to pass this unit with a good score.
application
a software program which allows a user to perform specific tasks such as word processing, email, accounting,
database management
"Examples of popular applications include Microsoft Word, Adobe Photoshop, and Mozilla Firefox."
component
any device internal to the computer, such as a primary hard disk drive or motherboard
"A hardware geek is constantly upgrading components in his computer to achieve more performance. "
computer
an electronic, digital device that stores and processes information
"A computer needs to be replaced or upgraded regularly or it will become obsolete."
data
literally meaning 'that which is given', this term refers to raw information of any kind
"The network administrator was fired when he lost all the company data by accidentally formatting the wrong
hard disk drive array."
database
an organized, electronic collection of information optimized for fast access and typically consisting rows,
columns, indexes, and keys
"The international company stored their customer information in a central database in Brussels."
hardware
physical things that make up a computer, such as a component or a peripheral
"Hardware today has become such a commodity that it's often more expensive to repair it than to replace it."
Internet
the largest known public network in the world, connecting millions of computers around the world
"Some people refer to the Internet as an information superhighway."
network
a group of connected computers which share resources
"The company network consisted of 3 servers, 95 workstations, and 10 printers."
peripheral
an external computer add-on, such as a printer or a scanner; also known as an 'accessory'
"The woman hated the look of all the tangled wires behind her desk, which were caused by so many
peripherals."
software
any program designed to run on a computer
"The geek purchased new software for his computer almost every weekend.