Close

IM电竞体育投注

Today, we’re chatting with Iain Ferguson who – in addition to being IMACS’ senior curriculum developer for the computer science program – is the guy behind the sophisticated technology that runs our online computer programming classes .

Iain has taught these courses as well, and so brings with him the experience of having seen what works in the classroom and what doesn’t.

Q: Why does your Introduction to Computer Science course use the Scheme programming language? Isn’t the Advanced Placement exam in Java?

We start off with Scheme because it’s the most effective for helping students to understand the fundamental concepts of computer science that are common to all programming languages. And we’re not alone in this choice.

Graduates of the some of the top universities, including MIT, Yale, Princeton, Johns Hopkins, and UC Berkeley, were first taught to program in their freshman year using Scheme.

What we’ve found over 20 years of teaching this course is that if you throw a new student straight into Java, or whatever language the AP exam covers at the time, he or she can easily get mired in its complicated rules of syntax. If you simultaneously try to make a student learn the fundamentals, which are arguably more important, some of those fundamentals just won’t be understood, or they’ll be understood incorrectly. And so the students try to move on to more complicated programming assignments, and they’re hampered by a false understanding of the underlying abstract thinking.

Scheme’s syntax is simple and natural. So it takes our students very little time to pick it up.

They use their mental energy instead on developing a deep comprehension of the the abstract mathematical thinking involved in programming. Applying that way of thinking to concrete computer algorithms is then rather trivial for them.

Q: Beyond doing well on the AP exam, how do you know that this approach of teaching Scheme first is working?

We hear from a lot of our former students once they’ve gone on to university about how easy their classes are thanks to what and how they learned here.

One of my favorite stories is of a student named Erik who went to Virginia Tech. He was taking Computer Engineering in a class of about 600 students, and the first exam was designed to weed out about half of them. So Erik completed the test in 10 minutes with a perfect score.

The next day the professor called him in and accused him of cheating. Well, of course, he hadn’t cheated and when he said so, the professor gave him a similar question that was solved just as quickly.

Then the professor wanted to know how it was possible for a freshman to have such a deep understanding. Erik told him about learning to program with Scheme, and that was enough to convince the professor that not only had Erik not cheated but that he was also the strongest student in this class of 600.

Q: If Scheme is so beneficial, why don’t more high schools offer it?

Their resources are very limited, especially in this economic environment, and the demands on teachers’ time is rather significant. As with most university-level courses, it’s unrealistic to ask high schools to even consider putting resources towards preparing and teaching a class like this.

If you really want to do it at a high level, you need instructors with an extensive background in university-level computer science and extensive training in teaching advanced subjects to young adults. Plus you either have to develop the appropriate curriculum or find it and license it.

So you’re looking at a lot of time and expense, both of which are, unfortunately, in short supply at the typical high school.

Sounds like a guy who knows his stuff! What language did you use in your first computer programming class, and did it leave you with confusion or clarity?

友情链: IM体育软件~im体育 im体育平台_im国际体育app在线下载 | IM体育专家-im体育科技 - im国际体育手机登陆v4.1.27 Android 版 | im体育电竞足球_im体育下载苹果 _ im国际体育真人 | im电竞体育靠谱,im体育在线app官网-im国际体育代理网 | IM体育足球下载~im体育平台开户~im国际体育手机appv1.3.6 vivo版 | im体育App一百度百科 im体育app应用_im 体育手机登陆 | IM体育手机官网下载 im体育在线官网-im 体育平台总代理 |