Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   lectures about "programming methodology" (http://www.velocityreviews.com/forums/t960400-lectures-about-programming-methodology.html)

Stefan Ram 05-05-2013 06:37 PM

lectures about "programming methodology"
 
I decided to watch lecture videos from the Stanford
University about »programming methodology«, which actually
teach Java.

I was somewhat surprised that the lectures of the renowned
Stanford university do not have such a high overall
quality at all.

For example, the lecturer (http://en.wikipedia.org/wiki/Meh
r*n_S*h*mi, where *=a) wrote on the blackboard

»off by one error«,

but what he meant clearly was an

»off-by-one error«.

. Regarding Java, he explained the import statement as if
this was required to make a class »available«, while it does
nothing more than to provide a simple name for a class
instead of its fully qualified name. (To make a class
available, the »-cp« option of java(c) is used.)

He also explained that Java programs were linked by creating
a JAR archive for them. (While in fact the creation of a JAR
archive is not necessary and the linking [that is, replacing
symbolic references by their referents] takes place when the
classes are loaded by the JVM, independently of whether they
come from class files or JAR files.)

But I have watched only the first lectures so far.


Arne Vajhøj 05-05-2013 11:48 PM

Re: lectures about "programming methodology"
 
On 5/5/2013 2:37 PM, Stefan Ram wrote:
> I decided to watch lecture videos from the Stanford
> University about »programming methodology«, which actually
> teach Java.
>
> I was somewhat surprised that the lectures of the renowned
> Stanford university do not have such a high overall
> quality at all.
>
> For example, the lecturer (http://en.wikipedia.org/wiki/Meh
> r*n_S*h*mi, where *=a) wrote on the blackboard
>
> »off by one error«,
>
> but what he meant clearly was an
>
> »off-by-one error«.


That is just to keep Lew away.

:-)

> . Regarding Java, he explained the import statement as if
> this was required to make a class »available«, while it does
> nothing more than to provide a simple name for a class
> instead of its fully qualified name. (To make a class
> available, the »-cp« option of java(c) is used.)
>
> He also explained that Java programs were linked by creating
> a JAR archive for them. (While in fact the creation of a JAR
> archive is not necessary and the linking [that is, replacing
> symbolic references by their referents] takes place when the
> classes are loaded by the JVM, independently of whether they
> come from class files or JAR files.)


First, even the best universities can have some teachers that are
not so good.

Second, I believe that Harvard is more known for Law, Medicine,
Business, Economics than for IT.

Third, some say that the actual education (at bachelor and
masters level - PhD level may be different) is not that much
better at the famous universities than at lesser know
universities and that the benefits of joining is more
about the prestige and the connections one get. As I have never
seen the inside of an American university, then I can not
say if it is true or not.

Arne



Arved Sandstrom 05-06-2013 09:07 AM

Re: lectures about "programming methodology"
 
On 05/05/2013 08:48 PM, Arne Vajhøj wrote:
[ SNIP ]

>
> Third, some say that the actual education (at bachelor and
> masters level - PhD level may be different) is not that much
> better at the famous universities than at lesser know
> universities and that the benefits of joining is more
> about the prestige and the connections one get. As I have never
> seen the inside of an American university, then I can not
> say if it is true or not.
>
> Arne


That's pretty much true almost anywhere. It obviously depends on the
specific discipline, whether the eventual focus is research as a career
or practical application, and so forth.

But for IT specifically, for preparing students for real work, I've seen
two-year vocational/business schools or community colleges often do a
better job of providing some programming language training and a dollop
of useful software engineering than 4-year CS programs at name universities.

I don't know why anyone would even expect a programming language course,
online or otherwise, offered by any school and typically taught by a
faculty member or TA with less time in real-world programming experience
than hundreds of thousands of professional programmers have, to either
be particularly noteworthy or to be better than the dozens of good or
excellent tutorials that have been on the Web for years.

I think it's pointless to pay $$$ to learn programming languages. What
*is* a good idea to pay money for is some courses in software
engineering, but CS programs don't often offer quality courses in that.
Failing that option, again, no shortage of quality books on the
subject...and simply OJT.

If I were aspiring to a career in IT, which does benefit for HR reasons
if nothing else from a bachelor's degree minimum, I'd take a quality
degree in almost anything except CS.

