Is there a better way to learn java/VB?

<p>It's my first semester as an information science major. I literally just switched my major. I'm taking both a java and a visual basic class right now. The way that the class is being taught is that we all get into groups of 3 and we all write code together. </p>

<p>However, as you all know very well, it is very hard to delegate tasks between 3 people with writing code, because it all must work together to create a perfect program. Therefore because most of my fellow classmates have already taken a programming language, they don't want to slow it down enough for me to learn and just rush right through the projects. Now because of this I am learning basically nothing in the class and not learning to properly code at all. </p>

<p>Can someone give me a better way to learn code? I mean, I've tried going to the professor for help, and he helped a little but not much. I also tried reading the book but that didn't really work? Is there some type of website or computer program that I could buy online that would teach me to code well in both java and visual basic? I also tried codeacademy and that didn't really work either.</p>

<p>It’s unfortunate that you’re trying to learn two different programming languages when you’re completely new to programming. That’s not a recipe for success. Still, if lectures, books, and codeacademy aren’t working for you, it suggests that you’re either not putting in enough time and effort into your classes or that you have some fundamental misunderstandings about programming in general. I would recommend hiring a good tutor. A friend of mine used to work as a private tutor when he was an undergrad and he helped several students get through their classes.</p>

<p>Thanks Mokonon,</p>

<p>I have a guy that I know from my University, and he comes and fixes my computer whenever I need help with it. The guy told me that if I ever needed help with my programming classes that he would come and help me at an affordable price. I’m gonna give that guy a call. This stuff just isn’t making much sense. </p>

<p>BTW, I didn’t know that programming was so difficult to learn or I would have never taken two coding classes in one semester. What’s very intimidating is that one of the guys in my group in Java class, has worked with C# and VB before professionally in a work setting but is struggling with Java. He has to spend 4 hours a day 3 times a week trying to learn this stuff. What does that say for how long it’s gonna take me to learn this language?</p>

<p>Update: </p>

<p>I just called up the guy and he told me that he would be glad to tutor me tomorrow. I will meet with him tomorrow at 2:00Pm and we will review for two hours. I will let you all know how it goes.</p>

<p>Nice. Good luck, Jnelson. I hope it goes well.</p>

<p>I think it’s different for everyone: some people pick up programming fairly quickly and some struggle. It wasn’t particularly easy for me when I was first learning how to program, but after a while, I got pretty good at it. While it does take a long time to truly master a programming language, for the purposes of a programming course, you only really need to be moderately fluent.</p>

<p>A C# programmer should be able to transition smoothly to Java with minimal effort. If this guy is really struggling with Java, he’s probably exaggerating his work experience – don’t be intimated by him. BTW, 4 hours x 3 days per week is not a lot of time. When I was an undergrad CS major, I practically lived in the computer lab.</p>

<p>If you can’t work together as a team in even a 3 man group to code something (taking aside the fact you don’t really know the code), change majors. All of your working life you will be coding in a group and doing other things in a group much bigger than 3. But as for your problem, find a good set of tuts (look on Youtube and google) you can connect with adn learn from</p>

<p>You should probably start by explaining to the other students you practice with that you’re having problems in following what they do or that you’re more in need of practice in actual code writing than they maybe are. Or anyways, discuss in the group about your relative skill levels and decide based on that who should code and who should follow and check.</p>

<p>The point of the three-man group programming (which is commonly implemented as pair programming though) is that there’s only one person who’s doing the actual programming, she writes the code. The two others follow and analyze what the person programming is programming and provide suggestions/improvements or point out mistakes, when they notice something. All three should understand what the written code means, i.e. they should all understand the program and the just written code just like the programmer does. The practice is meant to improve the quality of the written code both functionally and in cleanliness, when there’s two people (or in pair programming only one additional person) observing what is programmed (not just what’s written, but how the solutions are expressed and how they fit into the program or the overall solution. And of course whether the code is easy to understand for another person). Also, in the case that the programmer gets stuck, he has a partner or two with whom she can discuss about the problem. The programmers can also take turns in programming so that they’re overall more productive, when the other person does the hard thinking while the other can take the more observing position.</p>

<p>@Mokonon</p>

<p>I just met with the tutor. The tutor helped me a little bit but not a whole lot. However, he gave me a couple of websites that I can practice writing code on, and I think that those will help a lot. Also, I think that I’m gonna watch some youtube videos on this stuff as well. I think that will help a great deal as well. </p>

<p>Also, yeah, I think that my other partner is lying through his teeth. I don’t believe that he has really done much work in the computer industry. He is struggling too hard to have actually done work in that industry. After all, my other partner who has only taken a class in C# is getting this stuff hook-line and sinker. He barely has to spend any time on this at all. I think that the other guy is a liar. </p>

