Sunday, March 7, 2010

Computer Science Dissertation

Computer Science Dissertation

Computer programming, coming in many different "languages", is the fundamental set of instructions through which computer software is created; this researcher will create a game utilizing an appropriate language. Computer programming is a very specific occupation in the field of computer science that is often overlooked as an attainable job for those wanting to enter this growing field due to programming its steep learning curve. "Unseen by ordinary users of computers and of computerized services (such as making an 800 call on a telephone or making a stock market transaction), C++ has become one of the cornerstones of modern life by becoming the choice of professional programmers for sophisticated applications" (AT&T). Programming is also the only process through which the creation of computer software is possible.

The importance of computer programming to today's technology cannot be overstated. From its creation in the early 1950's, programming was a very technical job that required a lot of time and effort for any real progress to be made and yet was essential for the creation of the computer software we now enjoy on a regular basis. Such programs as Microsoft's Windows Operating Systems and Internet browsers would not exist were it not for the diligent work of computer programmers. The computer programming domain is large indeed: ease of use, user interfaces, software capabilities, visual capabilities, audio capabilities, Internet capabilities, and many more too numerous to mention all of these computer applications and more would be impossible without computer programming.

The technology of today has enabled almost anyone to become a computer programmer despite the fact that programming is still considered to be a considerably technical vocation. But, just like a lot of other inventions, technology and experimentation have increased the usefulness and applicability of programming while reducing the need for such resources as time and effort required for valuable software creation. All that is required is that one learns the process, and anyone can create software as complex as the word processing software I employed to type this report. In this we are fortunate that the technology exists that no one today has to train for years just to be able to create (program) a simple calculator program or card game by hand ala 25 years past. Many simple and often used functions of computer programming have been made simpler and more efficient so that the programming process has been drastically reduced to a more reasonably moderate procedure.

We can write a custom dissertation on Computer Science for you!


Programming Languages
Computer programming is essentially communication with a machine (the computer) through written code. This code is written by the programmer and is referred to as source code. However, the computer cannot understand source code in and of itself, as it is written in a language that only we can understand and manipulate. An interpreter is required that translates our written source code into machine-level (low-level, binary) language. This interpreter is called a compiler.

The compiler reads the source code, and piece-by-piece processes each function in the source code as the compiler comes to it. It completes its task by sending instructions for the computer to process that detail what task is required by each function. As it processes the source code, the compiler also checks for errors in the source code that would prevent the computer from processing information properly. If no errors are found, the compiler sums up all of the source code written and creates a program that the computer can execute (not kill, but put into action).

This program is a bundle of executable code that you can run from anywhere on the computer independent from anything else on that computer. If the program is executed, the computer processes the task through its system until the end of the program, where the computer stops working on it (terminates it). Anything and everything put into source code is processed through the compiler for the creation of the program. As you can see, this is a very literal, straightforward, and often tedious task making it very technical in nature. This is due primarily to the fact that computers are incredibly dumb and must be told exactly what to do, or they will most likely do everything but what the user wants it to do.

Source code can be written in many different ways. This is because functions that a programmer wants to utilize in a program can be written a number of different ways depending on how certain functions are defined. Function definitions are often bundled in large, listed sets called libraries that can be referred to by a compiler. The programmer at the start of the source code calls these libraries into use in order to allow the programmer to use the function defined in those libraries. Experienced programmers may even create their own functions to allow the program they want to create to do things that are unique or simply to allow a more efficient implementation of an existing action. This function creation process is only possible provided the programmer creates a function name and a function definition for each function so that the compiler knows what the function is.

Language Variations
The primary difference in programming methods and their languages tends to be what functions are included and available in a certain language. For example, the For(mula) Tran(slation) (FORTRAN) programming language was created primarily for numeric and scientific computations. So FORTRAN is equipped with many functions that allow for complex and efficient computation for numeric and scientific tasks. Learning the FORTRAN language would therefore be a better option for a programmer dealing primarily in math and science related fields of study and work than most other languages.

Programming languages are a lot like the many different vocal languages and dialects of the world. Some languages have completely different libraries and functions, while others may have only slightly varied libraries and yet are still called entirely different languages. All languages, however, serve only as a method of communication through source code for the programmer. Newer languages have been recently developed to make programming more efficient, yet they are technically much less orderly or grammatically consistent. The American English language has been labeled as such a language as it allows for faster communication, but makes very little sense to someone trying to learn it. I will employ C++ (or the C programming language with additional libraries and enhancements) to make my particular program.

Sample Languages
C++ is considered to be among the most widely used and followed languages in use today. "Was C++ ever relevant?" Given its popularity, both historically and current, and its wide applicability, [Stephan ClamageТs] answer was a clear "Yes!" (Clamage). ItТs also common for C++ to be used as a template for another language to follow in library construction and overall style. As far as languages are concerned, C++ is far and away one of the most flexible and stable languages available. Though not as easy to learn as some, its resourcefulness alone has increased its popularity many-fold. Recognizing its usefulness, the programming community quickly created many compilers and online help concerning C++ available to the public, adding to its success. "Originally designed for system programming, C enables programmers to write efficient code and provided close access to the machine. C compilers, found on practically every UNIX (an operating system, like Windows) system, are now available on most OS's (Operating Systems)" (Reddy). For the simple reason that there are so many resources and tutorials available for those who wish to learn C++, I am inclined to use it for the creation of my program and because C++ will most likely be a have-to-know language for future career opportunities in the programming field (if it isnТt already). "Running on all computers from the most powerful supercomputers and commercial mainframes to the ubiquitous personal computers and unseen microprocessors, C++ is used by more than 1.5 million programmers worldwide. More than 400 books are currently in print about C++ programming" (AT&T). Other languages tend to have a more specific purpose than just versatile program creation and are usually job-specific. Such languages include COBOL, Perl, and BASIC.

