Hi, I'm Ira Pohl, Professor at the University of
California, Santa Cruz, and I'm going to be
your instructor for C++ for C Programmers.
You're going to learn a lot about programming
in C++ in this class but I'm going to expect
background from you.
So, the background that I'm expecting is as
the title suggests you should be already a
C programmer.
You could have equivalent experience in another
language if you can rapidly learn the basics
of C.
So, roughly speaking that's 1 year of serious
programming.
Now, the other thing I need from you is that
you have background consistent with one year
of being a computer science major.
This generally involves knowing some basic
algorithms and we're going to be dealing with
some graph theory algorithms such as the � algorithm,
knowing how to implement such algorithms and
knowing basic data structures for algorithms
like that � you need to know about things
like graphs and how properly to implement
graphs.
Now, if you have that background, you're going
to learn some very neat things.
C++ itself is a very complicated language
and heavy use in industry.
By the end of this class you should have a
skillset that would let you work in a group
that require C++ background.
What's that going to involve?
One topic is generic programming.
Generic programming as implemented in C++
with the template construct lets you write
high quality, highly efficient reusable code.
So, all those things we're going to learn
about, we're going to learn how to do.
Furthermore, you're going to learn complicated
parts of the language.
So, as I said, C++ is used by sophisticated
professionals.
There is a lot of esoteric.
Now, that doesn't mean you should use everything
necessary.
So, I'll also try to go over good practice
versus bad practice in C++.
Finally, our current project is going to be
interesting in its own right.
It's going to be a project in building an
intelligent game playing program, a game playing
program that uses AI.
The game we're going to use is Hex.
Hex is a game that was invented by the mathematician
John Nash in the 1950s.
John Nash you might remember was featured
in a movie "The Beautiful Mind".
Now, Hex itself is a tic-tac-toe like game,
so its rules are fairly simple but the game
itself is still played by serious players.
So, it's not reducible to some simple I-go-here you-go-there like tic-tac-toe and we'll
learn how to as I say use an AI to play the
game intelligently.
As with any programming course, the benefit
will be in proportion to how much you program.
You will have a number of programming assignments
leading up to the class project the hex game.
So, that will involve significant amount of
work for you but that's the way you'll learn
to program.
Well, I look forward to having you enrolled
in this class.
