Pointers and Memory
A silly but memorable 3 minute animated video demonstrating the basic structure,
techniques, and pitfalls of using pointers. There are separate versions
of the video for C, Java, C++, Pascal, and Ada. There is also a more traditional
text (below) that goes with the video, and a brief
history of how the video was made.
and examples as the video, and includes study questions with solutions.
Code is presented in C, Java, C++ and Pascal.
and memory. Can be used as an introduction, or as review for people who
mostly understand pointers. Mostly uses C, with some discussion of C++
and Java. The early sections introduce basic pointer concepts, while the
later sections discuss more advanced topics such as reference pointers
and dynamic arrays.
Lists and Trees
for building linked lists in C. Includes basic examples and sample problems
with solutions. Provides a basic understanding of linked lists and pointer
with solutions. The problems range from beginner, to intermediate, to advanced
— an excellent source of pointer algorithm problems.
of binary trees, and then works through a series of practice problems with
solution code in C/C++ and Java. Binary trees have an elegant recursive
structure, so they make a good introduction to recursive pointer algorithms.
is an advanced problem that uses linked lists, binary trees, and recursion.
Includes solution code in Java and C.
of the Perl language. Handy as an introduction or a quick reference.
of programming in C. Explains types, variables, operators, functions, control
constructs, arrays, pointers, strings, array/pointer trickery, and the
standard library functions. The coverage is complete, but quick, so it
is most appropriate for someone with some programming experience. (revised 4/2003)
in the compile-link-debug process. Introduces gcc, make, gdb, emacs, and
the shell. There should be enough information here to allow someone with
a little Unix experience to build and debug.
a game playing AI. A runnable version is included, along with sufficient
materials for people to attempt the project. Presented at the
Nifty Assignments Panel at SIG-CSE 2001