It indeed seems that there is no consensus over
what is a good language to start studying computer
I think that almost any language will do when only
the basic things are taught. On the page
I provide about 100 simple programs written with four
different languages. If a student studies, say,
the Java programs, he or she should be able to easily
move to other languages by using different program
Another important question is that what a student
should know before he or she starts studying
computer programming. I think it is important to
understand how a COMPUTER works before one starts
studying COMPUTER programming. To study the basics
of computing, I provide a very simple computer at
With this simple computer it is possible, in less than
10 hours, to explain
- how the main memory works
- how machine instructions are executed
- what compilation means
- why high-level languages should be favored
We have been teaching this computer at our school
for three years before the actual programming courses.
Most students think that it is a useful tool.
Later on I hope to be able to provide more accurate
data concerning how the ability to understand this
imaginary computer corresponds with the ability to
become a good programmer.
School of Engineering
Oulu University of Applied Sciences, Finland
Bennett Kankuzi wrote:
Many thanks to everyone for taking your time to air out your views on
the question I had posted on the forum. For now I will use C since the
students will need to learn the art of problem solving but most
importantly they also need to learn the basics of programming like
data types, looping constructs, pointers etc. My hope is that later
on they shall be able to transfer this basic programming knowledge in
learning other languages like Java and C++.
I must also say that from what I get across this thread of discussion,
Scheme and Python seem also to be good alternatives. I will definitely
try them in the forthcoming semesters. I have done a bit of
programming in Python and PERL on a Unix system but not yet tried
Scheme although it seems to be a very good alternative.
Once again many thanks for the insights!
2009/4/6 Walter Milner <w.w.mil...@bham.ac.uk>:
A question to the OP: is it true that the choice must be between C, C++
and Java? Or might other languages be considered?
From: Jay McCarthy [mailto:jay.mccar...@gmail.com]
Sent: 06 April 2009 13:21
To: Bennett Kankuzi
Subject: Re: Choice of introductory programming language to a freshman
I've had a lot of success using the How to Design Programs textbook
(http://www.htdp.org/), which uses a series of Scheme-based languages
explicitly designed for beginners. The TeachScheme, ReachJava!
(http://www.teach-scheme.org/) curriculum uses this book in a
two-semester sequence where students learn programming in the first
semester with HtDP and these Scheme-derived languages, then transition
to Java and objects in the second semester.
I'm happy to provide additional help getting you running in this
curriculum if you'd like.
Jay McCarthy <j...@cs.byu.edu>
Assistant Professor / Brigham Young University
"The glory of God is Intelligence" - D&C 93