Can a Beginner Succeed in Intermediate Java Programming?

  • Java
  • Thread starter Redd
  • Start date
  • Tags
    Head
In summary: The intro class is an "absolute joke", and I don't really want to waste time on it.2. Interviewing for the position...I would have said yes to whatever he said so I could work with him.3. My professor told me to skip the intro class if "I knew what a mouse and a monitor were".In summary, the recommended pre-requisite knowledge for the intermediate class is "the equivalent to a High school level programming ability". However, the experience must include variables, expressions, control statements (loops and conditions), arrays, methods (functions), and more. Although the class may be difficult, the student is encouraged to catch up by doing some programming while on break.
  • #1
Redd
47
0
Well I have literally zero programming experience and I am a freshman so I decided to take a Java class. Problem is that I heard the intro class is an absolute joke and I don't really want to waste time on it. The next prerequisite for the intermediate class is only "the equivalent to a High school level programming ability" they go on to say
"Experience must include variables, expressions, control statements (loops and conditions), arrays, methods (functions) and more."

I am eager to become at least semi competent at programing, but am I in over my head? Or could I handle being thrown straight into it?

I recognize you don't really know my capabilities but do you think it is untenably difficult to catch up? I'm sure they will review at least the basic concepts.

Also, if it helps, the text they are using is this:

https://www.amazon.com/dp/0136080200/?tag=pfamazon01-20

I appreciate any input.
 
Last edited by a moderator:
Technology news on Phys.org
  • #2
Redd said:
do you think it is untenably difficult to catch up? I'm sure they will review at least the basic concepts.

Depends, I suppose. When I went to school, there was "Intro to programming", and then each course beyond that branched off into different areas of programming, rather than a single general purpose "intermediate" course.

To be honest, I would recommend going to the intro level course if you're planning on doing anything programming-wise. When I took my intro-level course (this was 14 years ago mind you), I already had had exposure to everything in the course by way of my high school programming courses (I had programming in Pascal, BASIC, and C in HS, and my intro programming course was in C).

Despite the fact that I already knew HOW to program (I had been programming since about 8th grade), I didn't really have a good concept of WHY it worked. I knew (for example) that you put "#include <stdio.h>" at the beginning of every C program, but I didn't understand why. The intro course taught me quite a bit about how variables are represented, the basics of how compilers work, and it gave me a good introduction to the UNIX environment that we used all throughout college. And other stuff.

If you don't have any programming experience, it may be tough. If you had some experience already-- even doing things like advanced JavaScript (not talking about DOM manipulation, but more like actual logic), then you might be ok. I would recommend finding a friend who's also taking the course ASAP, and work with them where you may need assistance.

Also, I'd recommend doing some programming while you're (assumably) on break. Download a Java compiler for your computer and try writing some programs. If you have a hard time thinking up some test programs, go through the problems listed on http://projecteuler.net/index.php?section=problems .

DaveE
 
  • #3
Yeah I have begun going through some Java tutorials on the internet because I am rather concerned about it. I will definitely see what I can learn over break.
I am not pursuing Programming, I am a Physics major, but I have only recently learned the importance of programming for um. anything.

I suppose I was not being entirely forthcoming and I will list the reasons I even considered taking this class:

1. The recommended pre-requisite knowledge did not seem particularly large, but I do not really know what any of those listed things are. Are they particularly difficult concepts?