<p>Finally yeah, maybe 12 hours a week isn’t much but I wasn’t expecting to have to work this hard. I have worked that hard on scholastics when I was in math and chemistry though. I guess I’m gonna have to do that again if I am to get anywhere in this class.</p>

<p>@Vandice</p>

<p>I thank you for your comment. I also agree with you, that the fact that I am unable to work well in this team could be a huge red flag. However, I’m not worrying about it yet because I am far behind both of them in terms of programming experience. If I still suck at this towards the end of the semester, then I’m gonna change majors.</p>

<p>Everything that is concept-driven takes practice. When I was learning Java, I had to read the basics given by [Oracle[/url</a>]. However, I think these are some nice tutorials on how to get started. I don’t think your instructors makes you create entire GUIs with some simple functionality, i.e. a calculator for example. </p>

<p>Java:</p>

<p>[ol]
[li][url=&lt;a href=“http://chortle.ccsu.edu/CS151/cs151java.html]...one”&gt;Introduction to Computer Science using Java]…one</a> website](<a href=“JDK 20 Documentation - Home”>Trail: Learning the Java Language (The Java™ Tutorials))[/li][li][…another</a> website](<a href=“http://www.tutorialspoint.com/java/]...another”>Java Tutorial)[/li][li][…and</a> another website](<a href=“http://www.java2s.com/Tutorial/Java/CatalogJava.htm]...and”>Java Tutorial)[/li][/ol]</p>

<p>VB:</p>

<p>[ol]
[li][…one</a> website](<a href=“http://www.homeandlearn.co.uk/NET/vbNet.html]...one”>Microsoft Visual Basic .NET tutorials for Beginners)[/li][li][…another</a> website](<a href=“Microsoft Learn: Build skills that open doors in your career”>Getting Started with Visual C# and Visual Basic - Visual Studio 2015 | Microsoft Learn)[/li][li][…and</a> another website](<a href=“Free Online Tutorials and Courses”>Free Online Tutorials and Courses)[/li][/ol]</p>

<p>In my opinion, these are good resources.</p>

<p>Well I just failed the last test, and the heat is on. I have to good on the next test or they are going to throw me out of the school. This site right here that @econcalc gave me is the best that I have seen…</p>

<p>[Introduction</a> to Computer Science using Java](<a href=“http://chortle.ccsu.edu/CS151/cs151java.html]Introduction”>Introduction to Computer Science using Java)</p>

<p>These same people don’t make one for VB as well do they?</p>

<p>The best way to learn how to code is by coding!</p>

<p>What I’m saying is that the more you practice and the more exercises and time you put into programming the better you will become.</p>

<p>Well it is now the end of the semester and I happened to pass both classes: I got a C in Visual Basic, and and a B or a C in Java. The teacher said that I definitely passed both classes though. I did it by basically studying all day every day for them, and by just living in the computer lab. Those classes were ridiculously hard.</p>

<p>@Jnelsonmarka I am really sorry to hear about your poor experience with CS at your school.I just hope you don’t jump majors because of this. I think I can provide some help, even though your semester has ended.</p>

<p>1) CS people tend to be either too arrogant or too timid. You maybe the second one, in which case don’t worry, they tend to prosper more in the long run. Arrogance leads you to jail ( I am of the arrogant type :P).</p>

<p>2) It’s easy for CS people to be baseless liars. If anyone says that he has done C# or any lower level language/ HLL( except Basic) but cannot pick up Java, he is off his knocker. </p>

<p>3) Here are some sites that can help you with programming. I admit coding is a integral part of learning to code. But your objective is to be a Good Informatics Science guy. So theory is of equal, I repeat EQUAL importance, because with it, you can learn more than a self taught programmer. </p>

<p>For Programming : [thenewboston</a> - YouTube](<a href=“http://www.youtube.com/user/thenewboston]thenewboston”>thenewboston - YouTube)
Bucky is probably the best out there in YT. Learn the basics from him and then read some API docs to improve on the basics. He even has VB tuts. </p>

<p>For Theory : Any book on JAVA (head first for eg) you can pick up, pick it up. Then ask queries on the net on coding or theory. Really helps to have a community support. </p>

<p>For Queries : [Stack</a> Overflow](<a href=“http://www.stackoverflow.com%5DStack”>http://www.stackoverflow.com)
Simply, THE BEST.</p>

<p>Good Luck! :)</p>

<p>@rishavmadcapped</p>

<ol>
<li><p>Well thank you for this. You will be happy to know that this experience did not deter me from my IS major, and I am going to continue to take classes in order to get this degree. </p></li>
<li><p>Thank you for that site.</p></li>
<li><p>Yes, I got the “Head First: Java” book, and it really is a wonderful book.</p></li>
<li><p>I now know what booleans, for loops, while loops, ints, strings, arrays, variables, get max count, get prime, etc, all are. I have the basics down pretty well and I can even read code now perfectly and determine what it will print to the screen. The only thing is that I have trouble with being able to write code from scratch. This is where I have the most trouble, and there aren’t many people in the college that are willing to help me. It almost seems like they just want you to teach yourself, and that sucks.</p></li>
<li><p>So that site called, “stack overflow” is a forum? Can I post code on that site, and will people tell me what is wrong with my code?</p></li>
</ol>

<p>EDIT: Also, I should mention that my professor this semester told me that I could take his class again (even though I passed) as an adjunct. He told me that I could just sit in class and absorb the information, and he would even grade my papers like I was a student in his class. He just said that I wouldn’t be getting a college credit for the class. The good news is that he said that I wouldn’t be charged for it either though, and that it would be completely free of charge.</p>

<p>@Jnelsonmarka</p>

<p>Hey, it’s great to know that you decided to give CS a full chance! Now, it’s on, play Eye of the Tiger and get cracking. </p>

<p>It was great of your professor you let you sit-in in his classes and it’s quite unfortunate that the only people who can understand your plight are on forums such as these. Anyway…</p>

<ol>
<li><p>Yes, StackOverflow is a forum. And yea, you can post your code and ask what is wrong and you WILL get a formidable reply because Stack has rookie-good- great- and genius coders who even work at Google. It’s great help.</p></li>
<li><p>If you can read code properly and know what it will print, then you can well easily write code too. Writing code from scratch may seem a bit overwhelming at first, it did, too all of us and particularly me - I used to get terrible grades and this was because I used to try and mug up code to program problems. Err, didn’t work. </p></li>
</ol>

<p>I would like to ask you some questions though -

  1. Which college do you go to ? (So that I may not end up there :stuck_out_tongue: ,really, your peers seem a bit unhelpful )</p>

<p>2) What is your current programming language and what did you start with? Java , C++, C, Scheme, Python? Really need to determine what you need to deal with here. </p>

<p>3) Are you familiar with stuff like sorting algorithms ( selection, bubble , merge, quick etc)? Stuff like searching algorithms ( linear , binary etc) ? Data structures like stacks , heaps and ques etc? Helps to know what sort of programs are you doing. </p>

