Prior programming/coding experience can be helpful, but is
definitely not necessary for this course (in a few cases it
has even been a hindrance!). But if you have never
created your own computer program, how can you know that this
course is right for you? Consider the following
questions:
- Are you deeply curious about how computers can be
made to simulate human behavior, even though we will not
be building a robot or making an animated film?
- Are you curious as well about how a computer
simulation can generate sensible, human-like behavior even
though that behavior is not explicitly written into the
coded?
- Do you enjoy challenging puzzles and games (e.g.,
crosswords, sudoku, chess), and when working on them do
you find yourself wanting to stick with it until you have
discovered the solution?
- Do you have the patience to learn the essential
building blocks of the programming language (i.e., its
vocabulary, syntax, and grammar) during the first half of
the semester so that you can use those building blocks
later during the second half in order to solve the
numerous puzzles involved in creating a simulation?
- Are you looking for a course that will teach you a
unique skill that you can list on your resumé to make it
stand apart from others in the eyes of potential employers
and/or graduate programs?
- Are you looking to gain a skill—and a way of
thinking—that can be applied in a wide range of academic
settings, jobs, and careers after graduation?
If you can honestly answer YES to the majority of these
questions, then this course may be a good fit for you.
Creating a computer simulation is basically a process of
solving a series puzzles—figuring out how the various pieces
of the programming language learned during the first half of
the semester can be put together in novel ways to get the
computer to do what you want it to do as you create your
simulation during the second half of the semester.