Rochester Community and Technical College
  Mark Tompkin


UCR Homepage

Math / Comp Sci Dept Homepage

Your WebCT Login
  (quicker link)

Comp 1150

Computer Science Concepts

Comp 2243

Programming and Problem Solving (with Java)

Comp 2247

Algorithms and
Data Structures

Cool CompSci Links

About me ...

E-mail

Comp 2220

Programming Concepts
(with Visual Basic)

Cool CompSci Links page is under construction ... 
I'm open to all suggestions.  Tell me your favorites: mark.tompkin@roch.edu (or use WebCT e-mail if the URL is relevant to a particular course.)
Click here to return to my RCTC homepage.

Here are some things I've gathered so far:



Java and Object-Oriented Programming

top


Algorithms and Data Structures

top


Recursion

Good tutorial on recursion (link from fellow instructor Dan Nash):

http://www11.brinkster.com/erwnerve/recursion.htm

Another entertaining example of recursion can be found at the following link by scrolling down to Algorithm 5, "The Legend of the Cybert".

Here's a well-known image that illustrates the concept of self-reference by graphic artist M. C. Escher, "Drawing Hands" (courtesy of Mark Harden's Artchive).

An absorbing book by Douglas Hofstadter, "Gödel, Escher, Bach: an Eternal Golden Braid", explores recursion, self-reference, computational theory, and other hard subjects in a very artistic and whimsical way that makes them a lot of fun. (some good links)

top


Searching and Sorting

Superb sorting demos (applets), algorithms (java code) including some created by James Gosling, considered the "Father of Java" (this link courtesy of student Jeremiah Oeltjen):

http://www.cs.ubc.ca/spider/harrison/Java/sorting-demo.html

Another sorting analysis in Javascript (link from Dan Nash):

http://www.he.net/~mmahoney/sort/sort.html

Lloyd Allison's sort demos showing pivot elements (selection, insertion, quicksort, radix, etc.):

http://www.csse.monash.edu.au/~lloyd/tildeAlgDS/Sort/

top


Floating point number representation (COMP 1150 Chapter 1)

Here is a link to a good explanation on how to convert the fractional part of a decimal floating point number to a binary equivalent:

http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/binary.html

For a great demonstration of floating point representation in the IEEE-754 standard (32 and 64 bit), see:

http://babbage.cs.qc.edu/courses/cs341/IEEE-754.html

This converter allows you to enter a decimal floating point number and shows its hex and binary representations. Keep in mind that what this converter calls a significand is the same thing as a mantissa. (Note that unlike two's-complement integer values, you can't use the MS Windows Calculator accessory application to make decimal/hex/binary floating point conversions.)

I would be remiss as your teacher if I didn't also provide a link to "What Every Computer Scientist Should Know About Floating-Point Arithmetic" by David Goldberg, which is the most-cited text on this subject. (You need Acrobat Reader installed on your PC to read this link.)

top


Data Compression and Multi-media File formats (COMP 1150 Chapter 1)

Here's a very readable explanation of the most commonly used compression algorithm (Lempel-Ziv-Welch or LZW) from the October '89 issue of Dr. Dobbs Journal (with a compression/decompression illustration on a simple example string of characters):

http://dogma.net/markn/articles/lzw/lzw.htm

An excellent PowerPoint presentation on multi-media files and data compression created by Dr. Sheizaf Rafaeli can be found at:

http://gsob.haifa.ac.il/mis/PowerP/FIleCompressionFormats.ppt

(You will need the Microsoft PowerPoint viewer plug-in to view this file within your browser.) There are many good references links throughout this presentation for your further investigation.

wotsit.com (a compendium of file formats and their documentation)

top


Ethical Use of Technology

This Chronicle of Higher Education 10/02/02 article shows problems of Napster-like sharing:

Higher-Education Organizations Urge a Crackdown on Illegal File Sharing

Though general purpose electronic computers weren't available until after WWII, computational technology in the form of Hollerith (punched card) tabulation machines were produced by IBM and used by the Nazi's in Germany from 1933 till the party's demise in 1945. They used these machines for logistical and operational support of Nazi concentration camps where they carried out the mass genocide of the Holocaust:

  • Counted for Persecution
  • Review of Edwin Black's book "IBM and the Holocaust"
  • Interesting current-day implications of maintaining large databases of personal genetic information in Tom Wheeler's article, "IBM and the impending holocaust". (Note that this is the author's conjecture on the potential unethical use of a much more powerful technology than was available in WWII. It is not my opinion, but Mr. Wheeler's. I am not bashing IBM but instead, I'm trying to point out that we, as IT professionals, may be placed in positions where we have to make similar ethical decisions that have a profound impact on other people's lives.)

top


Odds and Ends

top


Software Developer Resources, Trade mags, Books, and Organizations

top


Other good collections of Computer Science links and resources

Get some Computer Science Heroes!!!
For excellent biographies of important computer scientists and mathematicians, nothing is better than MacTutor, Scotland's University of Saint Andrews School of Mathematics and Statistics biography index:

http://www-groups.dcs.st-andrews.ac.uk/~history/BiogIndex.html

Also:

top


Rochester Community & Technical College is a member of the University Center Rochester. 
Rochester Community and Technical College is an equal opportunity educator and employer.