Fall2006.Python History

Hide minor edits - Show changes to output

Changed lines 99-100 from:
Java is an industrial strength language. It's hard to master (even for faculty). CS intro books have gotten thicker (not with concepts, but mainly with syntax). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).
to:
Java is an industrial strength language. It's hard to master (even for faculty). CS intro books have gotten thicker (not with concepts, but mainly with syntax). Certainly our own experience here at CofC is that we started losing students from other departments when we moved to Java (and OO).
Added lines 3-4:
'''Note:''' Here are some quick ideas, organized haphazardly, to provide content for a departmental discussion. ('''Later note:''' Using these and other ideas, our department decided to switch to Python for CS1 in Fall 2007.)
Changed lines 20-23 from:
This is the authoritative 90-page tutorial for prospective adopters of Java in CS1. It took 2 years to put together by a group of notable SIGCSE folks.

Consider how much effort it takes to explain the code samples to students with no previous programming experience (our CS1 target audience).
to:
This is the authoritative 90-page tutorial for prospective adopters of Java in CS1. It took 2 years to put together by a group of creative, intelligent SIGCSE folks.

Consider how much effort it takes to explain the code samples to students with no previous programming experience (our CS1 target audience).
Changed lines 31-32 from:
Consider how much effort it takes to explain the code samples to students with no previous programming experience (our CS1 target audience).
to:
Consider how much effort it takes to explain the code samples to students with no previous programming experience (our CS1 target audience).
Changed lines 35-36 from:
(Yes, Python reads like Java pseudocode. And yes, '''Google''' uses it exclusively.)
to:
(Yes, Python reads like Java pseudocode. And, if you know Java, you already know Python.)
Changed lines 44-45 from:
"A programmer can be significantly more productive in Python than in Java. How much more productive? The most widely accepted estimate is 5-10 times. ... Of course, programming languages are tools, and different tools are appropriate for different jobs."
to:
"'''A programmer can be significantly more productive in Python than in Java. How much more productive? The most widely accepted estimate is 5-10 times'''. ... Of course, programming languages are tools, and different tools are appropriate for different jobs."
Changed lines 60-61 from:
"It takes an earth-shaking experience - like learning a different kind of language - to cause a re-evaluation of beliefs."
to:
"'''It takes an earth-shaking experience - like learning a different kind of language - to cause a re-evaluation of beliefs'''."
Changed lines 64-65 from:
This became a puzzle to me: if strong static type checking is so important, why are people able to build big, complex Python programs (with much shorter time and effort than the strong static counterparts) without the disaster that I was so sure would ensue?"
to:
'''This became a puzzle to me: if strong static type checking is so important, why are people able to build big, complex Python programs (with much shorter time and effort than the strong static counterparts) without the disaster that I was so sure would ensue?"'''
Changed lines 71-74 from:
Similarly to Java, Python is strongly typed. The confusion is that Java attempts to do *static* strong typing, whereas Python does *dynamic* strong typing (or latent typing).

Python's conceptual model is simpler: all type checks are done at runtime. Simpler does not necessarily mean simplistic. (Like our Macs.)
to:
'''Similarly to Java, Python is strongly typed. The confusion is that Java attempts to do *static* strong typing, whereas Python does *dynamic* strong typing (or latent typing).
'''

