click here to download....................
This book has been designed to serve as a textbook for three types of courses:
• Algorithm courses focusing on programming.
• Programming courses focusing on algorithms.
• Elective courses designed to train students to participate in competitions such
as the Association for Computing Machinery (ACM) International Collegiate
Programming Contest and the International Olympiad in Informatics.
Such courses can be a lot of fun for all involved. Students are easily motivated by
the thrill of competition, and get positive feedback each time the judge accepts their
solution. The most obvious algorithm may result in a “Time Limit Exceeded” message
from the judge, thus motivating a search for efficiency. The correct insight can make for
a dozen-line program instead of a huge mass of code. The best students will be inspired
to try extra problems just for kicks.
Such courses are fun to teach, too. Many problems are quite clever, putting a fresh
face on standard topics in programming and algorithms. Finding the best solution
requires insight and inspiration. It is exciting to figure out the right way to do each of
the problems, and even more exciting when the students figure it out for themselves.
Pedagogical features of this book include:
• Algorithm courses focusing on programming.
• Programming courses focusing on algorithms.
• Elective courses designed to train students to participate in competitions such
as the Association for Computing Machinery (ACM) International Collegiate
Programming Contest and the International Olympiad in Informatics.
Such courses can be a lot of fun for all involved. Students are easily motivated by
the thrill of competition, and get positive feedback each time the judge accepts their
solution. The most obvious algorithm may result in a “Time Limit Exceeded” message
from the judge, thus motivating a search for efficiency. The correct insight can make for
a dozen-line program instead of a huge mass of code. The best students will be inspired
to try extra problems just for kicks.
Such courses are fun to teach, too. Many problems are quite clever, putting a fresh
face on standard topics in programming and algorithms. Finding the best solution
requires insight and inspiration. It is exciting to figure out the right way to do each of
the problems, and even more exciting when the students figure it out for themselves.
Pedagogical features of this book include:
different goals in mind:
• Pascal — The most popular educational programming language of the 1980s,
Pascal was designed to encourage good structured-programming habits. Its popularity
has eroded almost to the point of extinction, but it retains a foothold in
high schools and in Eastern Europe.
• C — The original language of the UNIX operating system, C was designed to
provide experienced programmers with the power to do whatever needs to be
done. This includes the power to hang yourself by invalid pointer references and
invalid type casting. Developments in object-oriented programming during the
1990s lead to the new and improved. . .
• C++ — The first commercially successful object-oriented language pulled off
the neat trick of maintaining backward compatibility with C while incorporating
new data abstraction and inheritance mechanisms. C++ became the primary
programming language for teaching and industry during the mid-to-late 1990s,
but now it looks over its shoulder at. . .
• Java — Designed as a language to support mobile programs, Java has special
security mechanisms to avoid common programmer errors such as array out-ofbounds
violations and illegal pointer access. It is a full-featured programming
language which can do everything the others can and more.
• Pascal — The most popular educational programming language of the 1980s,
Pascal was designed to encourage good structured-programming habits. Its popularity
has eroded almost to the point of extinction, but it retains a foothold in
high schools and in Eastern Europe.
• C — The original language of the UNIX operating system, C was designed to
provide experienced programmers with the power to do whatever needs to be
done. This includes the power to hang yourself by invalid pointer references and
invalid type casting. Developments in object-oriented programming during the
1990s lead to the new and improved. . .
• C++ — The first commercially successful object-oriented language pulled off
the neat trick of maintaining backward compatibility with C while incorporating
new data abstraction and inheritance mechanisms. C++ became the primary
programming language for teaching and industry during the mid-to-late 1990s,
but now it looks over its shoulder at. . .
• Java — Designed as a language to support mobile programs, Java has special
security mechanisms to avoid common programmer errors such as array out-ofbounds
violations and illegal pointer access. It is a full-featured programming
language which can do everything the others can and more.
No comments:
Post a Comment