AHS

Joerg Meier 05-06-2013 10:00 AM

Re: lectures about "programming methodology"
 
On Mon, 06 May 2013 06:07:34 -0300, Arved Sandstrom wrote:

> But for IT specifically, for preparing students for real work, I've seen
> two-year vocational/business schools or community colleges often do a
> better job of providing some programming language training and a dollop
> of useful software engineering than 4-year CS programs at name universities.


> I don't know why anyone would even expect a programming language course,
> online or otherwise, offered by any school and typically taught by a
> faculty member or TA with less time in real-world programming experience
> than hundreds of thousands of professional programmers have, to either
> be particularly noteworthy or to be better than the dozens of good or
> excellent tutorials that have been on the Web for years.


> I think it's pointless to pay $$$ to learn programming languages. What
> *is* a good idea to pay money for is some courses in software
> engineering, but CS programs don't often offer quality courses in that.
> Failing that option, again, no shortage of quality books on the
> subject...and simply OJT.


Let's not forget that good teaching is about more than JUST the syllabus,
and the best teacher is unlikely to be the one with an autistic level to
detail, and while it would certainly be desireable to have zero mistakes in
the entire course, I would definitely not put it as the #1 priority.

Frankly, if a student trusts that their teacher is the final authority on
the subject matter, they probably aren't ever going to be on a level where
a 100% error free course would make a difference in the first place.

As grating as a teacher making a mistake may be to an outside observer,
what influences whether the students will become adept at the subject
matter is usually a lot less easily defineable.

For example, something I would rate infinitely above "Teacher never makes
any mistakes" would be "Teacher responds well to factual criticism and
repeated my correction in the next lecture".

That being said, I only found the error about linking to be substantial
enough to be worth mentioned at all.

Liebe Gruesse,
Joerg

--
Ich lese meine Emails nicht, replies to Email bleiben also leider
ungelesen.

Stefan Ram 05-06-2013 12:23 PM

Re: lectures about "programming methodology"
 
ram@zedat.fu-berlin.de (Stefan Ram) writes:
>But I have watched only the first lectures so far.


I just watched another lecture and noticed the following:

He said something to the effect that the type »int« was there
to store an int value. I would say that an int /variable/ is
there to store a value, while the /type/ int can also be the
type of an expression (like »2«) that is not necessarily
stored anywhere at run-time.

He said that a variable had a name. This is not always true
in Java (he referred to Java, since he is exclusively using
Java). In Java there also are anonymous variables, like the
variables of an array.

He said that the remainder operator »%« can only be applied
to integers. This also is not true in Java IIRC.

I am actually watching this to learn English pronunciation
of programming terms (otherwise, I just would read a text),
and what I /did/ like was that for the word »char« he gave
the pronunciations of /kA&/ and /kæ&/ (where A is the open
back unrounded vowel and & is the schwar), which I also use
(/kA&/). Bjarne Stroustrup says it was /tSA&/ (where tS is
the voiceless palato-alveolar affricate), well, maybe that
is valid for C++ programmers ...


Sven Köhler 05-06-2013 01:56 PM

Re: lectures about "programming methodology"
 
On 05/06/2013 03:23 PM, Stefan Ram wrote:
> He said that a variable had a name. This is not always true
> in Java (he referred to Java, since he is exclusively using
> Java). In Java there also are anonymous variables, like the
> variables of an array.


I know that you are particular precise about thing, but I'm pretty sure,
he will teach that arrays have elements. And he pretty much never
mention the term "anonymous variable" to describe these elements.
To be honest, the notion "anonymous vairable" is really not necessary to
understand how arrays work - and to be honest, your posting is the first
time I read that term.

> He said that the remainder operator »%« can only be applied
> to integers. This also is not true in Java IIRC.


:-) This seems to be a popular misconception. A floating point modulo
operation doesn't seem to feel very "natural" to many people. When I
mention it, they usually ask me for the definition.

> I am actually watching this to learn English pronunciation
> of programming terms (otherwise, I just would read a text),
> and what I /did/ like was that for the word »char« he gave
> the pronunciations of /kA&/ and /kæ&/ (where A is the open
> back unrounded vowel and & is the schwar), which I also use
> (/kA&/). Bjarne Stroustrup says it was /tSA&/ (where tS is
> the voiceless palato-alveolar affricate), well, maybe that
> is valid for C++ programmers ...


