School? I would not call it that way.

Started by
56 comments, last by way2lazy2care 12 years, 4 months ago

What would you have rather done after 5 pm on weekends?

Can't tell if serious or trolling...

I think the entire premise of this thread is crazy. You have 3 years of hobbyist programming under your belt and you are upset that your highschool level CS course is keeping it simple and giving advice based on the knowledge that most of the people in the CS course have highschool level knowledge of CS (IE: 0 knowledge of CS). For beginners most of her advice isn't even that bad; you should just be glad that your school is offering any CS at all higher than HTML.
Advertisement

This looks like a lot of disagreeing for the sake of disagreeing. If you want to point out that the kid's whining is useless, then point that out. If you want to point out that most CS instructors are pretty bad, then point that out.

But don't take some person you've never met's side on a range of issues they were wrong on to try to prove the prior points. It just makes you look like the type of person who will take an incorrect stance for the sake of argument and utterly destroys your credibility.

I don't believe we have the whole story. Almost everything the teacher said could easily have very valid reasons for why she said them; ESPECIALLY when viewed through the lens of a HIGHSCHOOL LEVEL CS COURSE.



Invalid. Understanding the binary behind primitive data types and why/when to use them is simple and can be grasped by a 10th grader. And he was correct. Her not pointing out the use of floats/doubles for high precision rather than just high value was poor on her part.

I have a CS degree and even though I know how doubles are represented in binary I still find them confusing. ALSO, FLOATING POINT NUMBERS ARE NOT PRECISE.

Invalid. There are floats in javascript. And other "modern" languages besides the few you listed use floats. CPUs are hardwired to deal with floats.[/quote]
I don't think javascript specifies the difference between float and double currently. It has floating point numbers, not to be confused with the common type "float". I think they set themselves up to start using floats and doubles, but I don't believe the language specifies anything other than a number being a floating point number in it's current state.



Invalid. He didn't say either way was more or less correct. He said that she said that programmers use shorthand for no good reason. This isn't true. a++ is more easily descriptive than a = a + 1. It has its uses in good practice and the kid realizes this.

This one I take the most issue with. There are plenty of cases where shorthand obfuscates code at the least and causes hard to find bugs more often. I totally agree with the teacher even if the example is somewhat contrived and basic. In the case of ++, given that it's a HIGHSCHOOL LEVEL CS COURSE, I'd say her advice is fine. I wouldn't want my kids hacking together solutions they don't understand because they wrote ++a instead of a++. I'd much rather shield them as much as possible from themselves.

I have to side with the teacher for the most part, because the teacher isn't a whiny highschool student that came on the internet to rant about mostly legitimate observations made/practices done by his teacher and I think we don't have any of the context for any of her recommendations. Given the rant-like nature of the post I have to imagine he is extrapolating more than a little.
I agree with sooner123 - going on about things like social life seems like an attempt to find fault in every possible way, rather than focusing on the actual points. Also a bit disappointed to see negative moderation used to add to this. If you disagree, say why, don't mark people down.


[quote name='wiz3kid' timestamp='1322634879' post='4888989']
[quote name='swiftcoder' timestamp='1322634592' post='4888987']
... and go do all the usual highschool things - sports, girlfriends, etc. You'll only regret it later if you don't.

Regret? Why regret?[/quote]
Because you are only young once.

In a couple of years, you won't have half the time and energy you do now, to tryout a new sport, chase after that redhead, learn to fix motorcycles... But you will always have time to learn esoteric programming languages, because it's the kind of thing you can squeeze into half-hour breaks between class, work, and so-forth.
[/quote]I went to a single sex school, and it was an adult that I had the opportunities, time, energy - as well as confidence and experience - to have relationships. Social life was limited by parents, legal restrictions of being under 18, and money, and nothing compared to the freedom I have now. Sports involved running around in mud, where as now I'd have the choice to do what I wanted.

But I never regret the time I spent learning how to program as a child.

(And I'm not sure programming is an activity best done squeezed into random half-hour breaks - when we're not just talking about learning a new language by reading a book, but gaining experience by doing programming itself.)

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux


But don't take some person you've never met's side on a range of issues they were wrong on to try to prove the prior points. It just makes you look like the type of person who will take an incorrect stance for the sake of argument and utterly destroys your credibility.

I'm merely pointing out that as a teacher one is forced to make a lot of simplifications in order to convey the essence of a subject, and programming is a particularly thorny issue in this respect. The amount of trivia that one could teach (did one have the time) is boundless, but occasionally one has to make sacrifices.

I'm not suggesting that the teacher is any good. I'm just pointing out that there might be rational decisions behind her some of her simplifications.

Invalid. There are floats in javascript.[/quote]
Really? I see a 64-bit 'Numeric' type that handles all floating-point calculation.
CPUs are hardwired to deal with floats.[/quote]
Really? Intel introduced the 80-bit floating-point unit in 1989, which has been fairly standard ever since. And while there are some specific instances of cache/SIMD optimisations where floats perform better than doubles, this is in general not the case.