2. I am doing a Research project with a math professor next semester who told me to skip the intro class if "I knew what a mouse and a monitor were" (I wasn't sure how to take this considering it is obviously an exaggeration).

3. I was sort of interviewing for the position when the professor told me to skip the intro class and I basically would have said yes to whatever he said so I could work with him,
so I told him I would skip the intro class. So that is another factor I suppose, I would hate to disappoint him.
 
  • #4
Redd said:
Yeah I have begun going through some Java tutorials on the internet because I am rather concerned about it. I will definitely see what I can learn over break.

Hopefully, that will help you out a great deal. Pick a couple small "projects" for break and try to get them working. Like, say, a short "Guess what number I'm thinking of?" game, where you get "higher" and "lower" clues from the computer until you guess correctly. Or something that reads in some text you enter, and prints it out backwards. That sort of low-level simple task.

Fortunately, you're not planning on being a programmer, so it's not vital to you to know how strings are stored compared to floating point numbers, or the other nuances that are good to know if you're pursuing a career in programming.

Redd said:
1. The recommended pre-requisite knowledge did not seem particularly large, but I do not really know what any of those listed things are. Are they particularly difficult concepts?

Not really. The trick is really to think in those terms. The classic example is "write a program to sort this list of numbers". If you give that problem to a human, they just sort of "do it". But when you write a program to do that task, you suddenly have to break it into small steps, like "IF statement A is true, THEN do something, ELSE do something else". Similarly, things like "Repeat this step starting at point D".

Each one of the concepts they mention is just a different type of thing that a computer can do, like "IF, THEN, ELSE", or "LOOP X TIMES" or "PERFORM A NAMED TASK USING X AS INPUT". Specifically:

- variables

Learn how to establish variables (the type of variable (integer, string, character, floating point number, etc), the starting/default values of them, and how to reference them in code)

- expressions

Learn how to change the value of a variable

- loops

There are a lot of types of loops. Such as "perform this task until statement A is true", or "do this task X times"

- conditions

Things like IF(X) THEN DO (Y) ELSE DO (Z)

- arrays

These are special types of variables, akin to a data set in mathematics. So, you may have an array of integers, an array of characters, an array of floating point numbers, etc. In other words, know how to reference variables that aren't your standard X = 12 types of variables, but instead are X = [12, 15, 97, 22, 10]

- methods

Similar to "functions" in mathematics. For a given set of inputs, perform a function F(x) on it. So you might have (for example) a function that finds the mathematical median of a set of numbers, or does some other task-- particularly a task that you may want to use frequently.

Redd said:
a math professor next semester who told me to skip the intro class if "I knew what a mouse and a monitor were"

Granted, I have no idea what the course is like-- depends where they end the curriculum for the intro level course. It might be more basic than I'm imagining it, but it's hard to say.

For the record, our "final" project for our intro level course was to make a VERY basic word processor. You'd enter something like "I 52", and then "Hello Bob", and it would insert "Hello Bob" into the text that it already had, at position 52. Similarly, there was a delete command, a "print" command to display the whole text, and probably some other simple functions. All on the command line, of course-- no windowed applications or anything.

DaveE
 
  • #5
Thanks that list definitely helps.

I think I will just go for it. I will try to learn as much as I can for now and if

I am struggling in the class I can always drop to the lower one.

(Plus I heard the professor is exceedingly gracious).

So thanks again for the remarks.
 
  • #6
Redd, are you still here?

If so, I would like to say a few things. First, Java is not a good language for beginners to learn, in my opinion, since even a "Hello, World" program requires the use of advanced object-oriented concepts. Simple programs in Java are much more complicated than equilivent C or Basic programs. I actually tried to begin programming when I was baout 12 with Java and gave up, instead doing Basic to learn the principles of programming. I then moved to C, which is a lot like a more powerful version of Java that can't do web stuff, to expand my concepts of the basics, like variables, branching, compiling, etc. After that, I learned the OOP stuff that Java relies on with C++. It may be rather difficult to go the other way and use the advanced stuff before you know the basics, which is what you are doing.

I would recommend first getting at least a tiny bit of experience with something like Basic to learn the essential concepts of programming. Try downloading the FreeBASIC compiler and writing a console version of Pong or Conway's game of life. It is a very simple language with great documentation and online help forum that can teach complete beginners (the 'B' in "Basic" is for "beginner's") what programming is about very quickly.
 
  • #7
Yup, still here.

I definitely see what you are saying.
I originally thought it was a C ++ class so I was reading up on it a bit and I was essentially writing very simple programs on the first day. But now that I am trying Java and it does seem to have a steeper learning curve.

Well I actually also realized that the only time I can take this Java class is during the same time slot when the professor wants to meet :P so haha um. I guess I will just slip into the easier class (which I think is actually a BASIC class) at a different time and hope he doesn't ask too many questions...

Thanks for the help, both.
 

FAQ: Can a Beginner Succeed in Intermediate Java Programming?

1. Can someone with no prior programming experience succeed in learning Intermediate Java?

Yes, it is possible for a beginner to succeed in learning Intermediate Java programming. However, it may require dedication, consistent practice, and a willingness to learn from mistakes.

2. How long does it take for a beginner to become proficient in Intermediate Java?

The time it takes for a beginner to become proficient in Intermediate Java programming can vary. It depends on the individual's learning pace, dedication, and previous experience with programming. With consistent practice and effort, it can take anywhere from a few months to a year to become proficient.

3. Is it necessary to have a strong understanding of basic Java before learning Intermediate Java?

While having a basic understanding of Java can be helpful, it is not necessary to have a strong understanding before learning Intermediate Java. It is important to have a good grasp of fundamental concepts, but Intermediate Java builds upon these concepts and introduces new ones. With dedication and effort, a beginner can learn Intermediate Java without prior knowledge of basic Java.

4. What are some resources for beginners to learn Intermediate Java programming?

There are many resources available for beginners to learn Intermediate Java programming. Some popular options include online courses, textbooks, and interactive tutorials. It can also be helpful to join online communities or attend coding workshops to connect with other learners and seek guidance from more experienced programmers.

5. What are some tips for beginners to succeed in learning Intermediate Java programming?

Some tips for beginners to succeed in learning Intermediate Java include setting clear goals, practicing consistently, and seeking help when needed. It can also be helpful to break down complex concepts into smaller, manageable chunks and to regularly review and reinforce what you have learned. Additionally, staying motivated and having a positive attitude can contribute to success in learning Intermediate Java programming.

Similar threads

Back
Top