Can a Beginner Succeed in Intermediate Java Programming?

  • Context: Java 
  • Thread starter Thread starter Redd
  • Start date Start date
  • Tags Tags
    Head
Click For Summary

Discussion Overview

The discussion revolves around whether a beginner with no programming experience can successfully transition into an intermediate Java programming course. Participants explore the prerequisites for the course, the potential challenges of skipping the introductory class, and the importance of foundational programming concepts.

Discussion Character

  • Exploratory
  • Debate/contested
  • Conceptual clarification
  • Homework-related

Main Points Raised

  • One participant expresses concern about their lack of programming experience and questions whether they can handle the intermediate course without taking the introductory class.
  • Another participant shares their experience, suggesting that an introductory course is beneficial even for those with some prior knowledge, emphasizing the importance of understanding foundational concepts.
  • Some participants propose that the recommended prerequisite knowledge for the intermediate class does not seem particularly difficult, but they acknowledge uncertainty about the actual content of the course.
  • There is a suggestion to engage in self-study and practice programming during breaks to build confidence before the course begins.
  • One participant mentions that a professor advised them to skip the intro class, which adds pressure to succeed in the intermediate course.
  • A later reply questions the suitability of Java as a first programming language, citing its complexity compared to other languages like C.

Areas of Agreement / Disagreement

Participants do not reach a consensus on whether skipping the introductory class is advisable. There are multiple viewpoints regarding the difficulty of Java for beginners and the necessity of foundational knowledge.

Contextual Notes

Participants express varying levels of familiarity with programming concepts such as variables, loops, and methods, indicating a range of understanding that may affect their readiness for the intermediate course.

Who May Find This Useful

Individuals considering a transition from beginner to intermediate programming, particularly in Java, as well as those interested in the relevance of programming skills in fields like physics.

Redd
Messages
47
Reaction score
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
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
 
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.
 
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
 
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.
 
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.
 
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.
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
1K
  • · Replies 3 ·
Replies
3
Views
4K
Replies
3
Views
3K
  • · Replies 10 ·
Replies
10
Views
4K
Replies
8
Views
3K
  • · Replies 31 ·
2
Replies
31
Views
4K
  • · Replies 2 ·
Replies
2
Views
7K
Replies
3
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K