He said that she said that programmers use shorthand for no good reason. This isn't true. a++ is more easily descriptive than a = a + 1. It has its uses in good practice and the kid realizes this.[/quote]
You are both acting as if a++ is equivalent to a = a + 1. I assume that you are actually both aware that this is not in fact true. While Java thankfully doesn't have the horror of sequence points, one is still required to explain quite a lot of semantics surrounding the post-increment/decrement operators.


Invalid. And indicative of some strange kind of envy you have for one particular subset of people.

I was on the sailing team, the fencing team, and the swim team. I was also a programming geek. It's not envy on my part, its an observation of the kids who didn't manage to strike such a balance.

Ever seen the 5 hour energy ad that says 'nobody wished they slept more in college'? Well, nobody ever wished they spent more hours of their youth slaving over a computer either. If you end up with a career in any aspect of computers, you are going to stare at a screen 60 hours/week for the next 40+ years. - I suggest you enjoy the sunshine in the meantime.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


But I never regret the time I spent learning how to program as a child.

I never suggested he shouldn't learn to program. I suggested that the time spent whining about in online could be more productively spent - whether he uses that time to learn a new programming language or pick up a pretty girl, is entirely up to his personal preferences.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


[quote name='swiftcoder']
You are both right. The difference is that when using ASCII, you have to change the locale to match the character set you wish to use.


Invalid. The obvious implication of what she said was that ASCII has a value for every character. Not true. It has 256 characters. You can arbitrarily change what these characters are mapped to but then guess what? You lose the other ones they used to be mapped to. There are more than 256 characters between all characters in all languages. Quite a bit more in fact. This kid is right. His teacher was wrong. He is also right about unicode.
[/quote]
I know it's irksome to go off topic here, but ASCII is a 7-bit code that has defined values only in the range 1..127.

The OP is technically correct in a prescriptive sense.

"ASCII", sometimes incorrectly known as "ANSI" to those US residents with a DOS/Windows programming background, is commonly used to refer to any and all methods of representing textual information as a sequence of integral values in computer storage media. This includes not only ASCII proper, but any of the ISO, MAC, or CP localized 8-bit character sets, and often many of the multibyte or wide character sets that predate Unicode. ASCII is often also used interchangably with the UTF-8 Unicode representation (just as Microsoft's UNICODE is often confused with Unicode).

So, in a descriptive sense, the OP's teacher is correct and the OP needs to tone down his arrogance and seek knowledge instead. Being asinine is not a good substitute for being intelligent.

Stephen M. Webb
Professional Free Software Developer


[quote name='mdwh' timestamp='1322662736' post='4889065']
But I never regret the time I spent learning how to program as a child.

I never suggested he shouldn't learn to program. I suggested that the time spent whining about in online could be more productively spent - whether he uses that time to learn a new programming language or pick up a pretty girl, is entirely up to his personal preferences.
[/quote]Your first statement did, but I was referring to your later post, which talked about learning esoteric programming languages, rather than complaining about teachers.

As for time spent online being used more productively - well sure, that could go for everyone contributing to this thread :)

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

If this were computer science, the content would be slightly different.

Instead of talking about floats and doubles, one would be proving commutativity of a ring, followed by Winograd algorithm in a 0,1 vector space to derive two's completement arithmetic. How to represent irrational numbers would be left as homework and excercise to the reader. Individual types would then be simply a matter of taking n=4, n=8 and n=8+23 for given IEEE representations. One would also wire the ALU on a protoboard, implementing those operations for some obscure width digits.

Or some similar theoretical stuff.

Computers and languages would not be involved.

-----

Java class is intended as introduction to programming. Majority of people in that class have never written a line of code. Most will be stuck on understanding a for loop.

To someone who knows how to write, explaining that letter A is written using 3 specific strokes will be boring. But we all had to learn it once. Same with programming.

[redacted]


Can anyone confirm this? I doubt it will absolutely, unquestionably, have to be for 40+ years or for 60 hrs/week.

Retirement age these days is 67, and you typically graduate college around age 22-23, so that makes 40+ years of employment.

Standard work week in the US is 40 hours/week, which is the bare minimum you will work in a career. But a lot of development jobs (particularly in game development) are known for 'crunch time', when you might end up working 80+ hours a week for weeks on end... Depending on how what career you pursue, you'll be lucky to only work 40 hours/week on average.

Now, obviously this doesn't have to be the case. You could get lucky and make it big in a startup, and retire at 35. You could accept a low salary and work in academia, where overtime doesn't exist. You could accept a lower salary and no prospect of career advancement to work half-time... You get the picture. Its a tradeoff between standard of living and amount of work, moderated by a sprinkling of luck.

I would love to. BTW, the reason I asked the previous question was because (believe it or not) not everyone has had (or "is having" for the matter) teenage times like yours. Some live in different countries and live in different surroundings. So what you may think is a piece of cake for you (in any aspect), for others might actually be a different universe.[/quote]
Life is what you make of it - that's just as true in highschool as it is in adulthood. Sure, different people have different environments and backgrounds, but you need to make the most of whatever you have.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement