Computer Science is a Science
That’s something Mackey used to always say at UCSC, and I think I remember Louden saying it at SJSU too. Mackey taught CMPS12B which was sorta the wake up call/filter for all the CS majors at UCSC. The class jumped really heavily into Unix and software development tools like Makefiles and version control.
Mackey generally had no web page for his course information (notes, examples, and assignments) was in a folder on the AFS server. He wrote everything in either plain text or roff. For printing he would pass the text files through enscript. I learned how to make a man page using roff during the class too.
Oh and one of the things I liked the most was that he doesn’t accept MIME/HTML email. He has an autoreply telling you about the horrible butchering of SMTP and spreading of viruses using such things causes.
Anyway so the point is a billion new foreign things are being introduced to the students. And although he provided really great examples, that were real examples, I mean stuff you would really use not just toy code, many students were still asking for help. What does this program do? How do you use it? What happens with this input?
And his repsonse. Computer Science is a Science. Go try it out. Write a test program. Write some test input to poke at it and see what the pattern of the programs behavior is.
I don’t actually know what other scientists do. But I think this is really the best way to learn computer science stuff. If someone just tells it to you, or you just read it, it never really makes sense to you. You are never really paying attention. Go out and actually type and run the programs yourself.