What's New
- iriver Lplayer teardown
- Sipura SPA-841 teardown
- Robotic locomotion
- Finding value in work
- ZFS: the final straw
- Cross-blog pimpage: sixproducts.com
- Running AbstractSpoon ToDoList under Wine
- Aoyue 906 Hot Air Rework Station review
- What I learned from setting up ZFS on my fileserver
- Nokia E65 review: how does it stack up against a 5-year-old Siemens ME45?
- Extending battery life on the Dell XPS M1210
- A quick guide to using MySQL in Python
- Market segments and tactility: the new Apple iPhone
- Cree XR-E LEDs
- What's New block for Drupal
- Google calendar for Sydney adventure and MTB races
- Background Check Antivirus
- Multithreading and performance
- DVI on laptops
- Dell XPS M1210 review
- Improving university for developers
- Automatic Wealth for Grads, by Michael Masterson
- Converting Access databases to PHP/MySQL webapps
- Testing the board
- Assembly
- Making a PCB
- Random bits and pieces
- One weekend, one PCB layout
- Commitment
- Accounting software
- More LTSpice rambling
- The things you find...
- Playing catchup
- Market research
- What type of business?
- Introduction
- New look
- Integrating the H-bridge and its controller
- Using CPLDs and FPGAs in hobby electronics
- A simple logic analyzer
- I2C-based H-bridge controller with PWM
- The virtues of small development teams
- Building a Sumo robot (summary)
- High-power LED mountain bike light
- Optimizing your Start menu for fast program access
- The best batteries in the world...
- Battery-powered USB iPod charge cable that requires no special components
- How to build a simple Luxeon LED bike headlight

Functional
Functional Programming
Object Oriented Programming
Yeah, I attended subjects for both, but I never managed to grasp either that well while I was at uni. Both of them are a fairly large departure from plain sequential, procedural development. They need you view problems from a different angle. A subject that wrapped TDD and OO together would probably manage much better than just throwing java at students and telling them to code in an OO fashion.
Also unit testing would have been a good subject in its self. I only heard of it in passing while at uni, but it's one of the things I do every day. Hmm, Refactoring and Patterns would also fall into that camp but they're less useful until you actually have experience with the problems they solve.
Managing production systems, i.e. upgrades, patching, change management is also one of those tasks that isn't really talked about much, but ends up becoming very important.
In many ways I think that software engineering would be better taught with apprenticeships. Have students work part-time and go to uni part time for 4 years. I mean most of the things your talking about like source control, task management, continuous integration etc don't come into play until you work on medium to large systems. I know as a student I never worked on anything close to that size.