Motions for Permanent Undergraduate Course Numbers Brian L. Evans On Behalf of the ECE Curriculum Committee September 21, 2015 Motion #1 Part 1 EE 312H Software Design and Impl. I Basic problem solving, design and implementation techniques for imperative programming; structured programming in the C/C++ language; programming idioms; introduction to software design principles, including modularity, coupling and cohesion; introduction to software engineering tools; elementary data structures; asymptotic analysis. Meets for three lecture hours and one lab hour each week. Electrical Engineering 302 and 302H may not both be counted. Prerequisite: The following coursework with a grade of at least B: Biomedical Engineering 303 or Electrical Engineering 306, and Electrical Engineering 319K. Motion #1 Part 2 Resulting Pre-requisite Changes • EE 422C Software Design and Implementation II Prerequisite: Computer Science 312 or Electrical Engineering 312 or 312H with a grade of at least C-. • EE 445L Embedded Systems Design Lab Electrical Engineering 312 (or 312H) and 319K with a grade of at least C- in each; Electrical Engineering 411 and 313, or Biomedical Engineering 311 and 343, with a grade of at least Cin each; and credit with a grade of at least C- or registration for Aerospace Engineering 333T, Biomedical Engineering 333T, Chemical Engineering 333T, Civil Engineering 333T, Electrical Engineering 333T, Mechanical Engineering 333T, or Petroleum and Geosystems Engineering 333T. Motion #1 Part 3 Resulting Pre-requisite Changes • EE 445S Real-Time Digital Signal Processing Lab Prerequisite: Electrical Engineering 312 (or 312H) and 319K with a grade of at least C- in each; Biomedical Engineering 343 or Electrical Engineering 313 with a grade of at least C-; credit with a grade of at least C- or registration for Aerospace Engineering 333T, Biomedical Engineering 333T, Chemical Engineering 333T, Civil Engineering 333T, Electrical Engineering 333T, Mechanical Engineering 333T, or Petroleum and Geosystems Engineering 333T; and credit with a grade of at least C- or registration for Biomedical Engineering 335 or Electrical Engineering 351K. • EE 360C Algorithms Prerequisite: Computer Science 312 or Electrical Engineering 312 or 312H with a grade of at least C-; and Computer Science 313K or Mathematics 325K with a grade of at least C-. Motion #1 Part 4 Resulting Pre-requisite Changes • EE 460M Digital Systems Design Using HDL Electrical Engineering 312 or 312H, 316 and 319K with a grade of at least C- in each • EE 460N Computer Architecture Electrical Engineering 306, 312 (or 312H), and 319K or Computer Science 312 (or 312H) and 429 (or 429H) with a grade of at least C- in each • EE 361Q Requirements Engineering Prerequisite: Computer Science 312, 312H, or Electrical Engineering 312, 312H, with a grade of at least C-. Motion #2 EE 460D Operating Systems Introductory course on operating system design and implementation; the shell; process management and system calls; memory management; thread management, scheduling, synchronization and concurrency; file systems; input/output systems; virtual machines; networking and security. Meets for three lecture hours and one lab hour each week. Electrical Engineering 460D and 379K (Topic: Operating Systems) may not both be counted. Prerequisites: Upper-division standing in the major; Electrical Engineering 312 and 319K with a grade of at least C- in each; and Mathematics 325K with a grade of at least C-. Motion #3 EE 360Q Multicore Computing Theoretical and practical aspects of designing multicore software systems; programming constructs for concurrent computation, openMP, sequential consistency, linearizability, lock-based synchronization, lock-free synchronization, wait-free synchronization, consensus number, software transactional memory, testing and debugging parallel programs, race detection, concurrent data structures such as stacks, queues, linked lists, hash tables and skiplists, formal models, temporal logic, reachability analysis, and parallel graph algorithms. Meets for three lecture hours each week Electrical Engineering 360Q and 379K (Topic: Multicore Computing) may not both be counted. Prerequisite: Upper-division standing in the major, and Electrical Engineering 422C with a grade of at least C-.