Top-Rated Free Essay
Preview

PROBLEMS ENCOUNTERED BY COMPUTER SCIENCE STUDENTS IN JAVA PROGRAMMING

Powerful Essays
3420 Words
Grammar
Grammar
Plagiarism
Plagiarism
Writing
Writing
Score
Score
PROBLEMS ENCOUNTERED BY COMPUTER SCIENCE STUDENTS IN JAVA PROGRAMMING
Chapter I
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

  • Satisfactory Essays

    Parsons, J., and Oja, D. (2004). New Perspectives on Computer Concepts. Chapter 11. Course Technology.…

    • 474 Words
    • 2 Pages
    Satisfactory Essays
  • Powerful 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
  • Powerful Essays

    Fin252

    • 884 Words
    • 4 Pages

    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
  • Powerful Essays

    EAS230Syllabus

    • 1748 Words
    • 8 Pages

    An introduction to computer programming with an emphasis on problem solving will be presented. Specific topics include:…

    • 1748 Words
    • 8 Pages
    Powerful Essays
  • Powerful Essays

    |1.2 Demonstrate an understanding of the |Code listings show a variety of objects | |…

    • 2281 Words
    • 10 Pages
    Powerful Essays
  • Satisfactory Essays

    This course introduces students to object-oriented programming. It covers object-oriented tools for system analysis, design and development. The course teaches the significance of object-oriented programming, the keywords and constructs of the Java programming language, and the steps required to create simple Java technology programs.…

    • 414 Words
    • 2 Pages
    Satisfactory Essays
  • Satisfactory Essays

    Prg420 Syllabus

    • 1691 Words
    • 7 Pages

    Armstrong, D. J., & Hardgrave, B. C. (2007, September). Understanding mindshift learning: The transition to object-oriented development. MIS Quarterly, 31(3), 453.…

    • 1691 Words
    • 7 Pages
    Satisfactory Essays
  • Satisfactory Essays

    Deitel, H.M., & Deitel, P.J. (2002). Java: How to program (6th ed.). Upper Saddle River, NJ: Pearson…

    • 253 Words
    • 2 Pages
    Satisfactory Essays
  • Powerful Essays

    java answers

    • 15737 Words
    • 160 Pages

    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
  • Good Essays

    pt1420 assignment 1

    • 728 Words
    • 3 Pages

    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
  • Powerful 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
  • Powerful Essays

    Binary Tree

    • 4816 Words
    • 20 Pages

    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
  • Satisfactory Essays

    in the Computing Curriculum 2001 project by the Joint IEEE and ACM Task Force (CC2001).…

    • 734 Words
    • 3 Pages
    Satisfactory Essays
  • Powerful Essays

    Advanced Java

    • 60547 Words
    • 243 Pages

    Advanced Programming for the Java(TM) 2 Platform Training Index Advanced Programming for the Java 2 Platform TM By Calvin Austin and Monica Pawlan November 1999 [CONTENTS] [NEXT>>] [DOWNLOAD] Requires login Early Access Downloads…

    • 60547 Words
    • 243 Pages
    Powerful Essays
  • 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

Related Topics