Fall 2009
Latest news
HW 1 is posted (28 Aug. 2009)
Lab 1 is posted (1 Sept. 2009)
HW 2 is posted (6 Sept. 2009)
HW 3 is posted (16 Sept. 2009)
Lab 2 is posted (16 Sept. 2009)
HW 4 is posted (29 Sept. 2009)
Lab 3 is posted (29 Sept. 2009)
Sample data file for labs 2 and 3 has been placed on aala0895 (29 Sept. 2009)
Midterm 1 study guide posted (7 Oct. 2009)
HW 5 is posted (20 Oct. 2009)
Lab 4 is posted (20 Oct. 2009)
HW 6 is posted (2 Nov. 2009)
HW 7 is posted (3 Nov. 2009)
Lab 5 is posted (17 Nov. 2009) Updated (18 Nov. 2009)
Class management
The lecture notes for the class are available at Maple Press (San Carlos between 10th and 11th).
Lab information
This class will use the Linux lab in E206.
There is an easy-to-use account management page for the Linux systems (https://unix.engr.sjsu.edu).
Note: this is not accessible from the campus wireless network or from off-campus systems.
In order to access the Linux systems, you will need a SSH client. The recommended one is obtainable from http://www.chiark.greenend.org.uk/~sgtatham/putty/.
You may also find it useful to use FTP. The recommended application is found at http://winscp.net/eng/download.php. Look under WinSCP 3.7.6 and click on Standalone application.
Students can (and should, unless they have a compelling reason not to) now connect to "ce.engr.sjsu.edu" as an ssh host, e.g.:
ssh myuser@ce.engr.sjsu.edu
When using putty you should connect to ce.engr.sjsu.edu
Lab problems?
Following the directions above, your login will be directed to the least loaded system in the pool. From time to time (usually on a Friday) the Linux lab is used for CmpE126 exams. Some systems are held reserved from the main pool for external users, but response may be a bit slow if the external load is heavy.
Sometimes after login your account information is not found. This is a path problem with the system you are logged in to. The easiest solution is just to log out and in again, since chances are you will be assigned to a different system next time.
It is also possible to log in to one particular system, but this is not recommended.
In extreme circumstances, such as following a campus power failure, external access may not work but your account may still be accessible from the CAD labs (e.g., E289 and E291). Please keep in mind that these labs are provided for the students registered in CAD courses; you should only use them if it does not inconvenience these students.
Homework
Group submissions of homework are permitted, up to 3 people. It is assumed that all the people whose names are on the submission have contributed equally to the solution. Quizzes, exams, etc. will be designed accordingly.
Homework must be turned in on the due date. Late submissions will not be accepted. If I am not available, the department office will accept and datestamp your submission.
Exams
Supplementary reading
I recommend that all students have a UNIX reference and a C and C++ language reference. You will find this useful for years to come. There are many such works available. I have no special recommendations.
Please let me know if any of these links have gone dead. They were all working as of January 2009.
Hard drives
- How hard disks work
- Hard Drives: Under the Hood
- http://www.storagereview.com/
- Video of hard drive in operation running with the top off. (I've had strange results trying to embed videos via the SJSU website, so it's just a link here.)
- Another video along the same lines.
- Video of Western Digital Raptor, 10000 RPM drive with a transparent cover.
- Eight minute video of a disassembled computer performing various operations.
- Some guy in Argentina (fanatico de computadoras obsoletas) destroys the low level formatting on a hard drive with a magnet for our amusement.
- More fun with a hard drive and a magnet.
- Hard drives actually have pretty powerful magnets in them to operate the actuator.
- RAID
- RAID for Linux
- Hard drive speed limit is reached.
- Tiny drives set for space boost.
- Turn up the sound! (Flash animation) This is a bit like those old high school science movies. 30,000 hours of songs averaging 3 minutes in length legally downloaded for 99c apiece is going to cost me how much? And how much is 30,000 hours in months?
- Ryan has contributed these links to an on-line course "HDD INFO AND DATA RECOVERY":
Algorithms
- MPEG
- AVL trees
- Searching algorithm collection
- Sorting algorithm collection
- B-tree definition
- Introduction to B-trees
- B-tree algorithms explained in Portuguese
- Interactive B-tree
- B-tree algorithms Similar to the code in "Data Structures and Program Design in C" (Kruse, Leung & Tondo). I have come to the conclusion that reading this code is dangerous. Don't look at it. Stick to the Folk code. I leave the link here only so that you know what to avoid.
- Animated B-tree
- Info on various types of tree
- Animated heapsort
UNIX hints:
-
Tips from Dr. Barrett: Getting Started in the UNIX Lab.
-
Check out these very useful UNIX hints from Stanford.
- UNIX --The Mother of all Operating Systems!
- The Elements Of Style: UNIX As Literature
- Review of The Art of UNIX Programming
- vi reference Command summary.
- Another guide to the vi editor. "Vi makes one major philosophical deviation from every other text editor I have come in contact with."
- Mastering the VI
editor University of Hawaii at Manoa
Learn about vi while imagining that you're sitting under a palm tree on the beach. Probably the only online guide to vi that uses the word Humuhumunukunukuapua`a - A vi tutorial A UnixWorld tutorial on the vi/ex text editor.
- An introduction to the UNIX make utility
- Tutorial on Make
- the UNIX Reference Desk
C and C++:
- GNU information tree
- GNU C++ and C library names. Check here to get an idea which header file is likely to contain a particular function.
- C and C++ Style Guides. Includes the classic from Bell Labs
- GNU Coding Standards
gdb hints:
- Introduction to the gdb debugger
- Debugging with GDB, GNU documentation. This is the basis for the lecture material.
- gdb reference card
- Debugging with the gdb debugger
- GDB Quickstart
- Debugging "C" And "C++" Programs Using "gdb"
Disk drive history
History: This building, 99 Notre Dame St., San José, is
the site where the first magnetic disk drive was developed.
A historical marker was added a few years ago. 
- Hard-driving valley began 50 years ago
- Magnetic Disk Heritage Center
- Interview with disk pioneers
- A Tour of Processors From WWII Through the 70s
Practical applications of CMPE130 topics
- Metadata in the news.
- Hitachi celebrates the Golden Anniversary of the Hard Disk.
- A brief history of hard drives in pictures.
- Hot on the E-Trail of Evidence at Enron.
- 220 million files, 3300 CPUs.
- Stop. Pay toll. Download. MPEG-4 may not be free.
- Frederick P. Brooks' "The Mythical Man-Month," first published in 1975 and still in the news.
- Collecting obsolete tape drives used to be an eccentric hobby. But now that corporate lawsuits can hinge on unearthing ancient digital data, stocking up on funky hardware is good business.
- The Tourist Engineer. Just because you're on holiday doesn't mean you're not a geek.