THE PROBLEM AND ITS BACKGROUND
Introduction
Computer programming is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages. The purpose of programming is to create a set of instructions that computers use to perform specific operations or to exhibit desired behaviors. The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.
The discipline differs from many other technical professions in that programmers, in general, do not need to be licensed or pass any standardized certification tests in order to call themselves programmers, because the discipline covers many areas, which may or may not include critical applications, it is debatable whether licensing is required for the profession as a whole. However, representing oneself as a "Professional Software Engineer" without a license from an accredited institution is illegal in many parts of the world.
Programming requires an application which is called “programming language” A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely. The earliest programming languages predate the invention of the computer, and were used to direct the behavior of machines such as Jacquard looms and player pianos. Thousands of different programming languages have been created, mainly in the computer field, with many more being created every year. Most programming languages describe computation in an imperative style, although some languages, such as those that support functional programming or logic programming, use alternative forms of description.
Years had passed, a high-level programming language developed by Sun Microsystems. Java was originally called OAK, and was designed for handheld devices and set-top boxes. Oak was unsuccessful, so in 1995 Sun changed the name to Java and modified the language to take advantage of the burgeoning World Wide Web. It is a programming language originally developed by James Gosling at Sun Microsystems released in 1995 as a core component of Sun Microsystems ' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities.
Java is a general purpose programming language with a number of features that make the language well suited for use on the World Wide Web. Small Java applications are called Java applets and can be downloaded from a Web server and run on your computer by a Java-compatible Web browser. It is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files are compiled into a format called bytecode, which can then be executed by a Java interpreter. Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines, exist for most operating systems, including UNIX, the Macintosh OS, and Windows. Bytecode can also be converted directly into machine language instructions by a JIT compiler.
Statement of the Problem
This study aims to answer with clarity the following questions:
1. What are the problems encountered by Computer Science students in Java programming?
2. What are the difference between C++ and Java?
3. What are the things that should be avoided in creating a program?
Importance of Study The importance of study in having a good knowledge in knowing the problems being encountered by the Computer Science Students (us) is that we might find ways or things to perfect a good java program without facing the errors that may jam us from making the work that we want. It may help us to have the strength to work harder to the chosen profession we have.
Scope & Limitations
Subject: The Scope and Limitation of Problems Encountered by Computer Science Students in Java Programming.
To make it clear I’m attaching some of the problems that we might encounter using Java.
Introduction
Java is designed to be simple and easy to learn. This was achieved by not including some useful features. Clearly a decision was made to hide some problems rather than to give people the means to solve them.
I learned C++ after I learned Java. C++ does not have these problems, but its very completeness make it more daunting. I still believe that Java is a good way to learn Object Orientated programming, but that people will quickly become frustrated by the limitations.
• Not strongly-typed at compile time
Casts are checked at run time. Therefore a system design can only be checked by run-time testing See No generic programming.
• This is problematic
This means that design problems may not be seen until too late, and they may not show the big picture.
• This is not enough
Definition of Terms
• Java - Java is a computer programming language. It enables programmers to write computer instructions using English based commands, instead of having to write in numeric codes. It’s known as a “high-level” language because it can be read and written easily by humans. Like English, Java has a set of rules that determine how the instructions are written. These rules are known as its “syntax”. Once a program has been written, the high-level instructions are translated into numeric codes that computers can understand and execute.
• API or Application Programming Interface - An API is the definition of how a programmer can access the functionality contained within a code library.
• Programmer - Programmers write software programs using a programming language, e.g., Java. The programming language provides a series of instructions they can use to create the program they want. The instructions a programmer uses to build the program are known as source code.
• JVM or Java Virtual Machine - A common phrase attributed to Java is "Write Once, Run Anywhere" - the JVM is a core component to that philosophy. It executes compiled Java programs regardless of the hardware or software platform it is installed on.
• Debugging - Debugging is the process of finding and fixing errors in a program. An IDE like NetBeans can help with this process by checking the Java syntax as its being typed or through the use of its debugger.
• Debugger - A debugger is a program that helps programmers find errors within their source code. It will inform them of the type of error and where it can be found.
• C Programming – it is a language created in the 1970s that is still used for writing operating system software.
• Programming Language - A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely.
• IDE or Integrated Development Environment - An IDE groups together all the tasks needed for programming in one environment. It provides a way to edit, compile, debug and test programs.
• Byte - A byte is the equivalent to eight bits. In Java it corresponds to the byte data type.
• GUI or Graphical User Interface - A program 's graphical user interface presents an easy-to-use visual display to the user. It is made up of graphical components, e.g., buttons, labels, windows.
• Runtime errors – Runtime errors do not appear whilst a program is being compiled. Instead they occur as the program is being executed. Therefore, a program can be written with the correct Java syntax but still throw an error (e.g., due to a flaw in the logic, an incorrect parameter, etc.)
Chapter II
REVIEW OF RELATED LITERATURE
Foreign Literature
• According to James Gosling, Java makes it easy for you deal with errors when they happen. Java program tend to be a lot more reliable, partly because people are strongly encouraged to actually take errors into account as much as possible, in part because when errors do happen, you are pretty sure they are contained.
• According to Joshua Bloch, The most common fault in Java developers is like most programmers, we have a natural tendency to optimize our code even when we should know better. Our attempted optimizations don 't always make the code run faster. Sometimes they just make it more complicated.
• According to Kent Beck, JAVA was "making the world safe for programmers and programmers safe for the world." I love that! So, to the programmers: Make honest estimates, track your actuals, and ask for help when you hit a business problem. To customers: When you add up the estimates and you get an answer you don 't like, don 't change the estimates—get creative about what you ask the team to work on first. And, to project managers: Make problems visible and trust your team to solve them.
• James Duncan Davidson said that “I think the future of Java is the same as it has been for a while.” I may not have been the first person to say it, but I’ve been saying for a very long time that Java is the Cobol of the 21st century. It’s a cute little quip, isn’t it? I’m quite fond of it. Buried in it, however, is a lot that I think rings true. Huge numbers of very large business systems are written in Java, including a big slice of the infrastructure that Apple and most every other large successful company runs on. That’s not going away anytime soon. Maybe ever. Do you know how many systems that touch your life still run on Cobol? It’s a big number. The same is true of Java. It’s going to stick around. In fact, I have little doubt that Java programs will be still running long after I’m dead.
• Scott Swigart said that “I am a strong enterprise Java developer with 10 years experience. I originally co-designed this module so I know how it is meant to work, yet it still took me almost a day to feel that I can safely make a change without risking breakage of a core part of the software.” Imagine if I were someone coming from outside who didn’t have 10 years of experience, hadn’t co-designed the module. What is the probability that I’m going to make that change in a robust way unless I spend maybe five days fully getting inside it? This makes no sense, whatsoever. So, code contributions and changes are not likely. However, there are many other things I can do if I wish to give something back. Every time a developer answers a question for a user that developer is distracted and can’t write code to improve the product. Both things are important but no one can do both simultaneously.
• Christopher Glaser recommends those Java developers that they should always strive to write simple, clear, and correct programs. It is penny wise and pound foolish to do otherwise. Style does matter. It pays real dividends in terms of correctness, usability, robustness, and maintainability. Also, it 's way more fun to write good programs than bad ones.
• According to Marc Fleury, An open source developer is a self-starter. He 's competitive - this is someone that wants to prove that they can do something better than you can. As such, it 's a great recruitment/qualification vehicle, because you can see their work before you ever think of hiring them. You can see if they 'll work out for the company. We definitely took that approach to hiring.
• Rod Johnson thinks that when people try to understand what JAVA language is, they instantly think about code and that the software is created by a disparate, far-flung group of people who work in their spare time. In fact, to understand the open-source model you need to step back from code and look at the totality of things, which includes documentation, includes support for users, and includes the discussion of ideas.
• Craig McClanahan - One thing I 'm sure you have noticed is the vast increase in the amount of software that JAVA has been contributing to the open source community—continuing the trend started years ago with things like Open Office and NetBeans, and culminating most recently with the release of the JDK itself. As you might imagine, developers who have been used to a typical closed source development model can find this kind of thing a bit disconcerting, so I spend some amount of my time helping people understand how open source development works.
• Gavin King believes that there is a very strong benefit in Java Programming. I believe that all that information is freely available. You could look at the software, and I would strongly encourage customers making significant adoption decisions.
They’re probably never going to modify the code, but they should send some of their best guys to spend a day looking at the code. See what they think of it. See whether or not you think this code is maintainable, whether or not the language idioms reflect best practice. That’s a very interesting benefit.
• Christian Bauer thinks that in Java, the first thing to do is to remember that although it’s very important that there is that meritocracy based on code there are several reasons that the majority of users are never going to contribute to that code. The majority of users are not going to modify and compile it. The majority of users are going to use it essentially as if it’s a shrink-wrap product.
• According to Ben Galbraith, "There will always be opportunities for great engineers, but as I said earlier, I think the number of these opportunities will shrink as other, less technical personnel play larger roles in the software-development process, using more productive, higher-level tools and frameworks than we have used in the past."
• According to Masood Mortazavi, "Millions of people have been employed because someone at Sun Microsystems invented Java."
Chapter III
METHODS OF RESEARCH
Chapter IV
PRESENTATION, ANALYSIS AND INTERPRETATION
Sub-problem No.1 What are the problems encountered by Computer Science students in Java programming?
The common problems encountered are the following:
• Unable to put the proper code in creating a program.
• Finding difficulty in learning programming.
• Unable to start encoding because of lackness in skills and understanding.
Analysis
The students have insufficient knowledge in programming maybe because they did not study their programming lessons appropriately. Programming is an art that requires proper knowledge and skills. In order to solve this problem, the students must focus in studying further programming. Learning programming contains several activities such as learning the language features, program design, and program comprehension. Typical approach in textbooks and programming courses is to start with declarative knowledge about a particular language. However, studies show that it is important to bring also other aspects to the first programming courses.
Interpretation
The probable cause of the problems maybe because of the laziness of the students or the mindset of the students is focused on the addictive activities that hinder their studies. This kind of problem will be resolve if their parents are very strict when it comes to their studies.
Sub-problem No.2 What are the difference between C++ and Java?
Both Languages have the capability to create a program, but Java is more advance because of its features. It is simpler and easy to use than C++. It has been modified to take advantage of the growing World Wide Web. It is widely used by programmers because of the useful features that make it well suited in making unique programs. Therefore, It is complimentary when it comes to programming.
Analysis
According to the data, both programming languages have the capacity to give the results that the programmers wanted, but nowadays, in order to have the best program, one must have the best tool to create such program. With regards to the data, Java is the best tool to create a finest program.
Interpretation
The researchers think that java is the best tool for programming. They believed that Java is the most advance programming language because of the features that help them to program so much easier and faster. Using Java gives the user helpful features that may lessen their time spent in programming.
Sub-problem No.3 What are the things that should be avoided in creating a program?
The following are the things that should be avoided before creating a program:
• Rush coding
• Trial and error
• Guessing the proper code
• No plan
Analysis
Programming consumes huge amount of time and it is said that there are things that should be avoided before doing a program. First, rush coding; it is not natural for a professional programmer to code very fast. One must think an excellent program in order to have the best result. Second, trial and error or guessing of codes; programming is not an easy activity to try any code and expect that it is correct. Third, no plan; before creating a program or project, it is needed to plan the methods in order to not waste time. One must plan a very useful project that is beneficial to you and to others as well.
Interpretation
Based on the data, it is necessary to avoid the hindrances in able to lessen the time spent in programming. If these things are avoided, programming will be much easier and fun.
Chapter V
SUMMARY, CONCLUSION AND RECOMMENDATION
Summary
The Broad objective of this study is to avoid more mistakes on using the java programming and it for the computer students like us. We examine the role of having a good java program. Under certain researches we made ,we want to help each one of us to have a less mistake , perfect program system. That’s why we encourage you to be more creative to make a program & master the needed skills to be a good programmer someday because our chosen profession needs a good skills & better understanding to what we are creating. The specific objectives of this study were outlined as follows:
• To have a good performance in doing a java program.
• To determine why some of us doesn’t have the idea of running a program.
• To initiate some lessons that may help us to lessen a wrong doings in handling a java program.
Conclusion
Research Title: “Problems Encountered by Computer Science Students in Java Programming.”
In our research that we had made, we therefore conclude that the problems that are being encountered by computer science students can be avoided if we have the knowledge to do the right things to have a good java programming. We may also say that advance study about this profession is a big help to have a good experience in having a perfect programs that we want.
Recommendation
This research study recommends three good reasons to avoid the problems being encountered by Computer Science students.
First, have a good knowledge and skills to run a right and perfect program so that it will never be a hindrance to us that we don’t know the little details that we may use in a perfect program code.
Second, given that some of us is afraid to try own program code. It is useful to apply a self work code than to do nothing. We must learn how to try and avoid some errors to make a simple output of a program of your own.
Lastly, try to aid the difficulty in understanding one’s code and mostly lack of practice. These things can be avoided through help of others and some advance understanding about this work. What if we use our spare time doing and enjoying some simple programs? With that kind of attitude, we can master the things that may help our chosen profession.
Bibliography
• Bergin, J, & Naps, T. (1998). Java resources for computer science instruction. The Working Group Reports Of The 3rd Annual SIGCSE/SIGCUE Iticse Conference On Integrating Technology Into Computer Science Education, December, 14-34.
• Decker, R., & Hirshfield, S. (1994). The top10 reasons why object-oriented programming can’t be taught in CS 1. ACM SIGCSE Bulletin, 26(1), 51-55. [Selected Papers of the Twenty-Fifth Annual SIGCSE Symposium on Computer Science Education].
• Lewis, J.P., & Neuman, U. (2003). Performance of Java versus C++. Last retrieved: 27-11-2006 from http://www.idiom.com/~zilla/Computer/javaCbenchmark.html
• Reddy, A. (2000). Java coding style guide. Sun MicroSystems. Last retrieved: 27-11-2006 from http://developers.sun.com/prodtech/cc/products/archive/whitepapers/java-style.pdf
• Mayer R. E., Dyck, J. L. and Vilberg W., “Learning to program and learning to think: What’s the connection”, Communications of the ACM Vol. 29 No. 7, 1986, pp. 605-610.
Bibliography: • Bergin, J, & Naps, T. (1998). Java resources for computer science instruction. The Working Group Reports Of The 3rd Annual SIGCSE/SIGCUE Iticse Conference On Integrating Technology Into Computer Science Education, December, 14-34. • Decker, R., & Hirshfield, S. (1994). The top10 reasons why object-oriented programming can’t be taught in CS 1. ACM SIGCSE Bulletin, 26(1), 51-55. [Selected Papers of the Twenty-Fifth Annual SIGCSE Symposium on Computer Science Education]. • Lewis, J.P., & Neuman, U. (2003). Performance of Java versus C++. Last retrieved: 27-11-2006 from http://www.idiom.com/~zilla/Computer/javaCbenchmark.html • Reddy, A. (2000). Java coding style guide. Sun MicroSystems. Last retrieved: 27-11-2006 from http://developers.sun.com/prodtech/cc/products/archive/whitepapers/java-style.pdf • Mayer R. E., Dyck, J. L. and Vilberg W., “Learning to program and learning to think: What’s the connection”, Communications of the ACM Vol. 29 No. 7, 1986, pp. 605-610.
You May Also Find These Documents Helpful
-
Parsons, J., and Oja, D. (2004). New Perspectives on Computer Concepts. Chapter 11. Course Technology.…
- 474 Words
- 2 Pages
Satisfactory Essays -
The purpose of this Lab. is to familiarize student how to solve practical problems programmatically; they will practice on elementary programming using primitive data types, variables, constants, operators, expressions, and input and output. Also, they will learn how to diagnose errors that may occur when a program is compiled or executed. There are some exercises, through which they will understand the concept learn in this chapter.…
- 2338 Words
- 10 Pages
Powerful Essays -
Student Presentations of CS: 3.1, 3.2, 6.2, 7.2, 8.2, 9.1, 10.1, 11.1, 13.1, 14.1, 15.1, 15.2, 17.3, 18.2…
- 884 Words
- 4 Pages
Powerful Essays -
An introduction to computer programming with an emphasis on problem solving will be presented. Specific topics include:…
- 1748 Words
- 8 Pages
Powerful Essays -
The main objective of this course/subject is to provide students with knowledge and applications of Object-Oriented Programming through the use of the Java programming language.…
- 414 Words
- 2 Pages
Satisfactory Essays -
Horton, I. (2005). Ivor Horton’s Beginning Java 2, JDK (5th ed.). Indianapolis, IN: Wiley Publishing.…
- 1691 Words
- 7 Pages
Satisfactory Essays -
|1.2 Demonstrate an understanding of the |Code listings show a variety of objects | |…
- 2281 Words
- 10 Pages
Powerful Essays -
References: Deitel, H.M., & Deitel, P.J. (2002). Java: How to program (6th ed.). Upper Saddle River, NJ: Pearson Education.…
- 253 Words
- 2 Pages
Satisfactory Essays -
The following information will introduce general knowledge in basic programming concepts. It shall discuss basic types of computer programming languages as-well-as program development. There are three basic types of computer programming languages that will be discussed in a simple and easy to understand manner. We shall also describe the program development cycle and discuss why it is important to use a structured and organized process to create a computer programming language.…
- 1318 Words
- 6 Pages
Powerful Essays -
1. When we say that something gives us "energy”, what does that mean? What is a biological definition of energy?…
- 2995 Words
- 12 Pages
Powerful Essays -
Building Java Programs 2nd edition Exercise Solutions Chapter 1 Chapter 2 Chapter 3a Chapter 3 G Supplement Chapter 4 Chapter 5 Chapter 6 Chapter 7 Chapter 8 Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 15 Chapter 16 Chapter 17 Chapter 1 Exercise 1.1: Stewie public class Stewie { public static void main(String[] args) { System.out.println("//////////////////////"); System.out.println("|| Victory is mine! ||"); System.out.println("\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"); } } Exercise 1.2: Spikey public class Spikey { public static void main(String[] args) { System.out.println(" \\/"); System.out.println(" \\\\//"); System.out.println("\\\\\\///"); System.out.println("///\\\\\\"); System.out.println(" //\\\\"); System.out.println(" /\\"); } } Exercise 1.3: WellFormed public class WellFormed { public static void main(String[] args) { System.out.println("A well-formed Java program has"); System.out.println("a main method with { and }"); System.out.println("braces."); System.out.println(); System.out.println("A System.out.println statement"); System.out.println("has ( and ) and usually a");…
- 15737 Words
- 160 Pages
Powerful Essays -
Programming language is a vital and essential part of computers. Even though you do not actually see these languages, they are the bases and make up of software programs. Software is essential to a computer because without software, a computer can do nothing. All of the software that we use to make our computers useful is created by individuals known as programmers; these programmers use different types of programming languages to develop software programs. The first primitive programming language was actually created for the invention of the ‘difference engine’. This invention created in 1822 by Charles Babbage was a mechanical calculator that would tabulate polynomial functions.…
- 728 Words
- 3 Pages
Good Essays -
This is article #110 in the Stanford CS Education Library. This and other free CS materials are available at the library (http://cslibrary.stanford.edu/). That people seeking education should have the opportunity to find it. This article may be used, reproduced, excerpted, or sold so long as this paragraph is clearly reproduced. Copyright 2000-2001, Nick Parlante, nick.parlante@cs.stanford.edu.…
- 4816 Words
- 20 Pages
Powerful Essays -
Computer programming often shortened to programming, scripting, or coding is the process of designing, writing, testing, debugging, and maintaining the source code of computer programs. This source code is written in one or more programming languages (such as Java, C++, C#, Python, etc.). The purpose of programming is to create a set of instructions that computers use to perform specific operations or to exhibit desired behaviors. The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.…
- 2235 Words
- 9 Pages
Powerful Essays -
in the Computing Curriculum 2001 project by the Joint IEEE and ACM Task Force (CC2001).…
- 734 Words
- 3 Pages
Satisfactory Essays