Summary of changes: * 300-level optional courses added * 401 becomes 4 credits * 446 added to list List (see notes below): CSE331 Software Design & Implementation (1) CSE333 Systems Programming (2) CSE341 Programming Languages CSE344 Intro to Data Management CSE352 Hardware Design & Implementation (3) STAT391 Probability & Statistics for Computer Science (4) CSE401 Intro to Compiler Construction CSE403 Software Engineering CSE421 Intro to Analysis of Algorithms CSE427 Computational Biology CSE431 Intro to Complexity CSE440 Intro to HCI CSE444 Intro to Database Systems CSE446 Machine Learning CSE451 Intro to Operating Systems CSE455 Computer Vision CSE457 Computer Graphics CSE461 Computer Networks CSE466 Software for Embedded Systems CSE467 Advanced Digital Design CSE471 Computer Design and Org CSE473 Artificial Intelligence CSE484 Computer Security (1) Required for Computer Science and Computer Engineering Software Track; therefore does not count as elective credit for these (2) Required for Computer Engineering Hardware Track; therefore does not count as elective credit for this (3) Required for Computer Engineering; therefore does not count toward elective credit for Computer Engineering (4) For Computer Engineering, students may count STAT390 or STAT391 toward their Math/Science electives. They may count STAT391 toward their CSE electives only if they do not count a STAT course toward their Math/Science electives (i.e., "no double dipping").