char is short for character, isn't it?


Regards,
Sven

Stefan Ram 05-06-2013 02:11 PM

Re: lectures about "programming methodology"
 
Sven Köhler <remove-sven.koehler@gmail.com> writes:
>To be honest, the notion "anonymous vairable" is really not necessary to
>understand how arrays work - and to be honest, your posting is the first
>time I read that term.


The JLS, while being technical, actually sometimes is quite
easy to read:

One can open the table of contents, spot chapter »10. Arrays«,
and immediately read near the very beginning of that chapter:

»An array object contains a number of variables.« (JLS7 10)

The express »new int[ 3 ]« has its value an array of three
variables, but neither this object nor those variables have
a name.

>I know that you are particular precise about thing, but I'm pretty sure,
>he will teach that arrays have elements.


»These variables are called the components of the array.« (JLS7 10)

>char is short for character, isn't it?


Yes. For »charcoal«, »to char« or »char« meaning a fish
or tea or some such I too would use another pronunciaton.


Stefan Ram 05-06-2013 02:18 PM

Re: lectures about "programming methodology"
 
Supersedes: <char-20130506161045@ram.dialup.fu-berlin.de>
[edited lines marked with »|«]

Sven Köhler <remove-sven.koehler@gmail.com> writes:
>To be honest, the notion "anonymous vairable" is really not necessary to
>understand how arrays work - and to be honest, your posting is the first
>time I read that term.


The JLS, while being technical, actually sometimes is quite
easy to read:

One can open the table of contents, spot chapter »10. Arrays«,
and immediately read near the very beginning of that chapter:

»An array object contains a number of variables.« (JLS7 10)

»The variables contained in an array have no names« (JLS7 10) |

The expression »new int[ 3 ]« has as its value an array of three |
variables, but neither this object nor those variables have
a name.

>I know that you are particular precise about thing, but I'm pretty sure,
>he will teach that arrays have elements.


»These variables are called the components of the array.« (JLS7 10)

>char is short for character, isn't it?


Yes. For »charcoal«, »to char« or »char« meaning a fish
or tea or some such I too would use another pronunciaton.


Sven Köhler 05-06-2013 02:24 PM

Re: lectures about "programming methodology"
 
On 05/06/2013 05:18 PM, Stefan Ram wrote:
> Sven Köhler <remove-sven.koehler@gmail.com> writes:
>> To be honest, the notion "anonymous vairable" is really not necessary to
>> understand how arrays work - and to be honest, your posting is the first
>> time I read that term.

>
> The JLS, while being technical, actually sometimes is quite
> easy to read:


Subtext?

> One can open the table of contents, spot chapter »10. Arrays«,
> and immediately read near the very beginning of that chapter:
>
> »An array object contains a number of variables.« (JLS7 10)
>
> »The variables contained in an array have no names« (JLS7 10) |
>
> The expression »new int[ 3 ]« has as its value an array of three |
> variables, but neither this object nor those variables have
> a name.


So apparently I haven't read that part of the JLS. And neither has the
lecturer. And this might me the shock: most people and most lecturers
haven't read the JLS. At least to my experience.

>> I know that you are particular precise about thing, but I'm pretty sure,
>> he will teach that arrays have elements.

>
> »These variables are called the components of the array.« (JLS7 10)


Well ...
So what did the lecturer call them?


Regards,
SVen

Stefan Ram 05-06-2013 02:30 PM

Re: lectures about "programming methodology"
 
Sven Köhler <remove-sven.koehler@gmail.com> writes:
>>The JLS, while being technical, actually sometimes is quite
>>easy to read:

>Subtext?


The precondition for my statement was that some people
believe that specifications of programming languages
always are hard (difficult) to read (understand).

>And this might me the shock: most people and most lecturers
>haven't read the JLS. At least to my experience.


>>»These variables are called the components of the array.« (JLS7 10)

>So what did the lecturer call them?


I do not have the time immediately to seek through the video,
but when I learn about this, I will get back to this thread.
First now, I need time to recover from the shock.



All times are GMT. The time now is 06:32 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.