Course
Description:
Programming languages are a key component of all aspects
of computer science. As with natural languages, our
ability to express ideas is limited by the language
that we use. In this course we start with language concepts
that you think you understand very well, and show you
that they are much more complex than you think. This
includes concepts like variables, loops, arrays, parameters,
and pointers. Not only do we dig deeper into these concepts,
but we look at languages that take very different approaches
than the ones you’ve seen in Java and C++. This
expands your ability to think about how to solve problems
and adds to the set of languages that you can choose.
What makes one programming language different than another?
What aspects of languages allow them to be grouped into
categories of similar languages? What is the difference
between an object-oriented language and a functional
language? What kinds of problems are logic-oriented
languages best suited to solve? What type of language
should you use to write an artificial intelligence application?
These
and many other burning questions will be answered in
this course. You will experience programming in lesser
known languages such as Smalltalk, Snobol, Lisp, and
others.
This course is guaranteed to expand your mind and increase
your understanding of how computing is done.
Offerings:
Offered fall semester in even numbered years.
Instructor:
This course is usually taught by all computer science faculty.
Prerequisites:
CSCI 112 or 114, CSCI 235, CSCI 241 and CSCI
260. See the department
policy on prerequisites.
Comments
from Previous Students:
- "Essentially taught me how to learn new languages.
I found that after this course, I could pick up new
languages and concepts with much more ease than before."
- "Glad for the exposure to lots of languages."
- "The constantly switching topics made this
class interesting."
Catalog
Description:
This course introduces
the basic concepts of imperative and object-oriented
programming languages including control structures,
data aggregates, and procedural abstraction. Scripting
languages will be examined as examples of these principles.
Prerequisites: Computer Science 112 or 114, 235, 241, and 260. Offered odd years.
Four Credits Staff Fall Semester
|