Most classes I took beyond the sophomore year required rather involved projects to be delivered. Be it a creating a compiler, a mini OS or a peer-to-peer chat client. All of those had requirements discovery, deadlines and checkpoints. We also worked with a partner which meant dealing with integration issues and debugging other person's code, which made me appreciate value of a source code control system.
The classes I regret taking had to do with "hot" industry technologies such as Data Warehousing, Applets, JSP. Spending those credits on something like Graph Theory or deeper dives into Operating Systems/Computer Language design would have been more rewarding.
The classes I regret taking had to do with "hot" industry technologies such as Data Warehousing, Applets, JSP. Spending those credits on something like Graph Theory or deeper dives into Operating Systems/Computer Language design would have been more rewarding.