patternMinor
what would be the drawbacks of lecturing two programming languages simultaneously?
Viewed 0 times
thelecturingwhatlanguagesprogrammingwouldtwosimultaneouslydrawbacks
Problem
One colleage came with the idea/comment that it would be useful to lecture two programming languages, eg. Java and Scheme, at the same time while lecturing an Introduction to Programming course aimed for first term undergraduates.
I have my doubts that approach could stuck some students in learning the syntax of the programming language instead of the logic on how-to-program. Also I believe that some of them will get in their minds that Computer Science careers are equal to being a hardcore software developer.
While I have found some academic references about the last point I mentioned (that CS!=programming), I have not found any academic sustainable research that could prove wrong to teach two programming languages for an initial course, apart of discussions of lecturers against that idea in public forums. In ACM there is a paper in which they tried to lecture Python and Java at the same time, but the authors make so many assumptions and also mention a lot of pitfalls on their research, that I hardly believe it is a good article to be based on.
Has anybody found or read any article that mentions the advantages/disadvantages of that approach?
I have my doubts that approach could stuck some students in learning the syntax of the programming language instead of the logic on how-to-program. Also I believe that some of them will get in their minds that Computer Science careers are equal to being a hardcore software developer.
While I have found some academic references about the last point I mentioned (that CS!=programming), I have not found any academic sustainable research that could prove wrong to teach two programming languages for an initial course, apart of discussions of lecturers against that idea in public forums. In ACM there is a paper in which they tried to lecture Python and Java at the same time, but the authors make so many assumptions and also mention a lot of pitfalls on their research, that I hardly believe it is a good article to be based on.
Has anybody found or read any article that mentions the advantages/disadvantages of that approach?
Solution
Avoid technical minutiae at all costs. Devote your focus to the big concepts you want to teach. I understand the desire to make the point that there is an underlying similarity between all programming languages, but I (personally) don't think the first course is the place to make that point. Rather, I would focus on problem solving using real-life applications.
I don't have any references to studies that would confirm or refute your specific hypothesis.
Here is an article by Lenore Blum (CMU) on what CMU has done to increase women's enrollment in computer science. CMU's experience with their introductory classes is discussed on page 8.
http://www.cs.cmu.edu/~lblum/PAPERS/women_in_computer_science.pdf
And here are several newspaper articles about the changes they have been making at Tufts and Harvey Mudd (both of which have had significant increases in the number of women graduating from their CS programs.)
http://www.boston.com/news/education/higher/articles/2005/12/18/in_computer_science_a_growing_gender_gap/
http://www.nytimes.com/2012/04/03/science/giving-women-the-access-code.html
Here are several analogies that come to mind. See if you think any of them make any sense.
"We are going to teach Physics 101 by alternating lectures between MKS and cgs (or British Imperial Units). This will open the students minds to thinking more abstractly."
"We are going to be teaching our high-school students driving safety by having them drive a variety of different vehicles, including a sports car with a manual transmission, a large moving van with an automatic transmission, and an off-road four-wheel drive pickup truck. This is the only way we can get them to generalize the basic safety concepts from one vehicle to another."
"We've got a group of exchange students arriving from southeast asia that speak very little english. So we're going to teach their intro calculus class half in German and half in Russian, since so much of the research literature from the early 20th century is in those two languages."
"I'm going to post a few of your assignments on the web. But I'll also send a few to your university email address. And you should friend me on Facebook and follow me on Twitter and Instagram, because I'll post at least one of your assignments on each of those platforms. You need to learn these technologies sooner or later, so better sooner than later!"
"By the time a student graduates they need to be proficient at touch-typing on a keyboard. But we're not a vocational school, we're a university, so we're going to teach the foundations of touch-typing. Thus we alternate classes between the traditional QWERTY keyboard and the Dvorak layout, because we want the students to focus on the principles, not the details of one keyboard or another."
I don't have any references to studies that would confirm or refute your specific hypothesis.
Here is an article by Lenore Blum (CMU) on what CMU has done to increase women's enrollment in computer science. CMU's experience with their introductory classes is discussed on page 8.
http://www.cs.cmu.edu/~lblum/PAPERS/women_in_computer_science.pdf
And here are several newspaper articles about the changes they have been making at Tufts and Harvey Mudd (both of which have had significant increases in the number of women graduating from their CS programs.)
http://www.boston.com/news/education/higher/articles/2005/12/18/in_computer_science_a_growing_gender_gap/
http://www.nytimes.com/2012/04/03/science/giving-women-the-access-code.html
Here are several analogies that come to mind. See if you think any of them make any sense.
"We are going to teach Physics 101 by alternating lectures between MKS and cgs (or British Imperial Units). This will open the students minds to thinking more abstractly."
"We are going to be teaching our high-school students driving safety by having them drive a variety of different vehicles, including a sports car with a manual transmission, a large moving van with an automatic transmission, and an off-road four-wheel drive pickup truck. This is the only way we can get them to generalize the basic safety concepts from one vehicle to another."
"We've got a group of exchange students arriving from southeast asia that speak very little english. So we're going to teach their intro calculus class half in German and half in Russian, since so much of the research literature from the early 20th century is in those two languages."
"I'm going to post a few of your assignments on the web. But I'll also send a few to your university email address. And you should friend me on Facebook and follow me on Twitter and Instagram, because I'll post at least one of your assignments on each of those platforms. You need to learn these technologies sooner or later, so better sooner than later!"
"By the time a student graduates they need to be proficient at touch-typing on a keyboard. But we're not a vocational school, we're a university, so we're going to teach the foundations of touch-typing. Thus we alternate classes between the traditional QWERTY keyboard and the Dvorak layout, because we want the students to focus on the principles, not the details of one keyboard or another."
Context
StackExchange Computer Science Q#29193, answer score: 5
Revisions (0)
No revisions yet.