Slashdot Mirror


Convincing Colleges to Upgrade Their Classes?

Pray_4_Mojo asks: "I'm an engineering student at the University of Pittsburgh, and I'm currently taking a required class known as 'Computer Interfacing'. While I enjoy the instructor, I find most of the material to be severely dated. We will spend the majority of the class covering RS232/XMODEM/Token Ring means of computer-to-computer communication. Almost no mention of USB, Firewire, or IRDa is made within the class. I am trying to convince my professor that this material is relevant, as these types of interfaces will be dominate in the world we future grads will be working in. As an example, I demonstrated that the keycard access system to gain access to the Interfacing Lab has a USB port for data download/firmware programming. The professor seems interested, but it seems that I need to convince the department to revise the course requirements. Has anyone attempted to modernize their CS/Engineering program and met with success?"

14 of 115 comments (clear)

  1. Egads! by jo42 · · Score: 4, Funny

    What next? Sneakernet?? 80K hard sectored 5.25" floppies??? Two tin cans and a string???? And this college degree is supposed to show that you are educated and get you a job in the real world?

  2. The concepts you will learn are the same... by gtwreck · · Score: 5, Insightful

    It's not about whether or not you have experience in the latest tools and technologies. It's whether you have the fundamentals in place to allow you to apply that fundamental knowledge to any other system.

    In the specific case of serial interfaces, there really isn't all that much different between RS-232, RS-485, and USB or Firewire. They are all serial interfaces that employ the same fundamental concepts. In the real world you'll have to apply that knowledge to any number of serial interfaces.

    The same logic can be applied to a discussion yesterday about using MS or open source programming environments in a CS department.

    1. Re:The concepts you will learn are the same... by itwerx · · Score: 5, Insightful

      No, not at all. (Are you trolling? :)
      You are told to forget the technology which was used to convey the concepts, but the concepts are where the value is.
      Here's an example.
      If you want to learn how to fly a 747 you don't start out on one! You spend many years and tens of thousands of dollars learning on the concepts on smaller aircraft. Granted, knowing the gauge layout of a Cessna has zero relevance to a 747 but the concept of watching your fuel levels applies equally well in either case.
      So yes, when you get to 747 school they will say "forget all that other airplane stuff" but they're not really telling you to forget the concepts, just the nitty-gritty details that you don't need any more.
      Compres vous?

    2. Re:The concepts you will learn are the same... by cybermace5 · · Score: 4, Informative

      No.

      USB and Firewire are vastly different from EIA-232 and siblings.

      USB is much closer to Ethernet than it is to EIA-232. I've done some serial development and some USB development, and the USB development is abstracted from hardware by several layers; while serial is barely abstracted by one layer (in microcontrollers, if you're lucky to get a UART).

      It really is different. I would agree that students would benefit from learning more modern interfaces later on, though EIA-232 is perfect for teaching basic communications concepts. I certainly had difficulty the first time I developed a USB peripheral; it had never been taught, if barely mentioned at all.

      It makes sense now. The abstraction almost makes it easier to develop for on the PC side, and there are amazing features built right into the protocol. A simple microcontroller can change from a keyboard, to a mouse, to a joystick, or dozens of other devices with a simple change in firmware.

      --
      ...
    3. Re:The concepts you will learn are the same... by kooshball · · Score: 3, Insightful
      It costs an unbelievable amount of money (millions of dollars) to design and test a curriculum.

      I'm not sure where you went to school, but I've never studied or taught anywhere that spent ANY money on designing the curriculum. And testing it? Forget it!

      Most professors are left to their own devices to cover what they like in class as long as they hit a few basic points. For instance, compare the syllabi of the same Macroeconomics course as taught by a Keynesian and a Monetarist who studied under Milton Friedman. They will look like completely different courses!

      The first course that I ever taught was a core undergraduate Microeconomics course. When I asked the chairman of the department what I should cover, he told me that I should take a look at the last semester's syllabus for ideas, but could really cover anything I wanted.

  3. The new technologies are bad to learn from by LordNimon · · Score: 4, Interesting
    The newer technologies are much harder to learn from than the older ones. The speeds are much higher, the protocols are more complicated, and the tools are more expensive. For a beginner learning this stuff, you never want to work with the latest technologies.

    If you really want to learn about Firewire, do something with it for your Senior project.

    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart
  4. Real experience modernizing curriculum by nellardo · · Score: 4, Interesting
    Back in the day, in the early 90's, I was largely responsible/to blame for switching Brown University's undergraduate first semester programming course to object-oriented programming. It had been teaching structured programming, but industry at that time was following object-oriented design precepts (even if using languages like C). The faculty all firmly believed in OOP, and taught it in all upper-level courses. But it was seen as "too advanced" for beginning students.

    As it turned out, the real problem was not teaching OOP to the students. OOP is easier to explain to new programmers than structured programming (people use real-world objects all the time - not so much real-world procedures). Half-way through the first semester, the students could implement Tetris.

    The real problem was retraining the faculty. Even though they knew OOP was a good thing, it took them a while before they had internalized OOP enough to present, e.g., algorithms and data structures in an object-oriented style. No one believed that you could teach inheritance and polymorphism before you taught loops, conditionals, and arithmetic.

    Faculty teaching the intro courses may be in touch with industry and research. That's not enough. The faculty need to rethink an entire course to present the right academic material in a modern, industry-relevant way. If the faculty can do that (and, make no mistake, it isn't easy), they you'll get a course the students love, that will get them a job, and that will prepare them for a strong academic program as well.

    For the truly curious, the textbook for that course is actually still in print, even though it depended on Borland Pascal, which is long-since defunct.

    --
    -----
    Klactovedestene!
  5. College is not about getting a job by lkaos · · Score: 3, Interesting

    There are two types of jobs out there: 1) ones that require experience and 2) ones that don't want experience because they want groom you.

    For the first group, there is no way that you could possibly gain enough experience in 6-9 hours a week for four years. That's only about 4-6 months of professional experience (about two full-time internships if you're so lucky).

    For the second group, employers are more interested in finding someone who is a good problem solver and has the ability to pick up newer technologies quickly. In a lot of ways, as an employer I'd rather have someone who learned COBOL at school for fear that they'd carry bad habits if they knew C++ or a newer language that I'd expect them to use on the job.

    <Open Source Evangelizing>
    Of course, working on Open Source software can give you the desired experience and prove you have the ability to learn quickly on your own :)
    </Open Source Evangelizing>

    --
    int func(int a);
    func((b += 3, b));
  6. Teaching would be a great job by hengist · · Score: 3, Insightful

    if it wasn't for the students.

    I teach two undergraduate courses. I know what it's like to have students complaining about the content of a course, and I have two comments about this topic.

    Firstly, changing what is taught in a course is very very very very hard work, and a course that has been restructured or had its content changed is very very very likely to have problems with said new content. It is simply not practical to keep updating a course to deal with new technology. Once a course is stable, it is far better to leave it that way. Also, the staff teaching that course must spend time doing research and likely supervising postgrad students. They must do this to keep their job and to maintain the reputation of the university.

    Secondly, universities are not vocational training institutes. University teaches the basic theory and concepts behind the technology, and teaches students how to learn these concepts. The student should then be able to apply these theories and concepts in an employment situation.

    If you want to learn how to use new technology solely to apply those skills to a job, go to polytech or do a training course. Don't sit around whining to the course instructor, because frankly he probably knows a hell of a lot more about how to run a course than you do.

    1. Re:Teaching would be a great job by i_am_nitrogen · · Score: 3, Insightful

      DUDE, you're not getting the POINT. University is NOT FOR GETTING PEOPLE JOBS!!! It's for academic enrichment, broadening your horizons, learning things because they're interesting, and simply learning how to learn. Stop complaining and either be the change you want to see in the world, or go somewhere else. Why don't you teach your own course about the latest industry standards?

      As nearly everyone else has said... it's the concepts that matter. Whether it's at 128kbits or 1mbit, a serial communication interface with a tx line and an rx line will always have the same basic concepts.

  7. Re:Fake Assembly by nbvb · · Score: 4, Informative

    Then you don't understand what a CS degree is good for.

    My suggestion: Go to Chubb.

    If you start thinking in the "That's not practical, who cares" mode, you belong in a trade school.

    Sorry, I know that's not very politically correct, but it's the TRUTH.

    Now, if you want to learn real computer SCIENCE, stick it out.

    Learning assembly language for a theoretical computer is a great exercise -- you have to actually exercise that mush between your ears!

    My favorite class in CS was Theory of Digital Machines.... designing AND, OR, NOT gates, building some theoretical microprocessors .... stuff that isn't "practical", but that theory means the world to you later on ...

    Again, if you want practical, go to Chubb. If you want to learn something, stick it out ...

    --NBVB

  8. RS232 Is EVERYWHERE by muscleman706 · · Score: 4, Insightful

    I don't know about Token Ring, but RS232 is all over the place in industrial hardware like barcode scanners and other non-PC hardware. I think it is much simpler to program both for the programmers and the hardware designers. Also, remember that Intel came up with USB to sell processors because USB is a total CPU hog as compared to FireWire. So, while your PC does not have a problem with this now, certainly industrial hardware does not have the infrastructure on board to deal with USB. So, I think the appropriate thing is to talk about RS232, USB, IrA, BlueTooth, and WAP. You want BlueTooth because it is going to be in all cellphones, hence proliferate into everything else. You want WAP because for things where BlueTooth is too slow, you will want a higher-speed wireless system. For instance, you could have a WAP enabled Digital Video Camcorder that automatically pops up a recording window when you start recording, all without any wires!

  9. Math by jbolden · · Score: 3, Insightful

    When you first learn math we don't nursery school / kindergarden with "Let Delta be a derived functor mapping abelian catagories...."; you don't learn 20th century math at all. Rather what you learn is:

    counting -- a technology that is certainly tens of thousands of years old
    arithmetic -- a technology that is many thosands of years old and was fully developed 5000 years ago
    algebra of one variable -- a technology that is a thousand years old
    geometry of 2 dimension -- a technology that is over 2000 years old.

    And if you are really good at highschool you learn
    calculus of one variable -- a technology that is over 300 years old

    By college the undergraduates make it up to about the civil war.

    ____________

    There is a difference between education and vocational training. Education teaches you how to evaluate information and how to learn new information. Vocational training teaches you specific information for a specific field. There goal is to teach concepts not technologies.

    What you are learning are very simple hardware / software interfaces. Why use complex interfaces of modern hardware that confuse the issues on an academic course? Leave that for vocational schools.

  10. You wouldn't benefit anyway this time around by James+Youngman · · Score: 3, Interesting
    I think you don't stand a chance. To get the course material updated, you will have to do one of two things:-
    1. Get the lecturer replaced with someone else - this means someone else has to be willling to teach the course
    2. Find the lecturer a whole lot of free time to revise the course material (which I assume has been generated over a period of years) all at once. This probably means them taking time away from research, which is what you professor probably feels he's there for anyway.
    Even if you succeed, the material won't be updated while you're on the course. At best, the next course would start with the new material.

    (This reflects the situation in the UK, where academic teaching staff in Universities almost always have research commitments (and publications are used as a performance metric).

    Some of the material you are working with is not so bad, either. Learning about RS232 might teach you several things that are generically useful in designing system interfaces :-

    1. It's Not The Hardware, It's The Protocol Design, Stupid
    2. Race conditions between the two ends
    3. Reliability measures (Checksums, CRCs, ACK/NAK, windows)
    4. Resilience versus Bandwidth (e.g. max reliable baud rate ~ 10000/(RS232 cable run in feet))

    It's been a while since I've worked heavily in industrial interfacing, but I'd be surprised if USB is even relevant to that at all. Think more along the lines of RS422, 10baseT, and optical fibre (often carrying converted RS232, in fact).

    I'm not particularly familiar with XMODEM, but I think it's likely to help you undersand valuable facets from the above (bandwidth/reliability tradeoffs, protocol features for catching errors, latency versus throughput, bandwidth-delay products). Token Ring seems an odd choice to me, though. After all the hardware must be tricky to get these days (or perhaps your course has no hands-on component, which would make hardware availability irrelevant).

    One of the most interesting hardware interfacing things I've done was implement both ends of a mostly-symmetrical serial protocol. One end was implemented as a set of four cooperating threads, and the other as a state machine. One way of doing it was (in that case) much much easier than the other (less code and more reliable).