<p>And finally , 4) What sort of programs are you doing? Can you gimme a few examples? </p>

<p>Importantly, about the writing code from scratch part. Many program problems they give are quite commonplace and have solutions floating in the internet. Try getting to them, compiling them on your own IDE, translating them from another programming language to the one you’re using or just replicating them or reproducing them differently. This IS key. </p>

<p>Also, try asking your professor to give you some programs to solve. Outta the book stuff. Compile them, check if they run , but don’t let them go yet. This is for all programs you do. Since you’re in college, try approaching your professor with a print-out of your program and asking him if the method is correct. </p>

<p>What do I mean by this? You see people tend to pick up, over time some programming practices that are not that beneficial in the long term and can effect you when you’re trying to get into Google. But do this later, after you are comfortable with coding from scratch.</p>

<p>Also, try not to use IDEs that complete code for you. Might overwhelm you.
Cya! And Good Luck.</p>

<p>@rishavmadcapped</p>

<p>1) I not going to be sitting in my teacher’s classes next semester. It will be in the summer semester when I do this. In the spring semester I’m taking a psychology class for my minor and I’m taking business calculus. I can’t take any more computer classes until I take business calc. </p>

<p>2) Yes, I can read code fairly well (the basic stuff at least). My problem with writing a code from scratch is just trying to figure out how to start out. I’m not that bad with filling in the blank when it comes to code, but when I comes to writing it from scratch, I’m terrible. Any tips on writing code from scratch? </p>

<p>3) I go to “University of North Florida”. Their computing programs are really not the best at this college. Many of the professors are very hard and are most unhelpful. Most of the time you are on your own when it comes to figuring out how the code works. I did have a very helpful professor this semester though, and he is the only reason that I was able to pass. Luckily he teaches a lot of the foundation courses for Information and Computer Science. If it weren’t for him being there, I would probably have dropped my major. The only problem with getting help from this teacher was that he was so busy that he could only help you for a limited amount of time, and only at certain times. Plus, because people knew how helpful he was, and because SO MANY students needed help, there were constantly students in his office. This made if very hard to actually find a time when he was able to help you with the material. </p>

