aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Certification exam difficulty after CS degree Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Certification exam difficulty after CS degree" Watch "Certification exam difficulty after CS degree" New topic
Author

Certification exam difficulty after CS degree

Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
I have a CS degree from a top program and wonder if someone else who a CS degree, or even Masters, would comment on the "difficulty" level of the certification exam and required preparation in order to obtain a high score.
As one studies core theory subject in programming languages, compiler design, and design and verification (etc) generally learning new computer languages is a breeze, as the perspective is different than that obtained by coding or implementation level only experience and education. One sees the archtype concepts in the language implementation instead of having to find one's way through a murky mix of syntax and semantics.
Put another way, is the cerification exam difficult for many due to the computers science level topics implicit in the subject, or due to the need to have extreme detailed knowledge of the particular syntax and semantics- i.e, in excessive detail.
This may not be the right description, but responses from those with a formal academic CS background would be appreciated on the general question.
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
I have a BS in computer science. I found that it probably does not matter if you have some background or a degree in computer programming. You still need to spend the time learning about the Java language and it's semantics and syntax. Not that a degree helps you to understand more completely the abstractions of the Java language. However, many of the core concepts still need to be mastered because they differ from other OO languages. For example, the strict inheritance requirement of Java.
So I would not think that a person has a headstart on Java just by having a degree. There are so many concepts and details specific to the Java language that make learning it just a little more difficult than a "breeze".
In other words, it is easy to say you have learned Java when you reach the point where you can write a program using it. However, that person is still a long long long long way from passing the Java exam. You will see why when you begin studying for it.
Best of Luck.
M
Ajith Kallambella
Sheriff

Joined: Mar 17, 2000
Posts: 5782
I too have a Masters degree in CS from a well-known school and I can't help but completely agree with Mindy.
SCJP is all about the Java language itself and having/not having a formal academic background in CS does not make any difference. The only advantage of coming from a CS background, in my opinion, is that you will be able to appreciate the subtle niceties of Java. You will have a stronger conceptual foundation that will help you better recognize( and perhaps critique ) the design of the language.
But that does not preclude or reduce the amount of preparation required to do the SCJP. I don't mean to scare you away, but SCJP is considered to be actually a tougher exam compared to a lot of certification exams out there. So it would be safe not to assume anything and start with a clean mind
....ofcourse, JavaRanch is always here to help you if you get stuck on the way
Best wishes and good luck
Ajith


Open Group Certified Distinguished IT Architect. Open Group Certified Master IT Architect. Sun Certified Architect (SCEA).
Bill Howerton
Greenhorn

Joined: Aug 18, 2000
Posts: 7
I also have a masters in CS from a good school, and recently took the SCJP. I agree with those above - the formal education offers little help other than possibly an exposure to multiple programming languages, so picking up another one wasn't as hard as it might be for a rank beginner.
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
I am a graduate student too. I found that it is not that hard if you can work on some programs since you should have pretty good idea about OOP concept, about compiler how to work or something like this. If you can have this certificate, you might have better opportunity than others. Also, it is a good learning precess. Just keep going.
Mapraputa Is
Leverager of our synergies
Sheriff

Joined: Aug 26, 2000
Posts: 10065
Thanks Mark! Good question!
I do not have CS degree (I have math BS), but I�ve been working as a computer programmer for 11 years, Java is my 8-th language, and now I feel that smth is wrong either with me, or with Java. It shouldn�t be so difficult to learn. Part of difficulty seems to be reasonable, just too many features, and if to consider all their combinations, possible or impossible� But part of difficulty is thanks to mmm� not very good design, no? Famous example:
byte a = 2;
byte b = 3;
byte c = a + b;
will produce not 5, as anybody with average level of intellectual abilities would expect, but compiler-time error.
Why cannot I add 2 and 3 without sacral knowledge that JVM promotes all byte operands to integer? High-level programming language should hide implementation details, right?

Another famous example:
int i = 3;
i=i++;
System.out.println(i);
will print 3. Can anybody explain, why after assignment to 3 i was not incremented?
It is not possible to know every small detail about programming language, I feel that I �know� languiage, when I can use my intuition to choose right answer. After nearly 7 months of studying Java I often cannot. It means that I probably do not understand underlying concepts, this language is governed by. After reading your, guys, responses, I see that folk with formal CS education has similar problems. Doesn�t that mean that something is wrong with Java?

Uncontrolled vocabularies
"I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet
Rowan Brownlee
Ranch Hand

Joined: Aug 07, 2000
Posts: 97
My understanding is that your example illustrates post incrementation. The value of i is assigned to i and then incremented.
If the statement read i = ++i, i would be incremented and then assigned the incremented value.
cheerio
rowan
Originally posted by Mapraputa Is:
Thanks Mark! Good question!
Another famous example:
int i = 3;
i=i++;
System.out.println(i);
will print 3. Can anybody explain, why after assignment to 3 i was not incremented?

Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Hi:
I'm new to the forum; just started to study so I'm definitely
a greenhorn
The output of 3 in your example is confusing:
<pre>
int i = 3;
i = i++;
System.out.println(i);
</pre>
In the JLS Section 15.4.1 states:

At run time, if evaluation of the operand expression completes abruptly, then the postfix increment expression completes abruptly for the same reason and no incrementation occurs. Otherwise, the value 1 is added to the value of the variable and the sum is stored back into the variable.

You would expect i to equal 4 after the increment is applied.
It does say the SUM is stored back into the variable. I think
the problem is that you're doing an assignment:
<pre>
i = i++;
</pre>
when i++ is an implicit assignment
If you re-write the code to:
<pre>
int i = 3;
i++;
System.out.println(i);
</pre>
The output is the expected 4.
The assignment operator in the original example must somehow
cause the postfix operation to complete abruptly; causing it to fail.
Does that make sense?
 
jQuery in Action, 2nd edition
 
subject: Certification exam difficulty after CS degree