Well it's time to enroll in classes for next year. I'm having a very hard time choosing. As you can see, my rating 'system' didn't help much. Most ended up getting 8's! Check out the lineup:
CSE 420, Computer Architecture
offered in Fall, Spring
Description: Organization and architecture of computer systems. Arithmetic Logic Unit and control unit implementations. Hardwired and microprogrammed control. Pipelined processors; data and branch hazards. Memory hierarchy and storage devices. Input-output and peripheral devices. Advanced architectures.
Rating: This class is the second part to CSE320, which was too much hardware and not enough software for me to enjoy. (-5)
Score: -5
CSE 422, Computer Networks
offered in Fall, Spring
Description: Computer network architectures and models. Physical media and signaling. Data link protocols. Medium access control. Routing and IP. Transport services including TCP/UDP. Network applications. Local-area and wide-area networks.
Rating: There were times when I was interested in more of the networking side (mostly in high school), and recently I've been thinking a lot about networks and distributing or collecting resources (distribute data, collect CPU idle cycles, etc). I think I'd like this class a lot. (+5) I've also talked with others who like this class. (+3)
Score: +8
CSE 435, Software Engineering
offered in Fall
Description: Software lifecycle including specification, design, coding, testing, and verification of a software product. Stepwise refinement and traceability. Software maintenance and documentation.
Rating: I consider this class the second part to both CSE335 (OO Software Design) and CSE331 (Algorithms and Data Structures). These classes are in my top list of great classes. (+5) I've heard from others that this class is fairly useful, and it also helps prepare you for the capstone. (+3)
Score: +8
CSE 440, Introduction to Artificial Intelligence
offered in Fall
Description: Fundamental issues in intelligent systems. Knowledge representation and mechanisms of reasoning. Search and constraint satisfaction. Agents. Application areas of AI and current topics.
Rating: Artificial Intelligence gets a +5 in my book but as I dug deeper and heard what people had to say, I changed my mind. First, I heard from multiple people that the class doesn't seem to have anything to do with AI and more first-order logic (CSE260 all over again). (-6)
Score: -1
CSE 450, Translation of Programming Languages
offered in Spring
Description: Theory and practice of programming language translation. Languages, grammars and parsing. Lexical, syntactic and semantic analysis. Compile-time error handling. Code optimization and code generation.
Rating: Everyone calls this class "compilers." I've heard its fun. (+3) This is a class who's description only recently appealed to me. I have a book about Microsoft C# 2005 and .NET 2.0, and it has been pretty much an eye opener into how .NET languages compile and what JIT really is, and how I can modify the CIL code of any assembly for fine tuning or fixing defects in code you dont have. I'm in. (+5)
Score: +8
CSE 452, Organization of Programming Languages
offered in Fall
Description: Organization of programming languages. Type systems. Alternative execution models. Comparison of language features: functional, imperative, logical and object-oriented.
Rating: Many people I know are taking this because you do some projects python. I like python (+3) There are many projects I would I could have done in python, but I'm glad I did it in c++ because I think I might have learned more. Also, my roomate took this class I believe he said that the projects don't really complement the class material, and the class material seems outdated. (-3). I also can't see the real world value in this class as much as I can in others. (-2)
Score: -2
CSE 460, Computability and Formal Language Theory
offered in Fall, Spring
Description: Formal models of computation such as finite state automata, pushdown automata and Turing machines. Formal definitions of languages, problems, and language classes including recursive, recursively enumerable, regular, and context free languages. The relationships among various models of computation, language classes, and problems. Church's thesis and the limits of computability. Proofs of program properties including correctness.
Rating: People who liked 260 like this class. (-2) No programming, only theory. We only touched on languages, problems and language classes during the computational complexity theory section of CSE335. It didn't appeal to me. (-6)
Score: -8
CSE 471, Media Processing and Multimedia Computing
offered in Fall
Description: Basic operations for processing images, video, and audio. Devices for input and output. Data formats and compression. Tools for processing images and sound. Multimedia authoring tools. Applications.
Rating: Owen teaches this class. He got down to business everyday but still managed to keep things interesting. This class sounds pretty cool. (+5). You can check out his page at
http://www.cse.msu.edu/~cbowen/.
Score: +5
CSE 472, Computer Graphics
offered in Spring
Description: Graphics systems. Two- and three-dimensional imaging geometry and transformations. Curve and surface design. Rendering, shading, color, and animation. Graphics programming.
Rating: This one sounds a bit better to me than 471, it also may be more useful. Owen teaches this as well (i think). (+8)
Rating: +8
CSE 480, Database Systems
offered in Spring
Description: Storage of and access to physical databases including indexing, hashing, and range accesses. Relational data models, database design principles, query languages, query optimization, transaction processing and recovery techniques. Object-oriented and distributed databases.
Rating: Poeple have had positive things to say about this class, except the guy who said he "hated all databases". In high school I took a course called Oracle Internet Academy where they taught us SQL and ERDin the beginning, and then Oracle9i technologies after that. CSE331 let me see into the underlying data structure Oracle or any other database software might implement, and why they implement it. This class appeals to me a lot. (+5) And again, I think it gets extra points for usefulness. (+3)
Score: +8
I'd like to hear any opinions you have, please!