4 ms·
I have personal experience with this. I'm a highschooler (junior now), and I took an intro Java class freshman year, AP Comp Sci soph year, and I'm TAing a Jav
by jackowayed 18y ago
I have personal experience with this.
I'm a highschooler (junior now), and I took an intro Java class freshman year, AP Comp Sci soph year, and I'm TAing a Java class right now.
There is very little learning of Java going on in any of those classes. Part of it is that the teacher doesn't make it a very hard class, but also even among the people who try and do all of the assignments the majority just don't get it. They don't get the simplest things.
And it's not that my school gets a lot of people who just are "stupid" or unmotivated. It's a charter school that you have to apply to and take a test to get in. Its focus is math, science, and tech, and it's like 42nd (something close at least) public HS in the nation according to US News and World Report.
But a lot of them just don't understand programming. They have functions explained to them, and they're shown some examples like areaOfSquare(int side) and areaOfRectangle(int length, int width), and half of them ask me for help on the first one areaOfTriangle(int base, int height). And most of the rest ask the people that I helped for help.
Or I fix a curly brace issue (I hate Java, for the record (ok, hate's too strong)) for the same person almost every day, but she can't figure out that maybe she should try adding a curly brace to the end of the file before calling me over.
This incompetence is even more true now that Java is offered to all freshmen. For my freshman year, unless one did a very long, annoying, inane set of assignments to show that you know how to use MS Office, freshmen had to take a class teaching them how to use Office freshman year, and only after that could they take Java. So the people in Java were people who actually wanted to take it, not just people trying to fulfill their graduation requirements.
Back then, about half of the people in Java actually tried (the rest were basically the seniors who had stopped caring), and around half of the nonseniors who took Java would go on to take AP CS.
The ratios have tilted a lot more towards incompetence now.
Programming is something that not everyone understands, and teaching those that just don't understand programming is a monumental task.
All schools should offer at least one programming class, but making it a "Core Component Of Science And Math Education" is a mistake. A lot of people would just do badly and not learn anything.
- andreyf 18y agoProgramming is something that not everyone understands, and teaching those that just don't understand programming is a monumental task. I've taught basic programming to a lot of people, and I find that the problem is on the other side: Teaching programming is something that not everyone understands, and learning from those who just don't understand teaching programming is a monumental task. Students come in with different views of the world - some of them have the metaphorical analogies in place to understand scope and curly brackets as "boundaries" or "bags", others don't. Explain it to them.
- gaius 18y agoWe had this discussion on another thread and concluded that Java's a very bad introduction to programming. To understand even Hello, World requires an enormous amount upfront: class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } What's a class? Why does the name of my class have to be the same as the name of the file (and why do I have to rename it on the disk if I change it?) What's "public", "static" and "void" mean? What's an array? What're arguments? Why is String capitalized when main isn't? What is this System business, why can't I just print? Why do I have a semicolon on the end of that line? If you want to teach people you've got to start from the freedom of using a suitable language, which means to all practical purposes LOGO, BASIC or Scheme. 10 PRINT "HELLO, WORLD!" Or (display "Hello, world!")
- jackowayed 18y agothat could well be the case, but do you think that schools around the nation will be able to find great programming teachers that understand teaching programming?