Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 5 of 5

Thread: Am I Just Bad At Java? [Java Rant]

  1. #1
    Junior Member
    Join Date
    Sep 2014
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Unhappy Am I Just Bad At Java? [Java Rant]

    I know this isn't a coding question or anything like that, but I started my Compsci class about 4 weeks ago, and so far I've been having trouble with it. The class is Java 1-Object Oriented Java. I know a lot of the terms already, such as classes, methods, objects, blah blah blah, if we had a vocabulary test I'd ace it. I can easily compile "Hello World!" no problem, but that's because it's easy and I have it memorized by this point.

    However, I am struggling with just general problems. I'm trying some practice problems on codingBat my teacher set up, and I just can't seem to get any of them right. I try to manipulate the code to how I think it should work, and it comes out wrong.

    I always ask people for help, but they either do it for me, to which I learn nothing, or I am explained this process that makes 0 sense to me. "For the seed value you have to import java.util.Random then use a substring to blah blah blah" I'm lost. And it is *not* a matter of me just simply not "getting" the language or not "having the mind of a programmer", I believe anyone can learn anything if they try. I just can't seem to put everything into it's perspective.

    For example, when doing boolean practice problems, I looked at the solution and realized that "if" and "||" and "!" are all symbols and words that are used to solve those types of problems. How in the hell am I supposed to know that? Is there something I'm missing? Is everything I need to know about booleans explained in it's description in the API index?

    Is that how people learn java from scratch? Do they just have to read each individual method and class in the API index to see which one they have to use to solve the problem? It frustrates me immensely when it's revealed to me that some far-fetched process is used to solve a problem. Like there are so many different ways you can solve a java problem that I simply have no idea where to start. I don't know what the compiler will and won't take, it's almost totally fucking random.

    Am I just not good at Java? Plain and simple, I mean I really want to be good at it, I REALLY do. I want to be able to say, "Yeah, I know a thing or two about Java", and looking at it from outside the box, you can say to yourself, "Java doesn't seem that difficult, you just input different phrases and characters in certain ways to output a function", but it's so much more cryptic and confusing than that, to the inexperience Java programmer, ie me.

    A lot of kids in my class seem to know what's going on. I'm sure there are a few to admit they don't, but I know a lot of computer whizzes that can display a blue rectangle and say, "Oh this is baby stuff." How did *THEY* get so good??? Does a magic genie come to you at night and grant you the ability to just "get" Java? I really do feel like I am missing some huge step here or something. I watch these tutorial videos and the instructor just throws around these values like it's nothing! "Ok so what you have to do here is simply use DJFHIAN function and then "+"; () [] String args data inDeXHereby which will give you &^^^& + 6664553 = 99928; then simply do String.substring.take.out.put.in.~.[]; and then you get result = 2, easy!"

    And to top the shit cake all off with the shit icing, I have a University Study class for Computer Science students in which the professor tells us multiple times: "I'm gonna be honest with you all, more than half of you aren't going to be here for the spring semester. If I see 40 out of 60 of you here, I'll be elated. If I see 30 out of 60 here, I'll be happy. If I see 20 out of 60 here, it will be normal like other years."

    That's really fucking encouraging. Yep, the same 'easy' Java course leaves nearly 12% of the students left for the next semester, apparently. Dafuq? Maybe he has a point, but why why why in the WORLD would you tell a class of aspiring computer science majors that? I cannot be the only one that is seriously bothered by his saying this. That's like going to Haiti to donate food and telling each of the children you're donating to, "Okay little ones, I hate to be painfully honest with you, but by next week only 20 out of the 100 here will still be alive, there's just something about living that seems to be hard for you people!"

    All in all, if I try and try and fail, and I sink with the ship, what are my other options for working with computers for a living? I mean I can always talk to my advisor, but I would like to hear a general opinion here. I want to be an I.T. technician, but I took Computer Science because I figured it'd be good to get the general knowledge of all thinks Computer based. Could I still be an I.T. without learning how to program? Is programming NECESSARY to land a computer job even if you don't want to go into something that would involve it in the work field?


    Thanks for reading.


  2. #2
    Senior Member PhHein's Avatar
    Join Date
    Mar 2013
    Location
    Germany
    Posts
    609
    My Mood
    Sleepy
    Thanks
    10
    Thanked 93 Times in 86 Posts

    Default Re: Am I Just Bad At Java? [Java Rant]

    Hi and welcome,

    that was a long read. What I understood is that you already have some dangerous half knowledge and generally keep trying things, which is not a bad thing. I believe you're making a common mistake. You're trying to solve everything at once. The trick is to work as structured as possible in programming. Step away from the PC and start with pen and paper. Break down your task into small steps and find out how to solve each one by hand. After that you know which steps you can program and which ones might be a problem. Now you need to find out whether you don't know how to program something then the tutorials will help: Trail: Learning the Java Language (The Java™ Tutorials)
    In case you know how to program your step you need to find out what API might help you. Here Google is your friend to tell you what classes you might need and the API docs show you how to use them: Java Platform SE 7
    Generally learning to program takes a long time ( Teach Yourself Programming in Ten Years ) and the more experience you have the easier it gets (kind regards from Capt. Obvious).
    Another good read: Starting Writing a Program

    Regarding your prof: he's warning the students, that it'll become really hard and many will find out that they are not made for programming and a few will simply fail because they are lazy. He never said why these students drop out, but it is common in some fields that a high percentage drop out.

    Keep things simple. Work through the tutorials, ignore the comments from other kids, they aren't better than you, they just have experience. Write as many programs as possible to gain experience for yourself. You can make it.

    Regards,
    Phil

  3. #3
    Super Moderator
    Join Date
    Jun 2013
    Location
    So. Maryland, USA
    Posts
    5,520
    My Mood
    Mellow
    Thanks
    215
    Thanked 697 Times in 679 Posts

    Default Re: Am I Just Bad At Java? [Java Rant]

    Thread moved.

    I don't think Phil's comments lack anything, so I'll just add my support. If CompSci/Programming and working with computers is something you want to do, put your head down, focus on your goals, and do it. Your path to success - however you define it - might be your own, so don't be distracted by BS that doesn't really matter.

  4. #4
    Crazy Cat Lady KevinWorkman's Avatar
    Join Date
    Oct 2010
    Location
    Washington, DC
    Posts
    5,424
    My Mood
    Hungover
    Thanks
    144
    Thanked 636 Times in 540 Posts

    Default Re: Am I Just Bad At Java? [Java Rant]

    Everything Phil said is spot on. It sounds like you aren't having trouble with the actual *programming*, but with *general problem solving* instead.

    I don't mean that to sound insulting, and your reaction might be "ugh, of course I can solve problems!" but I'm talking about a more formal methodology of taking a large shapeless problem (like displaying a blue rectangle) and then breaking it down into smaller steps (how do I show a window? okay how do I add stuff to that window? alright now how would I go about painting a shape? How do I change its color) instead of trying to take on the whole big thing at once.

    That's probably one of the biggest reasons novice programmers fail out: they don't even know what half the questions are asking them to do. And that's an incredibly hard thing to teach- most of your homework isn't trying to teach you *how to program* but instead *how to solve problems*. That's why many students complain "ugh my teacher didn't show us how to do this"- of course he didn't, because *figuring out how to do it* is the real point of the assignment.

    Quote Originally Posted by gsw46458 View Post
    However, I am struggling with just general problems. I'm trying some practice problems on codingBat my teacher set up, and I just can't seem to get any of them right. I try to manipulate the code to how I think it should work, and it comes out wrong.
    Like Phil said, it sounds like you're trying to write a program that *solves the large problem* and then you're getting frustrated when it doesn't work. That's not a great approach: instead, the first thing you should do is *break that problem down into smaller steps*. This is the hard part, and it should be done before you even sit down at a computer. Ask yourself: what's the absolute smallest next thing I know I have to do? Are you sure that's the *smallest* you can make the problem? Can you break it down into even smaller steps? Describe that step in meticulous detail, in English, before you even think about how you would do it in code.

    If your big problem is to display a blue rectangle, then maybe the first thing is: can you write a main method that prints something out to the console? Do that. Test it out. Get it working perfectly. Okay, now that you have that working, can you write a program that shows an empty window with nothing in it? Do that. Don't worry about what you have to do in 3 steps, don't worry about the rectangle or what color it is.

    More difficult problems often involve writing *several different* programs that each do one small thing. Only when you have each of them working perfectly by themselves should you start thinking about combining them.

    Quote Originally Posted by gsw46458 View Post
    I always ask people for help, but they either do it for me, to which I learn nothing, or I am explained this process that makes 0 sense to me. "For the seed value you have to import java.util.Random then use a substring to blah blah blah" I'm lost. And it is *not* a matter of me just simply not "getting" the language or not "having the mind of a programmer", I believe anyone can learn anything if they try. I just can't seem to put everything into it's perspective.

    For example, when doing boolean practice problems, I looked at the solution and realized that "if" and "||" and "!" are all symbols and words that are used to solve those types of problems. How in the hell am I supposed to know that? Is there something I'm missing? Is everything I need to know about booleans explained in it's description in the API index?

    Is that how people learn java from scratch? Do they just have to read each individual method and class in the API index to see which one they have to use to solve the problem? It frustrates me immensely when it's revealed to me that some far-fetched process is used to solve a problem. Like there are so many different ways you can solve a java problem that I simply have no idea where to start. I don't know what the compiler will and won't take, it's almost totally fucking random.
    By breaking things down into smaller problems, you also give yourself more specific things to google, which is how people learn about the API and the various classes and methods available to them. Googling "how to show a window in java" will get you a lot better results than "how to display a blue rectangle in java".

    Quote Originally Posted by gsw46458 View Post
    Am I just not good at Java? Plain and simple, I mean I really want to be good at it, I REALLY do. I want to be able to say, "Yeah, I know a thing or two about Java", and looking at it from outside the box, you can say to yourself, "Java doesn't seem that difficult, you just input different phrases and characters in certain ways to output a function", but it's so much more cryptic and confusing than that, to the inexperience Java programmer, ie me.
    I guess part of this might be: *why* do you want to be good at Java? If you just want to add it to your resume, then you're probably going to have a bad time. Programming *is* hard, so it takes a *real* interest in the subject to get "good" at it. If you don't enjoy *the process* of learning how to program and trying new things, then it very well could be that this isn't for you. I also believe that anybody can learn how to program, however, not everybody *wants* to learn how to program once they find how much of a pain it can be.

    Quote Originally Posted by gsw46458 View Post
    A lot of kids in my class seem to know what's going on. I'm sure there are a few to admit they don't, but I know a lot of computer whizzes that can display a blue rectangle and say, "Oh this is baby stuff." How did *THEY* get so good??? Does a magic genie come to you at night and grant you the ability to just "get" Java? I really do feel like I am missing some huge step here or something. I watch these tutorial videos and the instructor just throws around these values like it's nothing! "Ok so what you have to do here is simply use DJFHIAN function and then "+"; () [] String args data inDeXHereby which will give you &^^^& + 6664553 = 99928; then simply do String.substring.take.out.put.in.~.[]; and then you get result = 2, easy!"
    We all feel that way sometimes. Recommended reading: Impostor syndrome - Wikipedia, the free encyclopedia

    Quote Originally Posted by gsw46458 View Post
    And to top the shit cake all off with the shit icing, I have a University Study class for Computer Science students in which the professor tells us multiple times: "I'm gonna be honest with you all, more than half of you aren't going to be here for the spring semester. If I see 40 out of 60 of you here, I'll be elated. If I see 30 out of 60 here, I'll be happy. If I see 20 out of 60 here, it will be normal like other years."

    That's really fucking encouraging. Yep, the same 'easy' Java course leaves nearly 12% of the students left for the next semester, apparently. Dafuq? Maybe he has a point, but why why why in the WORLD would you tell a class of aspiring computer science majors that? I cannot be the only one that is seriously bothered by his saying this. That's like going to Haiti to donate food and telling each of the children you're donating to, "Okay little ones, I hate to be painfully honest with you, but by next week only 20 out of the 100 here will still be alive, there's just something about living that seems to be hard for you people!"
    I've heard similar speeches. Computer Science departments are also full of "weed out courses" specifically designed to fail out novices. I don't necessarily agree with that approach, but their perspective is that once you get to more advanced topics, you can't be wasting time on students who can't write Hello World and only want to be a computer science major because "why not, I use facebook and Angry Birds a lot, that must mean I'm good at computers". Whether the weed-out approach even accomplishes its goal is debatable, but that's why they can seem so harsh. When I started grad school I was pretty much told to seriously consider just *not coming* because working full time while going to grad school is apparently insane. You just can't let it bother you.

    Quote Originally Posted by gsw46458 View Post
    All in all, if I try and try and fail, and I sink with the ship, what are my other options for working with computers for a living? I mean I can always talk to my advisor, but I would like to hear a general opinion here. I want to be an I.T. technician, but I took Computer Science because I figured it'd be good to get the general knowledge of all thinks Computer based. Could I still be an I.T. without learning how to program? Is programming NECESSARY to land a computer job even if you don't want to go into something that would involve it in the work field?
    Sure, plenty of I.T. people don't know how to program, or don't *really* know how to program. I don't mean to sound dismissive of IT people, but at my school, most of the people who can't pass the weed-out classes in Computer Science end up in the IT major. IT and Computer Science are two very different things though, so you should probably figure out which one you want to do.

    That being said, I want you to know that what you're going through is *normal* and doesn't mean you *can't* be a programmer. You just haven't had enough *practice* with solving problems by breaking them down into smaller pieces. If you have a textbook, consider doing *all* of the exercises from each chapter.

    Shameless self-promotion: I've written a bunch of tutorials aimed at people in exactly your position, available here: Tutorials - Static Void Games
    Useful links: How to Ask Questions the Smart Way | Use Code Tags | Java Tutorials
    Static Void Games - Play indie games, learn from game tutorials and source code, upload your own games!

  5. #5
    Forum VIP
    Join Date
    Jul 2010
    Posts
    1,676
    Thanks
    25
    Thanked 329 Times in 305 Posts

    Default Re: Am I Just Bad At Java? [Java Rant]

    I know a lot of the terms already, such as classes, methods, objects, blah blah blah, if we had a vocabulary test I'd ace it. I can easily compile "Hello World!" no problem, but that's because it's easy and I have it memorized by this point.

    However, I am struggling with just general problems. I'm trying some practice problems on codingBat my teacher set up, and I just can't seem to get any of them right. I try to manipulate the code to how I think it should work, and it comes out wrong.

    I always ask people for help, but they either do it for me, to which I learn nothing, or I am explained this process that makes 0 sense to me. "For the seed value you have to import java.util.Random then use a substring to blah blah blah" I'm lost. And it is *not* a matter of me just simply not "getting" the language or not "having the mind of a programmer", I believe anyone can learn anything if they try. I just can't seem to put everything into it's perspective.

    For example, when doing boolean practice problems, I looked at the solution and realized that "if" and "||" and "!" are all symbols and words that are used to solve those types of problems. How in the hell am I supposed to know that? Is there something I'm missing? Is everything I need to know about booleans explained in it's description in the API index?
    I suspect this reveals more about you than you think. What your saying is that you have the understanding needed to replicate, but not to produce.
    I suppose it would be similar to if you taught someone to swim by taking them on land and teaching them how to kick their legs and move their arms, and then throwing them in the water and expecting them to just be able to swim. Doesn't work that way.
    In fact, some of the issues you appear to be having isn't necessarily java-specific, but programming in general. In most languages, "if", "else", "||", "&&", and "!" will be used for boolean logic. These are things you see even in C programs.
    Regardless, it tells me that you don't *really* understand the material. You can reproduce easy things you've seen before (such as Hello World), but you don't actually understand what each line of code in Hello World means. Memorizing is not learning, unfortunately.
    As many have said before on this post, the first step to solving a large problem is to break it down into a bunch of much smaller and more manageable problems. If you are trying to make a game and you try to attack the graphical display and the core game code all at once, you are in for one heck of a rough time.
    So my suggestion would be to take your Hello World program, and one-by-one try to incorporate new topics into it. For example:
    You have a program that prints "Hello World" once.
    1. Can you now make it print it 10 times?
    2. After you manage that, can you have a counting variable and make it print only every other time?
    3. After that, can you ask the user what they want to be printed out, and print that out instead of "Hello World"?
    4. And after that, can you ask the user what they want to be printed out and ask them how many times they want it printed out, and print out what they want as many times as they want?
    Each one of these problems, not matter how small the difference, introduces an entirely new concept you will *have* to learn and understand if you wish to solve them. #1 introduces looping (if you do it that way). #2 introduces boolean logic and counting variables (depending on how you did #1). #3 introduces reading user input. And #4 introduces combining the topics from #1 and #3 into a single program.
    If you are just given #4 as your problem statement. You should break it down into #1 and #3 and handle each part individually.
    NOTE TO NEW PEOPLE LOOKING FOR HELP ON FORUM:

    When asking for help, please follow these guidelines to receive better and more prompt help:
    1. Put your code in Java Tags. To do this, put [highlight=java] before your code and [/highlight] after your code.
    2. Give full details of errors and provide us with as much information about the situation as possible.
    3. Give us an example of what the output should look like when done correctly.

    Join the Airline Management Simulation Game to manage your own airline against other users in a virtual recreation of the United States Airline Industry. For more details, visit: http://airlinegame.orgfree.com/

Similar Threads

  1. I need help, bad.
    By Mickyy in forum Java Theory & Questions
    Replies: 2
    Last Post: October 24th, 2013, 08:40 AM
  2. Is Java bad at web development?
    By sulix in forum The Cafe
    Replies: 5
    Last Post: August 5th, 2013, 09:42 AM
  3. Would the following be considered bad practice in Java?
    By Newbie_71 in forum Java Theory & Questions
    Replies: 2
    Last Post: September 19th, 2011, 10:49 PM
  4. Calling .Net HttpHandler from Java - "Bad Request" Returned
    By fordej2511 in forum Member Introductions
    Replies: 0
    Last Post: May 5th, 2011, 02:11 PM
  5. Hi, I'm new here. Need help bad!
    By jpechart in forum What's Wrong With My Code?
    Replies: 1
    Last Post: October 16th, 2009, 03:03 AM