I'm not a lawyer, I'm a technically competent person. Right now, the lawyers and the geeks are so estranged from each other that they can't even communicate rationally. Sooner or later, this has got to change and we will need a large number of people who can bridge this communication gap well enough to communicate. We should not expect one person to be completely competent in both fields, but perhaps we can cross-train people well enough to work together.
In the end, I believe it will make more sense to train otherwise 'normal' lawyers to a basic level of technical competence. It will require less effort and meet with better results then trying to train engineers to be lawyers. (If you want to see engineers trying to be lawyers, just look at the legal idiocy on Slashdot sometime.) While I would certainly encourage engineers to pick up some legal understanding if they are going to work with lawyers, learning basic principles of law gains you much less bang-for-the-buck then learning the basic principles of engineering.
On an intuitive level, this should make sense. While the computer industry has all sorts of nooks and crannies, all of those nooks and crannies are working on the same basic principles of what is possible to do with computers. If you learn those principles, you're a long way toward understanding computers in general. This is more-or-less because computing is a mathematical domain, and mathematical domains tend to be fairly simple... at least in comparison to fuzzy human domains like law. While the foundation of intellectual property law may stem from a very few simple principles (like "preserve an incentive to innovate"), you can't take another step without instantly being bogged down in exceptions, precedents, international differences, and a whole slew of details, which isn't helped by the fact that we're in uncharted territory anyhow.
I'll leave what legal stuff should be taught in this legal program, which I'm going to call "technical law" in the hopes that that doesn't already refer to something, to the lawyers (though we can assume a strong leaning toward property (intellectual and otherwise) law and international law), but as a technical person, here's what I'd put in the program. I would expect it to take about 10-15 undergraduate credits in a good college to adequately cover these topics. We would not cover all of them in depth, just an overview sufficient to understand them, but we should cover one or two in depth (preferably very mathematically-based topics) to give a better flavor of how these things work.
One last thing: Many will pass these courses, few will truly gain anything from them. Professors should encourage students who think these classes are a waste of their time to leave the technical lawyer track and take up some other branch of law. Just because you've passed these classes doesn't mean you know what any of this stuff means.
Technical Curriculum for the Technical Lawyer
All credit estimations are based on undergrad credits at a major state university. They'd probably tend toward the intense side (by lawyer standards, due to technical content)... this is after all a lawyer program, not some sort of community college technician program.
Basic Computer Science (Semester)
A four-credit course on some of the basics of computer science. This is a practical course highly focused on equipping lawyers, so we'll hold the stuff that real computer scientists start with, like set theory and discrete mathematics. Instead, we'll do some basic programming in Python or similarly friendly, yet powerful language. We'll cover basic complexity theory. We'll zoom right to the end of the P=NP? debate and discuss the kind of problems that computers can not do. (Example: Brute force solution of the traveling salesman problem. Even a lawyer can be shown why the brute force solution doesn't work; they'll have to take our word for it that there is no other known efficient solution guaranteed to find the best solution.) We'll cover basic information theory, emphasizing not so much the mechanics of transmission and error correction, but how information flows and is in many ways conserved like energy, being neither created nor destroyed in many ways. We'll discuss some simplified compression techniques that the students can implement (with substantial help from the prof), with an eye on equipping the class for the encryption class.
I know that looks like a lot, but to the extent possible, we really will skip over the foundations and cover just the mentioned topics. It will probably be hard to convince the CS professor to skip as much "fundamentals" as I'm talking about here, but it can and should be done. These are going to be lawyers, not programmers.
The ulterior motive for this class is not to actually teach the students how computers work. Instead, it's to teach students how computers don't work. To impress upon our technical-lawyers-to-be that computers are not magic boxes. That just because somebody claims something is possible does not mean it is. That just because you wish for it does not mean it's possible. (Can we enroll some managers in this course too, please?)
At some point in the curriculum, we would issue the students an impossible problem, either truly impossible or one the students simply don't stand a chance of doing in time. Ideally, it should be an actual 300-level assignment from a real Computer Science program. (My first choice would be some multithreaded program from an OS class.) Hopefully the lesson will not be lost on the students.
This is also a weeding course, to see if you really should be doing technology law and not some other branch.
More Info Theory
I hesitate to call it "Advanced Information Theory for Lawyers" but I suppose that's how it would look on the syllabus.
Again, we obviously can't cover the mathematical foundations, but we can go over what it is, what the technologies do, the history of the law surrounding these technologies, and cover things they can't do. Cover encryption, hashing in the context of digital signatures, the Snake Oil FAQ. More emphasis on what computers can and can't do, by looking at current technologies and discussing what it takes to make them work at a high level.
Assuming a large enough class, it might be fun to have the students work in pairs or small teams for three or four days near the beginning of the course and ask them to come up with some encryption technique, any encryption technique that works on medium-sized snippets of text. (We do not give them much time because we do not want terribly pseudo-sophisticated technique.) Then use some prepared programs to break right in front of the class the inevitable Caesar cipher solution, and a couple of other common ones that can be automatically broken on sufficiently large text sizes. Having their own encryption broken should teach them quite a bit about the difficulty of good encryption.
The statistics of false positives should go here. Also, at some point in the class we'd pose the question "Bob has a computation that will take thirty-two years on modern hardware. Assuming Moore's Law (specifically, "the computational value available per dollar doubles every year", which isn't quite right but it's close and makes simple calculations possible) holds and he can only spend the money once, when should he start his computation?" In fact, as many other similar brain-expanding paradoxes should be presented, as brain-expansion, not education in the rote-learning sense, is really the point. Too many lawmakers have never had to deal with exponentially-growing functions.
(Answer: For simplicity, assume he's starting in 2000. If he starts in 2000, his computation finishes in 2032. If he waits until 2001, his computation takes 16 years, finishing in 2017. If he starts in 2002, his computation takes 8 years, ending in 2010. For 2003, 4 years, ending in 2007. For 2004, 2 years, ending in 2006. For 2005, 1 year, also ending in 2006. After that, it always finishes after 2006.
This is non-intuitive to most people, who would normally think that the sooner, the better.)
I think this would be 3 credits.
Networking & Culture
Practical networking, not theoretical, so, an overview of Internet technologies and telephony technologies. History of technologies. Technologies built on those technologies. Philosophy of the various technologies (i.e., differences between open and closed networks, smart and stupid networks) and the practical effects of those technologies. Sample essay question from the final exam: "Would the Internet have developed if it were based on smart networks? How would it be different? For whom would it be useful? What uses, if any, of the modern-day Internet would not be possible, either technically or economically?"
To fill in the rest of the time (I don't think this would take all semester), cover the various cultures of computer users. You can't understand the way the tech industry has played out without understanding some of the culture clashes that have taken place, such as the GNU movement, and the wacky world of UNIX.
The reason the relatively small domain of "networking" in computer science rates a whole course for lawyers is that it is networking that brings people together, and it is only when there is more then one person involved that there is any need for law. Thus, networking has a much greater impact on the law then a field like "machine learning" does.
History & Case law
A history of computer science and computer law from a technology standpoint, whatever history and case law the other classes don't cover. Show some patents. Show why the XOR cursor patent was stupid. (If at all possible, assist the class in reconstructing the ideas behind the patent on the spot, and highlighting the absurdity of a patent when even a class of lawyers can figure it out. This means basic computer science is a pre-req to this course.) Whatever other misc things make sense.
This is the course that is primarily responsible for tying together the brief, breezy tech education they got from the other courses and tying it back into their major. It is unavoidable that certain value judgements will be made, as in the previous paragraph where I refer to a patent as "stupid". I know universities prefer not to express opinions, but one has to be pretty, shall we say, confident in the legal system to believe that every decision the legal system has made was correct, by any standard. Of course the class should be free to disagree without penalty, as long as they support their argument. (I assume this is standard practice in higher level lawyer courses when it comes to matters of opinion like this, but I don't know.)
I see this as a four-credit course but as this is the meat of the whole thing, it could easily be two 3- or 4-credit courses. Probably ought to be considered senior-level courses as well.