Computer Programmer Jonathan Orlins 11-16-06 1 Table of Contents Computer programming 3 Computer Employment 4 Computer Earnings 4 About Computers 5 Closing 10 Bibliography 11 2 Computer programming The career that is most interesting to me would be computer programming. Not only does this job require you to know a huge amount about computers but allows you stay with the growing technological world we live in today. To become a computer programmer you need experienced computer skills, and you need to know basically how computer systems work. There are numerous people out there that think becoming a computer programmer is hard work, however I will demonstrate the basics of how many people can gain the essential knowledge that would allow them to get a job in this field. To become a computer programmer you must attend school and graduate with a degree in computer science, mathematics, or information systems. Some jobs may not require a degree, but employers require them to take job training course where they will learn the skills on how to do their job. With computers becoming so advanced it is almost certain you will need a bachelor’s degree of some sort. According to the Bureau of Labor Statistics sixty-seven percent of computer programmers held a college or higher degree in 2004; nearly half held a bachelor’s degree and about 1 in 5 held a graduate degree (bls.gov, pg1). A four year degree is important because the employers know you have knowledge in a variety of different operating systems. This is important to have because you never know what you are going to be working with. The Bureau of Labor Statistics states, when hiring programmers, employers look for people with the necessary programming skills who can think logically and pay close attention to detail (pg 6). This also shows the employer that the employee likes what they’re doing making them more likely to get a job. If the person likes what they are doing, they are more likely to be aware of new technology. 3 Computer Employment The employment outlook of this job is pretty positive. Recent studies from the U.S. department of Labor shows computer programmers held about 455,000 jobs in 2004 (pg 6). Programmers can also work for telecommunications companies, software publishers, financial institutions, insurance carriers, educational institutions, and government agencies. There are more options for computer programmers. The U.S. department of Labor shows jobs for both systems and applications programmers should be most plentiful in data-processing service firms, software houses, and computer consulting businesses. These types of establishments are part of computer systems design and related services and software publishers, which are projected to be among the fastest growing industries in the economy over the 2004-2014 (pg7). Computer programmers will be needed in years to come because of the growing technology. Computer Earnings The salary gap is pretty large among computer programmers. The Bureau of Labor Statistics received the following in 2004; median annual earnings of computer programmers were $62,890, the middle 50 percent earned between $47,580 and $81,280 a year, the lowest 10 percent earned less then $36,470 and the highest 10 percent earned more than $99,610 (pg8). The National Association of Colleges and Employers offers graduates with a bachelor’s degree in computer science an average of $50,820 a year in 2005 (pg9). The earnings for programmers is luxurious with the average at $63,000 a year. This is not too bad for starting your first job. In order to become a computer programmer you must understand the basics of how a computer runs. I will demonstrate the basic principles such a system unit, computing power, 4 system software and networks. Computers have billions of two state switches. The two switches are on and off demonstrated by the number 1 for on and 0 for off. That’s why people say all computers are a bunch of 1’s and 0’s. Each computer has a Central Processing Unit (CPU) which controls the changes of the computer that you tell it to make. The programs in the computer both have data and instructions to make it run. As a programmer you will have to understand both. About Computers The CPU consists of memory which is RAM/ROM, Bus lines and Ports. The microprocessor houses the CPU and holds the control unit, arithmetic and logic unit, clock, registers and cache. The control unit executes machine instructions by a number of different ways. These ways include directing the flow between memory and the arithmetic logic unit also directing the flow between the CPU and input and output devices. It uses the clock to time the flow; for every time the clock clicks the state of the computer changes. The CPU uses the Arithmetic Logic Unit (ALU) to execute four types of operations. The operations include moving transfer from one place in memory to another. The others are arithmetic, logical and comparison. Memory is one of the key ingredients in making a computer run. There are two types of memory, internal and external. Internal memory is on the motherboard. The motherboard is circuit board with sockets and chips on it. Examples of internal memory are Random Access Memory (RAM) which is the main memory on the computer. There is also ROM and CMOS. ROM and CMOS are not like RAM. RAM is volatile which means that there are no programs in RAM when you turn on the computer. The program in ROM loads up the operating system (OS) which then completes the start up of the computer. ROM and CMOS are read only memory. For example, start up instruction and keyboard control capabilities. Internal memory is on the hard 5 disk while external memory is on the zip disk and CDROM. RAM is used to activate programs and data. ROM and CMOS are used to fixed start-up instructions. Memory capacity is expressed in a number of ways. For example is can be expressed in Kilobytes (KB) 1,024 bytes, Megabytes (MB) one million bytes, Gigabytes (GB) one billion bytes and Terabytes (TB) one trillion bytes. RAM contributes to the power of a computer and that’s why the more memory you have in your computer the faster it’s going to work. One part of memory that you have to understand is that programs are stored on the hard disk. Then the programs instructions are being executed in the CPU and the segments of the programs are being executed and are being kept in RAM. At points there are multiple programs in RAM. There is also virtual memory which RAM holds many segments of active application programs at any given time. Only one application program can be executed at a time. Each of these programs is executed by the CPU. There are both registers and cache is the CPU memory. Registers is special memory in the CPU where the data is operated on by the ALU. Cache is RAM type memory were there is a small amount that’s found on the CPU. Programs that are The more memory you have the faster programs run. frequently accessed are put here which runs at high speeds. An easy way to remember this is hard-disk is to RAM, cache is to RAM and RAM is to hard-disk. The computer system’s clock is measured in megahertz (MHz) which is millions of cycles per second or it’s measured in gigahertz (GHz) billions of cycles per second. Every instruction is executed in the number of cycles, and the higher the rate of cycles the faster the computer, meaning more power. 6 Now we come to Bus lines, ports and cables. Bus lines are data pathways that connect system components. The more lines you have connecting the faster information can flow through the computer. Ports are connecting sockets and cables that connect input and output devices to ports. When connecting sockets to the outside there are four common parts, serial, parallel, USB and fire wire. In order to become a computer programmer these are some major system unit components you must understand. System software is another very important item to understand when becoming a computer programmer. The systems software includes the operating system, utility software, device drivers and language translators. Operating systems are programs that operate a computer. This allows you to run applications such as word processing, spreadsheets and browsers. This runs by when the computer first gets turned on. The steps are as follows: Instructions ROM execute, system components and peripherals are checked, appropriate parts of operating system is loaded into RAM, a bunch to the operating system instructions in RAM is made, the operating system executes giving us the user interface and finally our commands are executed by the operating system. System Software (Dr. Hawley). Some operating systems that you should generally be accustomed to seeing in computer programming are Windows 2000, XP and Mac programs as well. Software enables you to manage computer resources and help the user with diagnosing problems. Device drivers are keyboards, hard disk, printers and other devices to communicate with the computer system and application. Running and application programs are started when you first double click on the icon then the following steps are taken: The appropriate segment of 7 the program instruction are moved form the hard disk to RAM. Then CPU gets the application instructions from RAM one at a time and executes each in turn. Finally if the next instruction to be executed is not in RAM, a new segment of the application program is moved to RAM (Dr. Hawley). This is why computer systems have a language so when you tell it do something the computer understands. System utilities that you should be accustomed to seeing are troubleshooting, anti-virus programs and uninstall programs. Anti-virus programs are there to keep you computer safe from becoming infected with viruses. Examples of anti-virus Utility programs programs are Norton and McAfee. Finally for the all important networks which allows you to surf the internet and receive emails. Networks exchange information and share resources with other people. Networks are made up of multiple networks such as local and wide. The key idea to remember about the World Wide Web (www) is the internet is the physical network and the web is the interface that sits on top of the internet. Web pages: the browser is an application. When a non local uniform resource locator (URL) is activated these steps are being executed: 1) The browser checks to see if page is already on disk (cache). If not, go to step five. 2) It gets its host (the client) to request the web page from the web server where the page dwells (http and TCP/IP). 3) Document is sent to client by server (TCP/IP). 4) Client receives page and stores it in disk and in a special temporary area called cache (http). 5) It interprets/translates the HTML (http). 6) It displays page (with OS help). (Dr. Hawley). Web pages are used for quick downloading making it easier to browse the internet. This makes the browser excellent for animations, graphic displays and other activities. Plug-ins enhance your browser which you usually have to download. Examples of browser enhancers are macromedia’s, acrobat reader and apple’s quick time. The browsers allow the 8 users to navigate the web and view the multimedia that is available. The location/address is the URL (Dr. Hawley). Some key terms that are important when dealing with networks are Node: any device connected to the network (Dr. Hawley). Client: a computer connected to the network using network services such as files and the web (Dr. Hawley). Server: a computer connected to the network providing services such as a file (Dr. Hawley). When you are online you can do all kinds of things. Personally, I think the internet is one of the best inventions ever. Online you can shop, pay bills, research along with plenty of other things. When buying online people don’t necessarily see what’s behind the scenes. For example, commerce servers keep things secure like transactions, credit card numbers and other privacy issues. Also to help with the privacy issues are firewalls which help keep what is inside that you want and help keep what is outside that you don’t want. However, the internet can be a dangerous as well because there is a lot of inappropriate content for children and young teens. This is where filters come in to help filter the inappropriate material out. Filters limit the access to words that you wouldn’t want children to see such as sex and drugs. Some programs out there to filter this material out are cyber patrol, cyber sitters and net nanny. Internet control Transmission control protocol and Internet protocol (TCP/IP) uses packets which are sent one at a time. Packets may end up taking many different routes until it gets to its final destination. The packets finally arrive through their IP address. Then the TCP/IP puts the transmissions back together. Emails are one of the greatest things since sliced bread. Emailing is one of the most common activities done online. Email addresses have three parts to them; domain code, domain 9 name which translates to an IP address and user name. Along with emails goes instant messaging which allows people to talk back and forth quickly. Most instant messaging is done by joining a group for example MSN instant messaging. Closing In order to become a computer programmer you will have to gain knowledge not only in the material that I have stated above but also much more. This material is just hitting the surface of understanding what a computer is doing. If this sounds interesting, I encourage you to take a deeper look into becoming a computer programmer. Andy Johnston showed an early interest in computers and later made it his career. He said, “It’s an interesting field because it is always changing and modernizing.” 10 Bibliography 1. Bureau of Labor Statistics. Career Overview. 2004. 12 November. 2006 http://www.careeroverview.com/computer-programming-careers.html 1 2. Bureau of Labor Statistics. Occupational Outlook Handbook. 4 August 2006. 12 November. 2006 http://www.bls.gov/oco/ocos110.htm2 3. Smith, Jan. Jan’s Illustrated Computer Literacy 101. 20 September 2006. 12 November. 2006 http://www.jegsworks.com/Lessons/lessonintro.htm3 4. Hawley, Dr. John. CSC 100 Intro to Computer systems. 2006. 12 November. 2006 http://facultystaffpages.alma.edu/~hawley/Fall_2006_classes/CSC100/Calendar_CSC100.ht ml4 5. Johnston, Andy. Personal interview. 10 November. 2006.5 Index A Arithmetic Logic Unit, 5 Arithmetic Logic Unit (ALU), 5 B browsers, 7 Bus lines, 7 1 Where I got information on my topic. The source where I found the most information related to what I had to say. 3 Where I got my pictures from. 4 Another source where I received information to put in my paper. 5 Friend of mine that I interviewed who works at North Central Michigan College in Petoskey as computer security engineer. 2 11 C cables, 7 Cache, 6 N Node, 9 E P ports, 7 External memory, 6 G Gigabyte, 6 gigahertz, 7 I R Random Access Memory (RAM, 5 Registers, 6 S system utilities, 8 Internal memory, 5 Internet protocol, 9 T K Terabyte, 6 Transmission control protocol, 9 Kilobyte, 6 M V volatile, 6 Megabyte, 6 megahertz, 7 W World Wide Web, 8 12