Earlier quoted context omitted.
Its better than C++ at least, which I learned in High School.
You can do just fine with C++. Or Java. I have taught new programmers using both. I think you can do better with Python, because there's less initial friction. I'd rather not have to tell students to ignore "public static void main" because there are several concepts in that phrase alone that I'd rather they not worry themselves with. I want them to focus on developing the ability to think algorithmically. But, as I…
On the making of a girl nerd
11–20 of 73 posts
Re: On the making of a girl nerd
#12Anyone even considering teaching Java as a first language to high school students should be given a good sound slap - and I say this as a Java dev.
The College Board Advanced Placement exam for Computer Science has used Java for several years now. See http://apcentral.collegeboard.com/apc/public/repository/ap-c... I'm not saying that's a good idea, just that the practice is fairly common. I think they're nuts.
Re: On the making of a girl nerd
#13Earlier quoted context omitted.
Its better than C++ at least, which I learned in High School.
I'm only 24 and I was learning BASIC in High School, back in Fiji.
Re: On the making of a girl nerd
#14Earlier quoted context omitted.
Its better than C++ at least, which I learned in High School.
I'm only 24 and I was learning BASIC in High School, back in Fiji.
Re: On the making of a girl nerd
#15Anyone even considering teaching Java as a first language to high school students should be given a good sound slap - and I say this as a Java dev.
Why? What is so bad about Java that it makes learning it so bad as a first language or as a introduction to programming?
Each class must be in its own file, and the execution starts from "public static void main(String[] args)" inside it. Then you have to deal with complex data types very early: python's set of primitives is much richer, which is great when teaching. Also, doing IO in Java is a pain unless you distribute a library.
To those who think Python's significant whitespace is a problem, I think you need to watch an otherwise intelligent beginner struggle with an error on line 80 because they mismatched their braces on line 20. If you aren't properly indenting your code, it becomes an unreadable mess anyways, so why not enforce it at a language level? And if you think an IDE can do this for you, think again. People just complain that it does things wrong when it indents half their methods by 2 extra tabstops because they missed a brace. They don't really get it, they just get into a feedback loop where they say, "Oh, it won't compile. Let me scan the entire program counting braces" which is a waste of everyone's time. I've seen people go entire semesters without ever learning to write readable indented code.
Re: On the making of a girl nerd
#16Earlier quoted context omitted.
You can do just fine with C++. Or Java. I have taught new programmers using both. I think you can do better with Python, because there's less initial friction. I'd rather not have to tell students to ignore "public static void main" because there are several concepts in that phrase alone that I'd rather they not worry themselves with. I want them to focus on developing the ability to think algorithmically. But, as I…
I think it matters more than you give it credit. Michigan State did an experiment where they replaced one of the Intro to CS classes (which were formally in C++) with Python. The result they found is that for people who went on to CSII (in C++), they did just as well; but for people who were non-CS majors, a) they did significantly better than non-CS majors starting with C++, and b) they were more likely to take more…
Neither of your claims is supported by either paper. Rather, they seem to support my claim: starting language isn't a predictor of success.
Conclusions from the first paper: When final exams were compared for a CS2 course offered before the Python transition with a course after the transition no statistical difference was found. The first CS2 course after the transition contained a mixture of Python-prepared and non-Python prepared students. There was no statistical difference in the performance between those two student groups.
Conclusions from the second paper: We conclude that starting students with Python has not had a negative impact within a C++ based curriculum. It would have been nice to conclude that the Python students did better in these courses, but the evidence does not appear to support that hypothesis.
With that said, I do agree with the authors that exposure to more languages, environments and tools is a good thing, and for that reason, I'd prefer using Python, then switching to C++.
Re: On the making of a girl nerd
#17Earlier quoted context omitted.
The College Board Advanced Placement exam for Computer Science has used Java for several years now. See http://apcentral.collegeboard.com/apc/public/repository/ap-c... I'm not saying that's a good idea, just that the practice is fairly common. I think they're nuts.
Prior to that it was C++. I think they're actually moving in the right direction.
Re: On the making of a girl nerd
#18Earlier quoted context omitted.
The College Board Advanced Placement exam for Computer Science has used Java for several years now. See http://apcentral.collegeboard.com/apc/public/repository/ap-c... I'm not saying that's a good idea, just that the practice is fairly common. I think they're nuts.
Prior to that it was C++. I think they're actually moving in the right direction.
Re: On the making of a girl nerd
#19Anyone even considering teaching Java as a first language to high school students should be given a good sound slap - and I say this as a Java dev.
Why? What is so bad about Java that it makes learning it so bad as a first language or as a introduction to programming?
Re: On the making of a girl nerd
#20The "javascript" variant is fairly straightforward and if you take it far enough can be quite powerful. At first the students can just hack things together, but as they go on they'll learn real programming.
Also, the basic IDE is free.