Re: Overhead sheets / P*Point

[email protected] (Tim Maher/CONSULTIX)
Newsgroups perl.trainers
Message-ID <[email protected]>
On Wed, Dec 01, 1999 at 09:41:41AM +0100, Johan Vromans wrote:

> What are your ideas about projection materials? In earlier days, I
> used overhead sheets, but nowadays I present the sheets using
> Ghostview or Acrobat Reader, using a beamer.
> One advantage of the beamer is that I can instantly switch to a
> terminal or emacs window to show additional things.
> Disadvantage is that customers sometimes have very bad beamers (I
> teach on-site).
> 
> Currently, I'm considering to migrate to the Portable Presenter, so I
> can show the sheets using Perl-only tools.
> 
> -- Johan

My mainstay is the venerable "Overhead Projector", used to project
pre-formatted vu-graphs (of which students are given paper copies)
and spontaneously generated scribbling.  Among many other advantages
(listed below), this approach permits modification of the projected
image (by writing on it with an erasable pen), or overlaying images
by super-positioning one vu-graph over another.  Also, it permits
"progressive revelation" through use of a moving "mask" (I use the
card-stock I supply for the student's "name tents"), to focus the
students' attention on particular regions of the projected page.

I find a white-board based approach distinctly inferior, for
innumerable reasons.

For example, if I'm going to show a Perl operator precedence table,
I'd probably leave out an operator if I tried to scribble the list
from memory on a white-board.  If I were to show a program on the
white-board, I'd probably leave out a semicolon or a parenthesis (at
the very least), but the students would dutifully copy it verbatim
and expect it to be correct.  And if I'm going to depend on notes
to prevent these kinds of mistakes, it's better to just project the
notes than transcribe them.!

For transmitting highly technical information like this, the only
factors I can see recommending the white-board approach are that it
takes less preparation time (no vu-graphs to compose) costs less (no
vu-graphs to buy, "burn", or reproduce for the student workbooks),
and it's probably safer for the environment, since you just consume
inky chemicals (and generate irritating ink-flakes) rather than
stimulating the manufacture of large quantities of plastic products.

For spontaneous "scribbling", the OHP still beats the white-board,
because I can project larger letters than I could efficiently use on
a white-board, and shift the sheet upwards to "scroll" a long page
across the screen.  I can also do "mylar overlays", to illustrate
OO inheritance, among other things.  Moreover, if I end up writing
something that will be beneficial for later viewing (to revisit an
issue later in the class or to show to the next class), I can grab
the scribbled vu-graph out of my stack and display it again later.
Finally, if I end up scribbling something very memorable on the
vu-graph, I can photocopy it for distribution to all the students.

Actually, even when I need to draw a non-trivial diagram during a class
break that I want to photocopy for the students, I always do it on a
vu-graph, because it's much easier to erase and correct my mistakes
there than it would be on paper!

Not bad for 1950's technology, IMHO!

I enjoy using a "data projector" (which is what I assume our
European friends are calling a "beamer) when available, but as a
lecture-delivery tool, I find it inferior to the OHP (for reasons
mentioned above). Also, for the same reason that I order beer rather
than wine when traveling, I can always expect the OHP at a customer's
site to be half decent, but there are some really miserable excuses
for "data projectors" out there that cannot be used with reasonable
room lighting or with generic OHPs (LCD overlay panels).

But there are definitely times when there's no substitute for
broadcasting live screen images.  A technique I frequently use to
let students watch me type or display a program while I talk them
through it is to project my shell window onto their screens, using
a combination of UNIX shell scripts.  Because my technique uses a
shell surrounded by pipes, you can't run VI or use Korn shell command
editing, but after some practice you can learn to work around those
limitations (for example, by doing command-editing in a different
shell window that shares the same history file, and then retrieving
the composed command from the "projected" window).

You can't beat this approach for portability and price, and it's
really very useful when you get a bad "data projector"!

I got the idea for my technique from a "Bourne Shell Programming'
course I used to teach to Bell System employees, which showed a
simple pipeline:
	tee -a file | sh -i | tee -a
as the (pre- "script-command" days) solution for logging a
terminal session in a file.

Here are my scripts:

#! /bin/sh
# Tim Maher, Consultix (206) 781-UNIX
# watch
# program to watch what teacher is doing via "show" command

# NOTE: if .teacher.log file is in NFS-mounted partition,
#	requires mounting with -noac (no attribute cacheing)
#	or else tail doesn't notice new material in file

: ${SHOWDIR:=/class}

# Initial tail command is to help students who run watch after
#  teacher's screen already sent out catch up with current display

tail -24 $SHOWDIR/.teacher.log | head -13
exec tail -f  $SHOWDIR/.teacher.log

#! /bin/ksh
# show
# Tim Maher, [email protected] (206) 781-UNIX
# program to allow teacher's terminal session to be viewed by students
#  by tail -f on log file, implemented by "watch" script
# For example, teacher types "show", students type "watch",
#  and the teacher's stuff appears on the students' screens

set -a
SHELL=ksh
SHOWDIR=/class
EDITOR=ex	# won't be able to use VI from this mode
PAGER=cat	# cannot use more either
# Comment-out following line when all students have same TERM as show-er
# TERM=dumb	# to prevent tput from showing my TERM-sequences to students
test -n "$TERM" -a "$TERM" != 'dumb' && ON=`tput smso`  && OFF=`tput rmso`

# Due to problems in running certain utilities in this environment,
# a startup script like the following is used by the ksh command in the
# show pipeline.

cat > $SHOWDIR/.showrc <<'EOF'
# .showrc: for use with Tim's "show" program
# this is the ENV script for use with the "show" command,
# used by Tim Maher to show students what's happening on my screen
# In this mode, I cannot run raw-mode programs like vi or more, or 
# the terminal hangs!  Embarrassing during demos! 8-}
case "$-" in
*i*)
	alias show="echo You're already running show!"
	alias nl='nl -ba '
	alias vi="${EDITOR:?}"
	alias more=cat
	alias ls='ls -C'
	alias watch='tim_cannot_run_watch!'

	# students might have different clearing sequence that me,
	# so do it old-fashioned way (assuming 24 line screen)
	alias clear='i=1;while test $i -lt 24; do echo; i=$i+1; done'

	# tell students what to do next when teacher's program exits
	trap  ' 
	echo "${CR}${ON}Press ^C now to regain the use of your terminal$OFF$CR"
	' 0 1 2 3 15
;;
esac
CR='
'	# don't mess with this line or one above
EOF

# ** AND NOW FOR THE REAL MEAT OF THE PROGRAM! **

# WARNING: ^D from show'ers keyboard will kill this program!
# NOTE: On some systems, both tees shouldn't have -a; experiment!
tee -a $SHOWDIR/.teacher.log  |
	ENV=$SHOWDIR/.showrc  PS1='! $PWD logging$  ' $SHELL -i 2>&1 | 
		tee -a  $SHOWDIR/.teacher.log 

Enjoy! 8-}

*============================================================*
| Tim Maher, PhD  Consultix &   (206) 781-UNIX/8649          |
|  Pacific Software Gurus, Inc  Email: [email protected] |
|  UNIX/Linux & Perl Training   http://www.consultix-inc.com |
|Classes: 12/7 UNIX Fund; 12/13 Perl+Modules; 1/18 Int. Perl |
*============================================================*
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.