<p>The school does have a tutoring lab for computing and information sciences but I have to admit that it’s not really that great. Most of the time, there aren’t enough tutors there and they are too busy to really help you. It’s either that, or they try to work on there school work while they are in there and they are annoyed when you ask them for help. I literally have to fight VERY HARD to actually get them to help me. Going to the tutoring lab for computing help is almost pointless. To tell the truth at the end of the day, the only way that I ever learned anything about computing was when I went to the teacher, when I hired an expensive private tutor of my own, or when I just studied by myself. </p>

<p>The people at the school look at you like you are a moron if you just don’t understand the code right off the bat. But, I try to tell them that code isn’t just “intuitive”: you just don’t GET IT. You have to really work at it a long time, to be able to actually understand it. People treated me like I was the village idiot just because I didn’t get the code initially and that angered me. Apparently there are a lot of people like me at my school though, and most people that enter the computing classes wind up leaving because of this. </p>

<p>4) The kind of programs that we had to write were things that converted Celsius to Farenheit and all these other conversions. We also had to write programs that you would see on i tunes for example. It showed the artist title, picture, etc. The programs were very hard to me to write from scratch. Any more advice?</p>

<p>I’m glad you are sticking through it and learning outside of the classroom to do better. I always found it frustrating as a tutor when people don’t take initiative and expect information to be spoon fed to them. You on the other hand decided to take the bull by the horns and ride it so kudos to you. </p>

<p>I remember one of my college professors telling me that only 10% of students can understand and code easily from just taking a class or reading a book. The other 90% needs to work harder at it. While I believe this is true, I also think that applies to every profession/career. </p>

<p>Good luck with the rest of your college life. Keep riding that bull!</p>

<p>@Stars1</p>

<p>Well it’s not just that I’m some dope that can’t get it, it’s that I often times get stuck with no help. One of the hardest things that I have the most trouble with is correcting logical errors in a program because the program will still run when you have logical errors, but it won’t return the results that you wanted it to.</p>

<p>1) @Jnelsonmarka one of the best suggestions I can put forth is whenever you are stuck,logic or otherwise, consult google and especially the website I told you about - stackoverflow.</p>

<p>2) I would have liked it if you told me what language are you using atm. But I will just consider you are using java.</p>

<p>3) Logical errors are a matter of concern, because as you go along, it will start becoming a major component of any program you write. Okay let’s look at it this way - </p>

<p>How Do You Write a Program from Scratch? You can follow this method. Let’s take the example of Celsius to Farenheit coversion.
So lets segregate the thinking process ( This would help alot in advanced stuff as well ) </p>

<p>1) Objective: list what it should do :
Take input from the user.
Store it in a variable.
Convert it to farenheit.
Store that value in another variable.
And display the value to the user. </p>

<p>2) Algorithm : For basic programs this is kinda useless, but you will need this constantly afterwards : </p>

<p>Here, the algorithm is basically the conversion formula – c/5 = f-32/9
since we are converting from c to f , the modified formula is — (c*9)/5 +32=f right?
this is our working algorithm. </p>

<p>3) What kind of program is it? Here we have an option between terminal based, GUI(graphical user interface) based or applet based. We are choosing the terminal based approach.
4) Tools : Having selected all of that, what do we need to import into the program :
Here they are:

  1. The Scanner Class (for user input)
  2. The language class and the math class, but these are imported by default so no need to write it into code. </p>

<p>5) Finally comes the code. I suggest you first write a no-frills sctatch (syntax doesn’t matter much) version on paper and then transfer it to the computer and debug. </p>

<p>For the Conversion the code is — </p>

<p>import java.util.Scanner;
public class conversion
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
System.out.print(“Enter the Celsius value: “);
int c= in.nextInt(); // we are only dealing with integers here
int f= (c*9)/5+32;
System.out.print(”
In Farenheit:”+f);
}
}</p>

<p>Using this pattern of thinking( or writing stuff down) you can superimpose it on any sort of program, even the i tunes one.This is even the order in which most programmers think:- objective/need → algorithm or the thing that will make it tick —> resources or tool I will need —> a scratch version of the code —> a final and debugged version of the code —> compile it , pack it and ship it.</p>

<p>Apply it to the itunes thing and see what you come up with. An itunes program will need some things wont it? 1 or 2 APIs, file management and a graphical interface. Plus it can have several choices of algorithms to deal with the specifications of the program and a GUI.</p>

<p>Cheers and Good Luck. Also, I sent you a PM regarding the matter.</p>

<p>Ok I will listen to your advice. I’m going to try to write a program from scratch right now.</p>