Common Business-Oriented Language (COBOL, developed in the early 1950Тs) is a business-centered language that is closer to English than other high-level languages. This fact may point to its recent downfall in popularity. Being called verbose and weak as a language, COBOL is often attacked for its lack of structure, stability, and conciseness. Despite its lack of popularity and seeming irrelevance, COBOL has been an important part of the IT (Internal Technicians, or employees assigned to computer maintenance) industry 43 years and counting. "COBOL critics often confuse application clarity with verbosity. COBOL programs were never meant to be terse; COBOL programs are meant to be clear above all else" (Garfunkel). This continued use has been made possible only through and earnest effort to continually update and revise the COBOL language to keep up with the field it was created for.
Practical Extraction and Reporting Language (Perl) is a widely used language created mainly for the simple and efficient creation and maintenance of Web pages and is primarily employed for creating "live" web pages via CGI (Common Gateway Interface). CGI is a web scripting facility, or a process used to create Web pages. Perl is a unique language in that it attempts to take the best functions of other popular languages like C++ and BASIC and utilizes them to create an efficient language. Perl makes use of CGI's ot make it easy for programmers to create and modify HTML forms (HyperText Markup Language, the common web page format). Not only can Perl handle advanced Web capabilities like online file encryption, but also Perl can speed up standard HTML procedures and creation markedly.

Beginner's All-purpose Symbolic Instruction Code (BASIC), as its name implies, is designed to be basic and easy to learn and serves its purpose fairly well. Basic was originally created in 1964 under the directory of J. Kemeny and T. Kurtz at Dartmouth College. The purpose of BASICТs creation was to create solely an easy to learn programming language that would be easy to translate.

Logical Thinking
The primary difference between the humanТs thought process to problem solving and machineТs is the approach. This is evident in the source code that a programmer creates. Solutions to simple problems are often much bigger productions for a programmer as the programmer seeks to think like the machine. Problem solving processes must be much more linear and logical in source code because of how literal and relatively clueless computers can be. For example, in order to tell a computer to print the question "Is programming fun or what?," print the phrase "Of course" if the user types "yes," or print the phrase "You're crazy!" if the user types "no," you must do the following things in order:
1. Define "yes" and "no" as useable words (character strings, or a series of letters or numbers (characters) as a set)
2. Print the question "Is programming fun or what?" being sure to provide a new line for the user's prompt
3. Tell the computer to monitor what the user's input is
4. Use a conditional statement to print a corresponding phrase for the input ("yes" or "no") depending on what the user typed.

This basic outline is still missing many required things to proceed successfully: if-then statements, appropriate headers, library calls, etc. With that in mind, you can see just how painfully mind-numbing a simple task can become to a programmer.

Each problem must be presented to the computer in an orderly manner. It's common for programmers to use an outline to aid them in source code creation. As obvious as this may sound, a programmer must identify a goal, ask what tasks are required to reach that goal, and identify what actions will accomplish those tasks. For example, to create a program that displays a picture and plays music, the programmer must identify what functions will accomplish this as well as how to specifically approach it. The programmer may want the picture to be on screen for a set period of time or only as long as the music is playing. Furthermore, the programmer may want the music to load only after the screen is displayed or looped a certain number of times. Every detail must be considered for fear that the programmer gets very unexpected results. The program may not even load a picture or music file if such files are not loaded ass separate processes within the program as they may interfere with one another.

The Game Show
Due to the amount of time and effort required to get even the simplest programs up and running, and give my current level of experience, I have decided to create a game show program as the product of my research. Even now, there is no telling just how complex the game show will be. It may be just too difficult for me to get a simple background image and music to load. There are, however, many things that are most certainly attainable and necessary for the creation of my magnum opus.

In order to get a game show up and running, certain things are necessary, but many features may be unachievable if my research does not cover those things. For example, I cannot implement an advanced computer AI for a computer opponent if what I researched did not discuss it. Concerning program complexity, I can create a host and contestants with simple text acknowledgements or by graphical representation. I will need user input interfaces between questions and answers. This will include the before-mentioned if-then statements, which allow for different answers based on user input. I most likely will not be able to create a user-friendly menu system for my program, as those are generally more complex than what I have been exposed to thus far. Music and/or sound is another area of concern. If I cannot load and play music, I may use the computer's internal speaker that has no more noise capability than that of a small "beep." Obviously I may just go without either music or sound, depending on what is required. This game show will be an ongoing development, something that will be continually enhanced as my experience increases. This continual development will be beneficial not only for practice but also for valuable interviewing material. Some day I will be able to create a program as complex as the word processor I am using to type this report.

Conclusion
Computer programming, like any other profession, takes dedication and motivation to make any real achievements in. "Learning programming takes time, time, time, talent and a bit of dedication" (Gunderson). Programming will continue to be an important part of the computer industry for years to come. Any real effort put into making this a main occupation will secure many opportunities for employment in the future. One of the great things about computer programming is that its usefulness has been constant no matter how drastically the computer industry has changed. This is predicted to be the case for the near future as well. And as long as this holds my interest (we programmers are a select and proud groupЕ), I will continue to use this as an entryway to my dream job.

  • CAUTION! Free dissertation samples & examples on Computer Science are 100% plagiarized!!!
At EssayLib.com - professional dissertation writing service - you can buy custom dissertations/thesis on any topics and disciplines, 100% written from scratch. EssayLib.com employs top-rated Ph.D. and Master's experts only to write superior-quality custom essays, term papers, research papers, thesis & dissertations at affordable rates. EssayLib.com knows HOW effectively to help high school, college & university students with writing the highest grade custom papers online.
dissertation on computer science