'''Python'
s conceptual model is simpler: all type checks are done at runtime. Simpler does not necessarily mean simplistic.''' (Like our Macs.)
Changed line 103 from:
Of course, the world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java, it is really easy to discount this significant correlation.
to:
Of course, the world is too complex to believe that dropping enrollments can be attributed to a single factor.
Changed lines 82-83 from:
There are various hypotheses about dropping enrollments in CS (dot-com bust, outsourcing, etc.). None is supported by any quantitative data.
to:
There are various hypotheses about dropping enrollments in CS (dot-com bust, outsourcing, etc.)... and for the around-the-corner increasing enrollments (e.g., Google's acquisition of YouTube).

None is supported by any quantitative data.
Changed lines 94-98 from:
There is a correlation. Is there a causal relationship? I suspect there is.

Java is an industrial strength language. It's hard to master (even for faculty). CS intro books have gotten thicker (not with concepts, but mainly with syntax). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).

Of course, the world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java
, it is really easy to discount this correlation.
to:
There is a correlation. But what about a causal relationship? Hard to tell... Here are some supporting thoughts:

Java is an industrial strength language. It's hard to master (even for faculty). CS intro books have gotten thicker (not with concepts, but mainly with syntax). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).

A similar argument can be made for Unix. How many departments use it as the platform of choice for CS1? Why not?

Of course
, the world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java, it is really easy to discount this significant correlation.
Changed lines 80-81 from:
!!Interesting Observation
to:
!!Interesting Correlation
Changed lines 37-38 from:
Here is a quick tutorial [[http://www.hetland.org/python/instant-python.php | for programmers]] (and [[http://www.hetland.org/python/instant-hacking.php | for non-programmers]]).
to:
Here is a quick tutorial [[http://www.hetland.org/python/instant-python.php | for programmers]] (and one [[http://www.hetland.org/python/instant-hacking.php | for non-programmers]]).
Changed lines 20-21 from:
Consider how much effort it takes to explain the code samples to student who have no programming experience.
to:
Consider how much effort it takes to explain the code samples to students with no previous programming experience (our CS1 target audience).
Changed lines 29-30 from:
Consider how much effort it takes to explain the code samples to student who have no programming experience.
to:
Consider how much effort it takes to explain the code samples to students with no previous programming experience (our CS1 target audience).
Changed lines 92-96 from:
There is a clear correlation. Is there a causal relationship? Perhaps...

Java is an industrial strength language. It's hard to master (even for faculty). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).

Of course, the world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java, it is really easy to discount this correlation. Should we?
to:
There is a correlation. Is there a causal relationship? I suspect there is.

Java is an industrial strength language. It's hard to master (even for faculty). CS intro books have gotten thicker (not with concepts, but mainly with syntax). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).

Of course, the world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java, it is really easy to discount this correlation.
Changed lines 84-87 from:
Here is an interesting observation: Look at when Java became popular as a first language. How does it compare with when we started loosing students?

Java is an industrial strength language. It's hard to master (even for faculty). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).
to:
Here is an interesting observation: Look at when Java became popular as a first language.
Changed lines 88-89 from:
The world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java, we may have overlooked the effect that Java (and OO) had on intro enrollments.
to:
How does this compare with when we started loosing students?

http://www
.cra.org/CRN/articles/may05/vegso

There is a clear correlation. Is there a causal relationship? Perhaps...

Java is an industrial strength language. It's hard to master (even for faculty)
. Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).

Of course, the world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java, it is really easy to discount this correlation. Should we?
Changed lines 82-83 from:
There are various hypotheses about dropping enrollments in CS (dot-com bust, outsourcing, etc.). None is supported by any quanititative data.
to:
There are various hypotheses about dropping enrollments in CS (dot-com bust, outsourcing, etc.). None is supported by any quantitative data.
Deleted line 78:
Changed lines 82-83 from:
There are various hypotheses about dropping enrollments in CS. None is supported by any quanititative data.
to:
There are various hypotheses about dropping enrollments in CS (dot-com bust, outsourcing, etc.). None is supported by any quanititative data.
Changed lines 86-87 from:
Java is an industrial strength language. It's hard to master (even for faculty). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO). We assumed the problem was OO... could it have been Java?
to:
Java is an industrial strength language. It's hard to master (even for faculty). Certainly our own experience here at CofC is that we started loosing students from other departments when we moved to Java (and OO).
Added lines 90-91:
The world is too complex to believe that dropping enrollments can be attributed to a single factor. However, with all the hype and industry support behind Java, we may have overlooked the effect that Java (and OO) had on intro enrollments.