This next semester, I have Operating Systems, Software Engineering I and Computer Organization.
SE I is all about practices. How to design stuff, how to test stuff, how to communicate with a client. This one has a major project.
"This course will provide an in-depth study and analysis of at least one large scale software
system. Students will analyze, design, and partially implement an extensive software
project. Case studies will address major system concerns such as specification,
classification, inter-relationships, validation, and evaluation. Other topics include the use of
UML, prototyping, data flow diagrams, etc."
Computer Organization "This course focuses on the design of microprocessors, especially
the Arithmetic and Logic Unit and the Control Unit, as well as the memory hierarchy, especially registers,
DRAM-based main memory and caches"
Operating Systems. "
An introduction to operating systems concepts. Topics covered include: interrupts,
memory allocation, virtual memory techniques, process scheduling and synchronization,
deadlocks, resource allocation, and file systems. A major programming project will be
assigned to provide experience with operating system design."
From what I hear is, Computer Organization is probably the hardest class in the major.