Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

How Would You Select a Textbook?

Cliff posted more than 9 years ago | from the select-the-lessons dept.

Education 116

benj_e asks: "I'm thinking about doing some adjunct teaching at a couple of local community colleges, and have the opportunity to choose the textbook for an online JavaScript class. In the training classes I've given in the corporate world, I didn't have the need to select a text - there were no textbooks for the software I was teaching students to use aside from the manual. I'm pretty sure I want something with WebCT or Blackboard content, but other than that I'm, well, clueless. So, for all you educators out there - how do you go about selecting a textbook? What goes into your decision making process?"

Sorry! There are no comments related to the filter you selected.

Use other peoples Ideas (2, Insightful)

neomage86 (690331) | more than 9 years ago | (#11722419)

Look at what other respected professors use (at other universities) and evaluate those options. They have massive resources at their disposal, so they should have made a good choice. You can then choose what best suits your particular teaching style.

Re:Use other peoples Ideas (3, Insightful)

RhettD (796537) | more than 9 years ago | (#11722696)

"Look at what other respected professors use (at other universities) and evaluate those options. They have massive resources at their disposal, so they should have made a good choice. You can then choose what best suits your particular teaching style." I'd be careful about this, while sometimes this is the case, other times the selection of a textbook for a course is more of a political matter. Textbooks are big business at the university level.

Re:Use other peoples Ideas (2, Insightful)

bbc (126005) | more than 9 years ago | (#11722757)

"Look at what other respected professors use (at other universities) and evaluate those options."

It is not uncommon for "respected" professors to push the books they themselves wrote onto unsuspecting students. It's a handy way to supplement their income.

Re:Use other peoples Ideas (5, Insightful)

graphicsguy (710710) | more than 9 years ago | (#11722928)

Bah! The parent is NOT insightful. If the professor wrote a book about the subject they are teaching, it would be absurd to use a different book. In fact, such books are generally developed from the course notes that the professor developed for teaching that very course.

So what does this mean? Sure, YOU might not agree that the book is the best one, but it is clearly the one the professor feels is best. That doesn't have to be about money at all. (it's more about tenure...)

Re:Use other peoples Ideas (1)

bbc (126005) | more than 9 years ago | (#11722984)

"Bah! The parent is NOT insightful. If the professor wrote a book about the subject they are teaching, it would be absurd to use a different book. In fact, such books are generally developed from the course notes that the professor developed for teaching that very course."

Ah well, such are the whims of the modding gods. The past few days I got modded troll over a very factual post, now I get modded insightful over an emotional one.

My reaction was based on the "respectful", which IMO tried to appeal to respect for authority. Although the fact that other teachers use a book may give you insight as to the usefulness of that book, that alone is not enough. As you yourself point out, such a book is the one a specific professor feels is the best. There is no reason to assume that therefore that book indeed is the best.

Re:Use other peoples Ideas (1)

graphicsguy (710710) | more than 9 years ago | (#11723154)

True enough.

Re:Use other peoples Ideas (0)

Anonymous Coward | more than 9 years ago | (#11733754)

then you are lucky and the profs that wrote the book were not simply trying to make more money, which is the standard in most colleges.

Re:Use other peoples Ideas (1)

graphicsguy (710710) | more than 9 years ago | (#11736100)

I call BS on this comment. Authors can only make any significant on a textbook if it adopted by many teachers across the country. Payment by their own class probably does not even pay for the time spent writing it.

Re:Use other peoples Ideas (1)

graphicsguy (710710) | more than 9 years ago | (#11736155)

Sorry for the bad grammer. But again, if you want to be synical about why professors write books, it is generally more about prestige/tenure than money.

Re:Use other peoples Ideas (0)

Anonymous Coward | more than 9 years ago | (#11736938)

if you want to be cynical about why professors write books, it is generally more about prestige/tenure than money.
No academic ever got prestige for writing an undergraduate textbook (at least, not in the sciences), because writing for undergrads doesn't involve doing actual research. Postgrad books are better for prestige, because they'll usually tackle a difficult area, and the author can demonstrate his mastery of the technicalities.

Undergrad books are written for money, and because (as has been mentioned) they can often be done quickly, based on the prof's existing course notes.

Re:Use other peoples Ideas (0)

Anonymous Coward | more than 9 years ago | (#11724028)

Take it from a professor: professors make almost no money from books they publish, and further they have almost no say in how much the book is going to cost. We don't publish books to make money. We make money through our University salary and through consulting.

Re:Use other peoples Ideas (1)

PopCulture (536272) | more than 9 years ago | (#11725907)

then, out of simple curiosity, why do mechanical engineering profs re-release edition after edition of their textbooks every 2 years, even when the field of, say, "Structural Mechanics" has not really evolved enough at all (at the undergraduate level at least) to warrant any text changes?

And why do the homework section questions change ever so subtly between releases so that you cannot use a 2 year old book for the same course?

i call shenannigans. There IS profit in authoring textbooks. If the professors are not pocketing the profits, I think they may have signed an unsatisfactory contract with their publishers [washingtonpost.com]

Re:Use other peoples Ideas (1)

KevinIsOwn (618900) | more than 9 years ago | (#11724161)

Do note that the professors receive practically nothing for the sale of textbooks. One of my CS professors said he received a mere $1 per textbook sold. The textbook cost me over $60.

Re:Use other peoples Ideas (0)

Anonymous Coward | more than 9 years ago | (#11725105)

One of my professors made it so his students got a large discount on the text he wrote. How does this supplement his income that much? He did it because it was the cheapest way for us to get a book on the subject matter.

Re:Use other peoples Ideas (2, Insightful)

MagicDude (727944) | more than 9 years ago | (#11727057)

Using the book the professor wrote himself is probably the best in terms of learning material. Any material in the book is obviously material that the guy considers important, and anything not in the book is not going to be part of the course. I can recall many times when we were using some random textbook in a course, and a chapter will cover some material that the prof doesn't consider important, so you end up skipping it. Then there'll be some other topic that the prof does consider important but isn't in the textbook, so you end up getting pages and pages of handouts with badly drawn diagrams from the professor to cover this topic. Using a prof's book is really preferential to having to deal with the conflicting styles of your teacher and the author of the book you're using.

Re:Use other peoples Ideas (2, Insightful)

Black Acid (219707) | more than 9 years ago | (#11727559)

Agreed--take any books a professor wrote himself is using with a grain of salt. Not necessarily for the reason you listed, but often the professor writes a book and only uses it because he wrote it--in choosing a textbook, he's biased. Worse yet, he or she may be able to persuade the whole department to use it for every section of that class at the university.

Re:Use other peoples Ideas (0)

Anonymous Coward | more than 9 years ago | (#11723205)

To the OP: Check again, are you sure you're not supposed to be teaching Java?

Look at what other respected professors use (at other universities) and evaluate those options. They have massive resources at their disposal, so they should have made a good choice. You can then choose what best suits your particular teaching style.

No respected professor, or self-respecting professor, would be caught dead teaching a Javascript course. I would instead teach Discrete Math using "A Logical Approach to Discrete Math" and assign "Teach Yourself Javascript in 21 Days" as a semester-long homework assignment. Your students will thank you later. The tenured professors will stop laughing at you. You'll stop cutting yourself in front of the mirror. Life will be worth living, once again.

The only resource you will ever need - free (2, Informative)

BladeMelbourne (518866) | more than 9 years ago | (#11722434)

JavaScript PDFs [irt.org]

Re:The only resource you will ever need - free (1)

bbc (126005) | more than 9 years ago | (#11722775)

"irt.org"

IRT.org is a great resource if you already know JavaScript. If not, it'll teach you many wrong things. For instance, some of their examples presume that everybody is using JavaScript, and that everybody is either using Internet Explorer or Netscape Navigator.

Re:The only resource you will ever need - free (1)

file cabinet (773149) | more than 9 years ago | (#11725810)

the links to PDF's are 404's... why? well, developer.netscape.com was taken down.. I forget the exact reasons but here is a post about it on mozillazine [devedge went down, then came back, but is now down again]:
http://www.mozillazine.org/talkback.html?article=5 709 [mozillazine.org]

and here is a post I made on a forum with links to the pdf's[if the links are broken, I suggest googling the filename].
http://www.codingforums.com/showpost.php?p=243691& postcount=15 [codingforums.com]

Nothing for you to see here. Please move along. (1, Insightful)

keeleysam (792221) | more than 9 years ago | (#11722436)

As /. reminded me, textbooks don't work very well in computer programmming classes. By the time you purchase them, they will be outdated, so I find that worksheets or packets work much better, and I can fit them to what I want to teach, not what someone else wants to.

Re:Nothing for you to see here. Please move along. (1)

BladeMelbourne (518866) | more than 9 years ago | (#11722466)

I agree... learning by doing is far a more effective way for me to learn than reading a textbook. Most uses of JavaScript on the web only use a small subset of the ECMA 262 standard.

My tip - learn JavaScript 1.3. MSIE 6 has it, Mozilla has 1.5. And if you teach basic OO principles, learning more hardcore OO languages will be easier for your students.

Re:Nothing for you to see here. Please move along. (5, Informative)

Anonymous Coward | more than 9 years ago | (#11722636)

As a computer science professor, I feel your pain. But entry-level textbook editions in computer languages tend to change every year (and that's also why they're usually softcover nowadays). That notwithstanding, these books are usually still much better than lecture notes because there's a very large number of people involved in their development -- much more than you'd imagine. This is important because although you and I can get away with lecture notes (hell, I learned C way back by reading a pocket reference), the typical student cannot. Evidence: the typical student does not even know what Slashdot is.

For example, I was recently involved in moving our entry-level CS classes from C++ to Java, and helping the instructors get themselves set up. What to use? As a Java hacker, my gut said: just use lecture notes etc. But wiser heads prevailed. Eventually we went with Lewis and Loftus [amazon.com] , which besides being well constructed for its task (teaching elementary computer science in Java) has a massive amount of support materials [aw-bc.com] . We could not possibly match that in quality. Yes, it's $70 on Amazon. You can get it cheaper tho. And it's worth it: we use it for three classes in a row.

What book to use for your JavaScript class? That I can't say, though O'Reilly's book is actually not horrible. But that's my hacker instinct firing off again...

Re:Nothing for you to see here. Please move along. (1)

Stevyn (691306) | more than 9 years ago | (#11723287)

I took a class in Java and they used an older edition of that book. It's a good book with lots of included Java examples and data structures. I think using a book over lecture notes helps out with getting the syntax right. I found it helpful to see a few Java apps and how the entire thing looked, as apposed to a program scattered on a few power point slided.

Re:Nothing for you to see here. Please move along. (0)

Anonymous Coward | more than 9 years ago | (#11739880)

So don't pick a language like Java that's changing so fast. Then you don't need a new book every semester. I know it's hard to believe, but Java and C# are not the only programming languages.

I know people who got started programming in college with Pascal, C, C++, Matlab, and Scheme -- the latter being especially good because SICP [mit.edu] (an outstanding book) teaches concepts first, then coding.

Java is a bad language for entry courses, anyway. I bet you especially love teaching students "public static void main(String args[])". Do you simply wave your hands and say "Don't try to understand, the computer needs this cryptic incantation to work right", or do you explain visibility, class/instance methods, return values, void, objects, method arguments, and arrays on the first day of class? ...

I do agree that lecture notes are not a textbook. I even had one prof who had his lecture notes cleaned up and typeset (by some grad students), got it published by Springer, and used that as the textbook. Of course, it was the worst CS textbook I'd ever seen -- and that's quite an accomplishment. The "chapters" are all 2 pages long, and there's no depth or overviews or summaries or even interesting writing. (He wasn't a good teacher to begin with, though he seems to be highly regarded in his field, for whatever reason.)

Re:Nothing for you to see here. Please move along. (1)

PickyH3D (680158) | more than 9 years ago | (#11734414)

This is a bit naive.

Programming languages and APIs do not change that quickly. Stop buying 20 year old books.

Use a reference instead (3, Insightful)

crmartin (98227) | more than 9 years ago | (#11722517)

Have them buy an approrpaite reference, like an O'Reilly book, and use that. Then make notes that replicate what you would have done if you were teaching one person, use overheads from that.

Re:Use a reference instead (1)

GoofyBoy (44399) | more than 9 years ago | (#11722931)

I wished more of my university had done this.

For lower years, a good wordy descriptive book is nice. As you get more specialized and closer to leaving school (or moving on to the next level), a dry technical reference should all you would need and will be more valuable to the student.

Re:Use a reference instead (1)

crmartin (98227) | more than 9 years ago | (#11723657)

I just decided I wanted to refresh my analysis (it's only been 25 years.) I looked at some of the regular texts for second-year calculus. Great door stops, but enraging ... all the pictures, little history bits, etc.

I finally ordered a copy of Tom Apostol's book from the 70's.

Which one? (0)

Anonymous Coward | more than 9 years ago | (#11724941)

I think G.H. Hardy's _A Course of Pure Mathematics_ from the 00's is much better than Apostol's calculus book, as is Courant's _Differential and Integral Calculus_ published in the 30's.

I don't think anybody uses either of those texts in a classroom anymore.

Re:Which one? (1)

crmartin (98227) | more than 9 years ago | (#11731474)

I actually went through the "Course in Pure Mathematics" a long time ago, but Apostol's book was the one I knew from my previous courses. Not that it would hurt anyone to do both. Never read Courant's book.

Great Advice! (1)

captwheeler (573886) | more than 9 years ago | (#11723859)

Have them buy an approrpaite reference, like an O'Reilly book

Remember that half the learning is them reading and studying at home, half is in class, and the other half is them referencing the text long after the course is done. Two of those halves are about having a good reference.

Re:Use a reference instead (1)

major.morgan (696734) | more than 9 years ago | (#11741315)

I teach a variety of networking and security courses in similar situations. I have found that people are most happy with a reference (usually O'Reilly) for use after the class. The participants expect something, and it helps give a framework to follow. In the end it's not critical what you pick, as they came to the class for your presentation and knowledge - just keep it somewhat affordable.

Write your own (1, Insightful)

Sandman1971 (516283) | more than 9 years ago | (#11722518)

Write your own and sell that. It's what 75% of my college teachers did. That way, you can also keep it up to date as time goes on, and you only include the stuff you want to teach.

Re:Write your own (1)

PickyH3D (680158) | more than 9 years ago | (#11734404)

Or more to the reason: students are forced to buy it for the class because test questions are peeled from meaningless parts of the book. This increases the profits of the professor... and that's about it. Most books from the professor suck.

How would I select a textbook: (-1, Flamebait)

Anonymous Coward | more than 9 years ago | (#11722523)

I would select a textbook that covers some serious language instead of Javascript. Also, if I was "well, clueless" I wouldn't have chosen to teach people, now would I? Seriously, what's wrong with Lisp, Smalltalk, Eiffel, Python, Tcl, Objective C, Forth, etc.? Do you want to teach what's "cool" this week and make your student's knowledge irrelevant in few months? Because teaching Javascript is exactly that.

--
I hope it helps. Next question, please.

Re:How would I select a textbook: (3, Insightful)

Ithika (703697) | more than 9 years ago | (#11722555)

Perhaps because most browsers don't support languages like Smalltalk (!) and Tcl (!)?

Re:How would I select a textbook: (0)

Anonymous Coward | more than 9 years ago | (#11724051)

Fine, but a "Javascript class" simply does not belong at a college, even a community college. That kind of crap is what trade schools are for. If you taught your students CS properly, they should be able to master Javascript in a matter of days.

Re:How would I select a textbook: (0)

Anonymous Coward | more than 9 years ago | (#11724981)

Community colleges are meant to offer instruction on topics that are of interest to those in the community. Things like basket-weaving, geneological research, glass blowing, pottery, chess, CPR, and even Javascript are perfectly appropriate for a community college to offer courses in.

Whether or not any of these courses should be considered as fulfilling requirements towards a particular degree is a different matter.

Re:How would I select a textbook: (1)

bbc (126005) | more than 9 years ago | (#11722808)

"I would select a textbook that covers some serious language instead of Javascript."

What is a serious language?

Anyway, it seems to me that if you teach correct coding practices, it doesn't matter really which language you use for instruction. In which case you might as well use a language that students are actually going to use after the course is over.

Re:How would I select a textbook: (1, Insightful)

Anonymous Coward | more than 9 years ago | (#11723579)

1) You include Python and TCL in your list, which are no more "serious" than JavaScript.

2) Why isn't Javascript a "serious" language? Are you familiar with how it works? It's a very sophisticated, dynamic, prototype-based language. I've seen people add Ruby-like blocks to it, for instance.

In fact it's kind of surprising how powerful it is, considering what most people use it for. Some with PostScript.. when I first realized how capable PS was, I was amazed! More powerful than the languages I was using, and stuck in a damn *printer*!!!

Re:How would I select a textbook: (-1, Troll)

Anonymous Coward | more than 9 years ago | (#11724771)

If I were 14, I wouldn't have chosen to teach people either.

From a student's point of view ... (4, Funny)

shadowkoder (707230) | more than 9 years ago | (#11722540)

The professor goes into a bookstore and picks the most expensive textbook on the shelf, and dealing with the on-campus bookstore just adds salt onto the wounds.

Re:From a student's point of view ... (1)

joeljkp (254783) | more than 9 years ago | (#11722615)

I agree. Students are locked into a neverending upgrade cycle with textbooks. I'm not sure whether the blame should be placed with the publisher, the professor, or the school, but you've got books on Amazon that sell for $5 for the 2nd edition and $100 for the 3rd.

With computer books, I can see the need to update. But please, for our sakes, check out the price and availability of an older edition and see if you really need the updated one.

its the publishers..... (2, Insightful)

eufaula (163352) | more than 9 years ago | (#11733241)

from the reactions of my colleagues (i teach full-time these days at a community college, and echo the feeling) we HATE to have to switch books in most instances. dont blame us -- the textbook industry is pushing for the adoption of new books every year or 2. why? think about it. about the only time that a new text is profitable for the publisher is in its first year -- after that, its resold over and over and over again. the bookstores are just as bad -- being in education, i see the costs on these books (to the college) and then see what they sell for. the markup, on average (at our college anyway) is about 35%. i _always_ tell my students to check out the web for copies before plunking down their cash with our bookstore (which like most keep raising prices).



it really sucks for everyone involved (except the publisher). we, as faculty, have to constantly look for new material (when in most cases there is nothing wrong with the current text) and adjust our courses for these changes. the bookstores are stuck with copies of books that the publisher wont take back because there is a new version out, and the students -- they get the worst end -- most new textbooks _FLAT_OUT_SUCK_. they are written so quickly that they are full of errors and light on insightful explnations. they read more like poorly-written dictionaries with _no_resale value. the books, are in my opinion, supposted to aid in the course, not be the course. these days, a lot of them make better doorstops than course aids.


do what i did for the UNIX class i teach -- write your own materials. we charged the students $5 for the packets (which i will GDL as soon as i clean them up)

It's useful to keep in mind that... (0)

Anonymous Coward | more than 9 years ago | (#11725099)

The student's point of view is one of ignorance and naiveté.

don't go with the green ones (3, Funny)

TheGratefulNet (143330) | more than 9 years ago | (#11722574)

they're not ripe.

/wanda

Re:don't go with the green ones (0)

Anonymous Coward | more than 9 years ago | (#11724133)

/wanda
Is this what I type in Everquest when I want Wanda delivered to my door? Like /pizza? Mmmm.... /wanda....

As a current student (2, Insightful)

krs-one (470715) | more than 9 years ago | (#11722742)

I can attest to how expensive computer science textbooks are (along with just about every other science). It irks me to no end when a teacher makes me (or rather, highly recommends) me to buy a $90 Java book where I could go pick up a $25 Java book from B&N or Half Priced Books that would teach me the same thing. Or, when a teacher (this is especially true in math) recommends to buy the latest edition of a textbook (and Calculus books are not cheap) when the previous edition can be purchased for $10. First and second year calc hasn't changed in 6 years! (End Rant) So thats what I recommend, go to the local big bookstore (B&N, Borders, etc..) and see what regular programming books they have on JavaScript (I dunno, something by O'Reilly might work, I haven't touched a JS book in years). One that is pretty up to date with DOM and newer JS features shouldn't be hard to find. Recommend that one to your students.

Sure, it may not be WebCT compatable (but WebCT sucks anyway), but you're students will thank you for letting them purchase a much cheaper book.

-Vic

Re:As a current student (2, Informative)

bcrowell (177657) | more than 9 years ago | (#11724056)

Or, when a teacher (this is especially true in math) recommends to buy the latest edition of a textbook (and Calculus books are not cheap) when the previous edition can be purchased for $10. First and second year calc hasn't changed in 6 years!
The teacher doesn't have any choice. Accrediting organizations force schools to use recent texts, even in fields that aren't changing rapidly.

Staying with an old edition can also be problematic, because the publisher typically doesn't sell the old edition any more. That means you have to depend on the bookstore's willingness and ability to scrounge around for lots and lots of used copies of the older edition.

Re:As a current student (1)

jesseraf (230545) | more than 9 years ago | (#11731877)

First and second year calc hasn't changed in 6 years!

Truth be told, first and second year calculus hasn't changed much nearly 200 years.

Re:As a current student (1)

tepples (727027) | more than 9 years ago | (#11733976)

first and second year calculus hasn't changed much nearly 200 years.

However, the identities of the problems in the first chapter aren't part of calculus proper, and they change every few years.

Re:As a current student (1)

Calsat (861132) | more than 9 years ago | (#11733974)

Hah, my Honors Calculus class, the professor is having us use a book from 1927. Richard Courant's Introduction to Calculus and Analysis 1. Though to be fair, this is the 1965 edition. It's a good calculus book, I recommend it highly.

Is it just me? (2, Insightful)

Anonymous Cumshot (859434) | more than 9 years ago | (#11722751)

Or is academia the only thing keeping Java alive? It really seems as if contemporary CS programs are there in large part to promote the continued use of Java.
</conspiracy>

Why is Java so popular in academia but not so popular everywhere else? It would make more sense for instructors to teach something like python instead (since it is arguably both easier to learn and quicker to write).

Is it not time for Java to be deprecated in favor of something that's superior?

Re:Is it just me? (1)

cooley (261024) | more than 9 years ago | (#11722891)

One professor who teaches the "Introduction to Software Systems" class at Indiana University (which uses Java with some customized libraries to teach the basic concepts of OOP) was telling me recently how he'd love to rework the class wo he could teach it in Python, but has met with some resistance within the department.

Some folks, even in CS, are Luddites in their own way, and others simply don't want to change what they see as a system that works.

I'm with ya, tho. I'd much rather they taught the class in Python, but that's mostly because it would be more immediately useful to me.

Re:Is it just me? (0)

Anonymous Coward | more than 9 years ago | (#11724111)

I'm with ya, tho. I'd much rather they taught the class in Python, but that's mostly because it would be more immediately useful to me.
Immediate usefulness is a secondary goal in a computer science class. The primary goal is to pick a language which will teach you important concepts in computer science. Python isn't a great language for this. It has a weird mishmash of an object model, somewhere between a proto language and a class language; it is typeless yet doesn't have closures; it's a scripting language and not a large-construction language; and most importantly, it has a syntax (whitespace indentation) which is an absolute nightmare in the hands of beginning language learners who aren't good at spotting such errors. Also, it doesn't have a standard graphical interface library, and its data structure library IMHO is wanting.

Java's not a bad choice in that regard. It's biggest problem is that you can't easily teach procedural programming in it -- you have to immediately go to a sort of bastardized OOP. Also it's 10 times faster than Python at least. Even for beginner classes, that can be a real boon.

Re:Is it just me? (2, Insightful)

HeghmoH (13204) | more than 9 years ago | (#11722953)

My (limited) experience is that it's rather the opposite. That is, Java, like C++ before it, is taught because it's what everybody think industry uses, and they feel that they should teach the same.

Of course, teaching to what industry uses is completely missing the point in a CS program. Languages are easy to learn, what they should be teaching is something that is best suited to learning the underlying concepts, which Java most certainly is not.

Re:Is it just me? (2, Insightful)

graphicsguy (710710) | more than 9 years ago | (#11723242)

I teach a Data Structures course using Java. As you say, languages are easy to learn (well, not really so easy for many students new to programming). The fact is, there are lots of languages, including Java, that are perfectly acceptable for teaching a Data Structures class. One of the reasons we use C++ or Java in our introductory-level classes is because these are the languages the students are expected to know in a large percentage of our more advanced classes. So it provides a convenient base.

Re:Is it just me? (2, Interesting)

doktor-hladnjak (650513) | more than 9 years ago | (#11725952)

I've actually taught Data Structures using both Java and C++. Both universities where these courses were taught did not choose these languages because they were used in industry. They chose them because they thought they would meet the needs of the specific course.

In my experience, the course in C++ was much less effective. The students spent much more of their time stumbling over the details of C++ (destructors, copy constructors, templates, the virtual keyword) than understanding the underlying data structures and OOP material. C++ is of course widely used in industry and academia, but it was just not the right language for those students at that point in their career for the material they were supposed to be learning. Personally, I'm not entirely sure why the department was using C++ at all. I imagine they wanted to teach it at that point since future courses would assume a C++ background.

In constrast, the course using Java worked pretty well. To begin with, Java (compiler and run-time) is available free (as in beer) and more or less runs the same on pretty much any system a student would use (Windows, Linux, Mac). Second, Sun has comprehensive documentation for the all their included built-in classes. I really liked this, because it allowed me to push the students to RTFM when they had relevant questions, which is a habit you want a programmer to pick up as soon as possible.

Java is also widely used in industry, but it just worked better for these students in that particular academic situation. Most importantly, by the end of the course using Java, a majority of the students seemed to understand the tradeoffs between lists, arrays, vectors, search trees, etc. They were also writing medium sized programs that could do semi-interesting things. The same could not be said for the students (admittedly at a different and less competitive university) who did the course in C++. They were still confused about data structure tradeoffs and were writing programs that did little more than create a data structure and perform some trivial operations on it.

It's probably worth pointing out that in both cases this was the second course students had to take in a sequence, so all of them had some initial experience programming. In one case (C++ school) they had done their first semester using ML and in the other (Java school) they used Scheme.

As I sit and think about it right now, off the top of my head, I'm not sure of any language that would clearly be superior to use in teaching Data Structures than Java. There are plenty of languages which would be roughly as good, but nothing leaps out as obviously better. Sure, something more obscure could be used, but these tend to offer less portability and thinner documentation. A lot of nice languages like Python, Perl, Scheme etc. lack the more rigid typing of Java or C++. C limits coverage of OOP, which while not the solution to everything is a major topic that needs to be covered.

It's not just the Industry. (1)

PocketPick (798123) | more than 9 years ago | (#11728884)

People do not teach Java simply because some believe that it is what the industry uses. People teach Java because Java is simply a better C++ (as is C#).

Unlike C++, Java is a language typesafe and discourages bad programming practices, as well a providing checks for common programming mistakes such as array bounds or NULL pointers. It also removes need to deal with allocation/deallocation by adding garbage collection and making every object a 'reference object'. In short: Without worrying about having to be backwards compatible with C, Java created an environment that actually helped the developer.

Given that Java is also purely Object Oriented, Java is ideal for teaching the methods of OO programming. Things like programming to an interface, or design patterns are easier to express in Java then they are in C++ since the constructs that the design patterns assume are native elements of Java.

Combine this with a simpler API setup then your standard Windows API, exception handling that did more than core dump when it reached the top, and many other features, it's clear that Java is an ideal language to teach students.

Re:It's not just the Industry. (1)

HeghmoH (13204) | more than 9 years ago | (#11728960)

People teach Java because Java is simply a better C++ (as is C#).

That makes two posts now that have responded with this line of reasoning, as if C++ and Java were the only two choices. This comparison is like praising your restaurant's food "because it's better than McDonald's". The fact that this line of reasoning is so common just underlines my point that people are choosing more based on "what industry uses", rather than on what would actually make a good teaching tool.

Re:It's not just the Industry. (1)

PocketPick (798123) | more than 9 years ago | (#11729335)

The fact that this line of reasoning is so common just underlines my point that people are choosing more based on "what industry uses", rather than on what would actually make a good teaching tool.

Perhaps, but you need to understand that the best teaching tool is not perhaps always the 'perfect' teaching tool. There is always going to be something better, but you need to make a tradeoff between the capabilities of a language and the usefullness of a language outside of the academic environment. A good language is said to be one that is not only expressive but also practical and useful (ie. you will find it useful in work and academics). We choose Java, or C++, because they meet both of these criteria. Thier not perfect (not by a long shot), but they are effective and widely used. The fact that these languages were the product of government funding or the commerical industry cannot be helped. In todays world, they (for better or worse) dictate the trends of software development (languages included). 20 years ago, corporate america exclaimed that object oriented programming was the paradigm of application development (casting out LISP, FORTRAN, etc) and it's remained that way since.

I can understand frustration with slowness when it comes to adopting new and better language constructs, but the computer science tends to move at the pace of the industry which pays us. And if the industry decrees that C++ or Java is the language of today, then we have to accept that (unfortunately).

Re:It's not just the Industry. (1)

HeghmoH (13204) | more than 9 years ago | (#11730742)

You haven't really explained why you need to teach the same languages that are used in industry, though, you just kind of restated it.

Learning computer languages is easy. What's hard is learning how to program, and learning various concepts and ideas. Once somebody knows how to program, understands OO, functional programming, generic programming, etc., then he should be able to pick up a new language in very little time. If you really feel that your graduates should know the languages that industry uses, rather than merely being prepared to learn them, have a Java course somewhere along the line. But the idea that you need to teach everything in Java so that they understand it is fundamentally flawed.

Re:Is it just me? (0)

Anonymous Coward | more than 9 years ago | (#11723610)

Or is academia the only thing keeping Java alive? ... blah blah ... Java ... blah

Javascript. The OP was teaching a Javascript course, not Java. The two have as much in common as a tiny, mulitlegged invertebrate with a predelection for consuming its own excrement and a hairy, bipedal creature with a predelection for flinging its own excrement at other bipeds who use lousy "languages" like Javascript.

MOD PARENT UP INSIGHTFUL! (0)

Anonymous Coward | more than 9 years ago | (#11724046)

A friend of mine who is in CS seems to have numerous java courses in his program and very few courses which teach other languages.

Re:Is it just me? (0)

Anonymous Coward | more than 9 years ago | (#11735159)

I had that thought a while back. I uesed to live near D.C. and all the jobs where Java - I mean all of them. I didn't see how Microsoft stayed in business.

Then I moved away, and I am happy to report the rest of the world is indeed .Net, whew.

Academina AND the US Government are what is keeping Java alive. It's not used anywhere else where a budget is concerned.

I think some companies do some large Java web apps occasionaly, but then those CIOs get fired and .Net rolled in.

As a teacher for web classes (2, Interesting)

tod_miller (792541) | more than 9 years ago | (#11722766)

I have not suggested any book for Javascript, and nor would I.

A search for any kind of book on Javascript woudl show up about 4 million websites, about 100k of them with up to date information, and about 20 books published within the last 3-4 years.

Students can use multiple sources to learn Javascript, a book is not one of them that comes to mind.

In a web design course in general (or web engineering) I usually get them either a resource on non technical aspects of web design tricks, and point them to W3schools, or certainly suggest a complete programming guide to the language they are learning. (which allows them to study it offline so to speak).

Many students may not have web access, but I feel that 3/4 A4 pages can disseminate so much about Javascript for a student based course that you do not need a programmer type reference for Javascript, all those no doubt giving thier O'Reiley versus XYZ Javascript book reviews shoudl bear that in mind.

I say write 4 pages of intro code to javascript and give 4-5 practical examples.

That is enough.

Re:As a teacher for web classes (0)

Anonymous Coward | more than 9 years ago | (#11727733)

Depending on how you teach Javascript I can tell you right now that not having a book is fine for most entry level classes... want to teach javascript to a programmer I'm sure they'll go out and buy O'Reilly's book just as a reference. (great book by the way)

Read them! (1)

Eosha (242724) | more than 9 years ago | (#11722838)

Take your time looking through various texts. Make sure that the ideas are clearly demonstrated (with real-world examples!) and that the ideas come in a reasonable order. Run them past someone who doesn't know Java and see if they can make sense of it.

Personally, I've had good luck with Cohoon & Davidson's "Java Program Design". Thorough and clear, though slightly out of date in a couple spots.

from my view (1)

jjshoe (410772) | more than 9 years ago | (#11722907)

Don't use webct or any other cms. I found them to be a bigger hinderence then good. Last i checked i was able to get webct to follow http header redirect requests too. Certainly upset a few people at my college landing at tubgirl ;)

Re:from my view (0)

Anonymous Coward | more than 9 years ago | (#11739923)

Amen to that. Blackboard is used at my school and it's awefull. Too many clicks for what's on the pages.

This may be stating the obvious, but... (4, Insightful)

ArmchairGenius (859830) | more than 9 years ago | (#11722956)

If you have the time, I would try to read as many as possible and then simply select the one you think is the best.
This will also benefit you in that it may give you ideas for your class, and conversely, if you know what your general curriculum will be already then you can simply see what book matches best with that.

you're the best text book (3, Informative)

b17bmbr (608864) | more than 9 years ago | (#11723055)

i teach mod civ and computer programming (ap comp sci) at a high school. i use the textbooks for both classes very little. i find most text books to be horrible and lacking any real content. what i do for mod civ is find much better article, essays, etc., from reputable locations, use source documents, and always supplement with my knowledge of the subject. I use alot of historical texts and sections from them. as for the computer programming, i have found a ton of resources on the internet, but mostly, i explain a concept, then give them work to practice. with the millions of resources available on the internet, it is ahrdly likely a textbook will cover something novel.

and truthfully, if you need a text book, the teach yourself in 21 days series are as good an introdcutory book as you will find. i also like the oreilly series alot too. the best part about the oreilly books is that they are not too expensive, and they will be useful after the class.

Re:you're the best text book (1)

bcrowell (177657) | more than 9 years ago | (#11724105)

i teach mod civ and computer programming (ap comp sci) at a high school. [...] i find most text books to be horrible and lacking any real content.
I think your data are relevant to K-12 texts, not college texts. College texts are often not very good, but K-12 texts are almost always horrible. They're typically written by a committee of hacks hired by the publisher, and then published under the name of university professors who want to make a buck, and didn't write a single word themselves, or even read the book. (I heard one story from a physics prof who was asked by the publisher to review a K-12 physics book, told the publisher that it was junk, and then found out later that they'd put his name on the book because he contributed.)

Re:you're the best text book (1)

b17bmbr (608864) | more than 9 years ago | (#11724899)

yes i was mostly commenting on high school texts. however, he's talking about teaching at the juco level, which many classes are nothing more than glorified high school courses. (not to offend, as alot of great classes and teaching goes on at the juco level, but alot of it is high school redux) and the class is an "online javascript class", which i doubt would be a class someone who is transferring to CS would take, other than as a interest. so, the class is alot more practical in nature, i assume, which would necessitate more programming and less theory. do you need to understand polymorphism? no. functions and return values? yes. so, a text for this course would probably be more suited to the high school level, i.e. less "theory", more practicality. just my $0.02. but you are correct abotu text book publishing. it's a crying shame.

Publishers will send evalution copies of textbooks (3, Informative)

kengreenebaum (64286) | more than 9 years ago | (#11723103)

I both teach classes on digital media (compression and sound synthesis) and have written textbooks, AudioAnecdotes [amazon.com] , AAv2 [amazon.com] . I know from the inside that publishers will send evaluation copies of textbooks to faculty if requested (and often do so unsolicited).

Examine as many textbooks as you can (they greatly differ in both scope and quality). I strongly suggest selecting a text matches your philosophy, and covers as much of your planned course material as possible. It is best if the text provides more depth than the class so your students might want to retain the book as part of their professional library for future reference.

Feel free to email questions, best of luck. -Ken

Re:Publishers will send evalution copies of textbo (0)

Anonymous Coward | more than 9 years ago | (#11726596)

Yarr, tis true. I work for a publishing company and we'll give away anything if it means you might adopt it for your course. Go find some you are interested in and contact the publishers telling them the course information and ask for an exam copy- most will be happy to have you consider it.

O'Reilly! What else? (3, Informative)

techstar25 (556988) | more than 9 years ago | (#11723104)

Why don't more professors require the O'Reilly books? For most topics, I know we have to purchase some $100 textbook for class, but when we get on the job we end up just buying the O'Reilly reference book. Why not require your students to purchase the O'Reilly book and then just teach selected topics from it? That way they already have the very best reference book to take to work with them. Look at this for instance: Javascript, the Definitive Guide [oreilly.com] . Now they'll never need another Javascript book. They'll thank you when they get into the workplace.

Re:O'Reilly! What else? (2, Informative)

techstar25 (556988) | more than 9 years ago | (#11723159)

I also forgot to add that most O'Reilly books are in the $40 range, which is quite a difference from those $80-$100 textbooks.

Re:O'Reilly! What else? (3, Insightful)

Deraj DeZine (726641) | more than 9 years ago | (#11724024)

For the class the poster is teaching, that makes sense. In general, however, the O'Reilly books are very specific (how to use this one piece of software) and are either reference books or very introductory material. It's not a big deal for the majority of classes, I'm sure, but the O'Reilly books teach programming as a tool instead of a science.

not texas (1, Funny)

Ark42 (522144) | more than 9 years ago | (#11723594)


Basically, just make sure not to get a texas-censored version of whatever you get.

From a student (2, Interesting)

Anonymous Coward | more than 9 years ago | (#11723694)

As a student of computer engineering, I highly recommend just making your own handouts. You probably have tons of java books at your disposal just make copys of the things you like out of all kinds of books. Make sure you give credit to authors when need of course. I can tell you that students pay more attention to hand-outs then a chapter that they where supposed to read last week sometime.
In programming most text books are basically just semantics of that language anyways. You are there to teach the HOW and WHY. Books and handouts are just a reference for when you are unavailable. Also every person learns differently let your students go out and find a book they can understand and use instead of corralling them into a specific style.

Check list (2, Insightful)

mefus (34481) | more than 9 years ago | (#11723925)

  • Did I write it?
  • Did the guy on my approval committee write it?
  • Are minor changes required, ensuring the book will be useless for next year's students when the new edition comes out?
  • Will the campus bookstore offer payola?
  • Is the publisher considering my book for publication?
  • Is the book essentially a coffee table picture book costing $100?
  • Do I plan on using a page or two from the book?
  • Does it have very little content per page?
  • Does it teach to the dumbest person in class?

Re:Check list (0)

Anonymous Coward | more than 9 years ago | (#11724036)

Does it teach to the dumbest person in class?

Jesus, if that's your experience with textbooks, I envy you. You can just skim past that stuff. I'm taking the advanced version of sophomore organic chem at my university, and I wish the textbook were more verbose.

Re:Check list (1)

mefus (34481) | more than 9 years ago | (#11726353)

You are anonymous, so you won't see this.

But years ago Streitwieser and Heathcock had a no nonsense thourough introduction to organic chemistry. I know it's gone through several new editions since then, and although I haven't looked at it I'm sure it has been *coff*ruined*coff* uh, modularized...

Not Easy (2, Informative)

tiny69 (34486) | more than 9 years ago | (#11723944)

Having taught a few Linux based courses at a community college, I can tell you that finding a good text book is not easy. I don't have my masters yet, so they following is just from personal experience.

Start by making an outline for the class. How many class meeting will you have? What to want to teach? What do you think is important? Then break up what you want to do into subjects that can be taught individually. Use your own opinion as to how the course should flow and what seems logical to you. You are teaching the course. Trying to teach a subject out-of-order (in your opinion) will not only confuse the students but it will also frustrate you.

After you have an outline of how you are going to teach the course, try to find a book that closely follows your outline. This is the hard part. You are rarely going to find a book that presents a subject the way you would like it to be presented. This is the reason why some of the best books on a subject are not the best ones to teach from. This is also why instructors write their own books, so that they can follow how they think the subject should be taught.

If all else fails, pick a good book that the student can use as a reference after the course. What you will end up with is a good book, but you'll be jumping around within the book like a lot of instructors end up doing.

One of the problems I've seen are when a certain subject gets taught by multiple instructors. Then the department has to pick one book that everyone will use. This book usually ends up being a compromise that noone likes. There's not much you can do in this situation other than try to influence the choice of the text book in the future. If you are only teaching part time, don't be surprised if you are ignored.

Get a couple of books that discuss how to teach. Some of the better ones are actually short in length. One of the most important things I learned from one is that students will do most of their learning on their own. You are just there to present the information and to guide them.

You also need to know the subject well enough to give intelligent sounding answers to off the wall questions. Don't say you don't know. Instead, tell the students that you can't remember the answer off the of your head and that you'll get back to them (or some other excuse).

The books on how to be an instructor will give you some good advice on how to handle situations you are going to be unprepared for.

zerg (1)

Lord Omlette (124579) | more than 9 years ago | (#11724033)

The textbook has to have lots of exercises at the end of each chapter, the professor has to know how to solve the problems, and at least a 3rd of the problems should have solutions (w/ explanations) in the back of the book.

Contact publishers (2, Informative)

Vultan (468899) | more than 9 years ago | (#11724058)

Most textbook publishers will send you free evaluation versions so that you can check them out. Go to the academic sections for major textbook publisher websites (Addison-Wesley, McGraw-Hill, O'Reilly, etc...), find the book you want, and there's always a link for "send me an evaluation copy."

It depends on the students and intent (2, Insightful)

xanthan (83225) | more than 9 years ago | (#11724175)

If the purpose of the course is to give immediate knowledge that they can take to a job and say "See, I know JavaScript!" then stick to books that you can find at the local bookstore (e.g., the "Teach Yourself in 21 Days" variety). There is nothing wrong with them for what you need to do with the content and what your students expect.

If the intent is to use JavaScript as a kind of stepping stone class to other higher level content or to really get into the depths of JavaScript (it is, after all, a full blown programming language that is quite capable), using a series of articles from web sites would serve you well for getting them bootstrapped and functional, but a more traditional text that teaches functional programming will make them more productive in the long run.

Whatever you choose, be sure you take a careful evaluation of the content and be sure to match it up with your course outline. Use the content of the book to reinforce or provide additional reference material for the lectures. (Please don't just lecture the contents of the book!)

Finally, keep project ideas in mind. You'll need a few simple project ideas that reinforce a particular chapter/lesson from week to week. Plan for a "big" 2-3 week project at the end of the course that brings all of their skills together and can serve as a reference project on their resume.

Best of luck.

Choosing textbooks (3, Insightful)

howard_coward (735813) | more than 9 years ago | (#11724578)

I've been teaching at the college level for many years. Recently it has become true that ...
1. Textbooks are all the same.
2. They are outrageously expensive.

You lean like bandits on the megapublishers to lower prices, or...
You write up your own notes.

Re:Choosing textbooks (0)

Anonymous Coward | more than 9 years ago | (#11727181)

Textbooks are all the same.

Maybe for computer science. All the CS textbooks I've read have ranged from incomprehensibly awful to oversimplified. Most of my chemistry texts, OTOH, have been very well-written, understandable, and even interesting. Paula Bruice [prenhall.com] in particular strikes me as an excellent author.

You should just base it on web references (2, Interesting)

drinkypoo (153816) | more than 9 years ago | (#11728889)

For several subjects (math, electronics, javascript and some other languages) there are suitable online resources for learning. Anything of interest to nerds and/or geeks and conveyable using the internet is generally pretty well documented.

as a student (1)

theflavor (725853) | more than 9 years ago | (#11729334)

I am currently a CIS student who graduates in a semester, and there are quite a few things that I look forward to when going into a programming class.
  • The text must have good code examples. If the students don't know JS then they won't be able to just pull code out of their ass.
  • Recommend a good editor/debugger. (I have found out through countless hours debugging JS, that it is very picky and decides to work when it wants to. There is a JS debugger extension for FireFox that works great.)
  • If this is an introductory course, teach logic for the first few class periods and encourage students who aren't succeding to drop. I always excel at my courses and find it very frusterating to help my classmates when they don't even have a logical approach to solving the problem.

bestwebbuys.com (0)

Anonymous Coward | more than 9 years ago | (#11732582)

I always select my textbooks at

http://www.bestwebbuys.com/ [bestwebbuys.com]

They factor in shipping and tax, and tell you who's got it for the cheapest and how long it will take to get to you.

More advice from a student (3, Informative)

miyako (632510) | more than 9 years ago | (#11734069)

Like many of the posters, I'm a student, not a teacher (well, actually I do teach, but not anything applicable to the problem domain).
anyway, here are a list of pet peeves I have with a lot of my text books.
  • A lot of text books focus on a particular application (e.g. programming javascript with Dreamweaver and Internet Explorer). Try to avoid these and focus on books that teach the subject in a bit more general terms.
  • Look for books that give lots of code examples. Theory is a good thing, but some books that say they are teaching a specific language seem to instead focus on trying to books on programming theory.
  • As above, but in reverse. Try to find books that do offer some theory, and don't just focus on having students memorize what a given block of code does.
That aside, whatever text book you pick, remember that all books have flaws, and be willing to deviate from the book when you feel that it doesn't offer up the best approach. I would also recommend NOT using book assignments, they tend to be extremely trivial, uninteresting, and will not get students excited about the project at all.

Wrox Books (0, Offtopic)

PickyH3D (680158) | more than 9 years ago | (#11734425)

I have never read a Wrox book I did not keep. A lot of the Microsoft (gasp) Publisher books are well written as well. I have never read a JavaScript book... there's always the internet for a ton of articles on it.

Ex-Instructor weighing in (4, Insightful)

wawannem (591061) | more than 9 years ago | (#11735563)

I worked for a couple of years at a small university [unoh.edu] and being new to teaching, but somewhat of a versed IT pro, I decided to be very idealistic about picking textbooks. I think it is *very* important to read what you are choosing to teach from before you decide. Don't just assume that the book from the last time the course was taught will be *good enough*!!

That being said, there is another important factor when choosing books. Make sure there are adequate exercises/test questions to go along with a book. I decided to teach a course on a programming language not necessarily popular with most academics (Perl), and I evaluated the few textbooks available. I felt that none were adequate and decided to teach out of one of my favorite books. It was the worst teaching experience I had. It is nearly impossible to create unambiguous questions for tests and creating exercises that are challenging while still short enough to be small assignments is another task I was not prepared to handle. Students need to learn one concept at a time and they need to do a few exercises to get the hang of each new concept. If you throw all the information at them and expect them to accomplish one large task, then many otherwise bright students will be overwhelmed and will not perform as well as they would like. Then, when the time comes, they will let you know using the all-powerful course evaluation that they were not happy with the course. Many people (especially students) do not realize how much goes into creating a textbook. If it were really a great scam to take money from students, then textbook authors and publishers would be huge, rich companies. Quite a bit of time is spent on the exercises and teaching resources involved in the book. In my estimation, I would say that more time is spent in the external content than is spent on what the student receives.

Re:Ex-Instructor weighing in (0, Insightful)

Anonymous Coward | more than 9 years ago | (#11738812)

If it were really a great scam to take money from students, then textbook authors and publishers would be huge, rich companies.

but publishers ARE rich companies...

Selecting a textbook (4, Insightful)

HenkLecturer (861537) | more than 9 years ago | (#11739021)

When reviewing a textbook, start checking at the end: a book without a *very* extensive index (10 pages at least) had better be used as fuel for a fire.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?