This brief survey gathers information on your background and
perceptions of programming and programming languages. People often
struggle to learn material that contradicts their existing beliefs
about related concepts. I therefore want to understand what you
already know/believe about programming and languages in order to
target parts of the class accordingly.
The survey should take about 15-20 minutes to complete.>
Answers to all questions are required with the exception of one
marked as "[optional]".
First Name/Preferred Nickname:
What excites you about computer science? (i.e.: what areas, why
are you taking CS?, etc)
Where did you first learn to program?
What's the largest program (in terms of number of lines) that
you've written in each of the following languages?
Do you program outside of your classes?
If yes, describe what kinds of programs you write (i.e.,
large-scale commercial software, embedded system controllers, small
scripts, games, web applications, etc)
How confident are you in your programming skills? (assuming you had to
write a 100-line program from scratch and without help)
How confident are you in your skills in approaching open-ended problems?
Have you ever written any HTML?
No, but I know what HTML is
I don't know what HTML is
Have you ever written a CGI (web) script?
No, but I know what CGI is
I don't know what CGI is
What, if anything, do you wish you knew more about regarding
programming languages? [optional]
If you are unfamiliar with the terminology in the later questions,
select the "not sure what these terms mean" option.
All real modern programming is done in object-oriented languages.
From a programmer's perspective, all programming languages are
Programming is largely a trial-and-error activity---you just have to
keep fiddling around with the program until it works.
If a programming language were truly useful, then a large company
(like Microsoft) would write a lot of their code in it.
The more lines of code a program contains, the more complicated the
task that it performs.
Efficiency is the most important attribute of a programming language.
If you disagreed, what other attributes do you consider at least as
It is important to know whether a language is interpreted or
Not sure what
these terms mean
If you agreed or disagreed, explain why
Manual memory management is usually preferable to garbage collection.
Not sure what these terms mean
What are procedures/functions used for in programming? (i.e.:
when do you use them in a program, why do languages provide them,
A "no binding for field ..." message when you submit mean that you
failed to choose an option for one of the multiple-choice questions.
If you get such a message, use the back button to come back to this
page and continue.