The Washington State University Catalog

School of Electrical Engineering and Computer Science

The online catalog includes the most recent changes to courses and degree requirements that have been approved by the Faculty Senate, including changes that are not yet effective.

School of Electrical Engineering and Computer Science

school.eecs.wsu.edu
EME 102
509-335-6602

Director, Boeing Centennial Chair in Computer Engineering, and Professor, P. Pande; Associate Director, Boeing Centennial Chair in Computer Science, and Professor, A. Kalyanaraman; Huie-Rogers Endowed Chair in Computer Science and Regents Professor, D. Cook; Distinguished Professor in Power and Regents Professor, A. Bose; Boeing Distinguished Professor of Electrical Engineering, and Professor, V. Venkatasubramanian; Professors, S. Broschat, J. Delgado-Frias, D. Heo, L. Holder, S. Roy, A. Saberi, N. Schulz, B. Shirazi, A. Srivastava, K. Wang; Associate Professors, V. Arnaoudova, B. Belzer, Z. Dang, J. Doppa, A. Gebremedhin, H. Ghasemzadeh, S. Gupta, C. Hundhausen, D. Kim, S. Lotfifard, P. Pedrow, J. Schneider, K. Sivakumar; Assistant Professors, G. Bhat, H. Cai, A. Dubey, A. Sukumaran Rajam, D. Tao, Y. Yan, J. Yu; Clinical Professor, A. O’Fallon; Clinical Associate Professors, A. Abu-Hajar, S. Arslan Ay, M. Kejariwal, J. Thompson; Scholarly Associate Professors, J. Murray, M. Torabi Konjin; Clinical Assistant Professor, J. Guerrero; Scholarly Assistant Professors, A. Jillepalli, S. Xie, B. Zeng; Teaching Assistant Professor, C. Cole; Professors Emeriti, D. Bakken, T. Fischer, C. Hauser, G. Hower, G. LaRue (Associate), R. Olsen, J. Ringo.

The School of Electrical Engineering and Computer Science offers courses of study leading to the degrees of Bachelor of Science in Electrical Engineering, Computer Engineering, Software Engineering, or Computer Science, Bachelor of Arts in Computer Science, Master of Science in Electrical Engineering, Computer Engineering, or Computer Science, Doctor of Philosophy in Electrical and Computer Engineering, and Doctor of Philosophy in Computer Science. The programs of study leading to a bachelor of science in electrical engineering, computer engineering, or software engineering are accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org. The bachelor of arts and bachelor of science computer science programs are accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.  In collaboration with the College of Arts and Sciences, an interdisciplinary degree leading to the Bachelor of Science in Data Analytics is also available (see Mathematics and Statistics for complete information).  

All the undergraduate programs in the School of EECS have five educational objectives. The first educational objective varies slightly across our degree programs: 1) Our graduates have professional careers in the electrical engineering industry or academia or are engaged in advanced studies (Electrical Engineering); 1) Our graduates have professional careers in the computer engineering industry or academia or are engaged in advanced studies (Computer Engineering); 1) Our graduates have professional careers in the software engineering industry or academia or are engaged in advanced studies (Software Engineering); and 1) Our graduates have professional careers in the computing industry or academia or are engaged in advanced studies (B.S. and B.A. Computer Science). The four remaining educational objectives are the same for all degree programs:  2) Our graduates adapt to changes in technology as well as to the needs of society.  3) Our graduates continue to seek knowledge to thrive in an increasingly globalized society.  4) Our graduates are successful team members or team leaders.  5) Our graduates conduct themselves with integrity and incorporate proper ethical considerations in their work. 

Electrical Engineering

The curriculum in electrical engineering is designed to give the student fundamental knowledge in the areas of general interest to all electrical engineers. The course of study is therefore oriented toward the basic theory and concepts which prepare students for entry into any of the many activities open to members of the profession including research, design, development, operations, management, teaching, sales, and consulting. Laboratory experience is emphasized to provide for familiarity with electrical, electronic and computing equipment and with experimental techniques. Modern laboratories are available for electrical circuits, electronics, power systems, wireless communications and computers. Students are exposed to a variety of up-to-date computing environments to aid in their studies.

The curriculum is designed so that the equivalent of the first three to four semesters may be transferred from community colleges with minimal difficulty. The additional basic material common to all branches of electrical engineering is concentrated in the junior year, and maximum flexibility is permitted in the senior year, allowing the student to develop a breadth of interest or to select an area of specialty. The program offers a two-semester senior design project that typically involves industry cooperation, and provides students with valuable experience in applying their skills to solve real-world problems.

Electrical Engineering Student Learning Outcomes

Students in electrical engineering will have acquired the following skills and knowledge by the time of graduation: 1) an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics; 2) an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors; 3) an ability to communicate effectively with a range of audiences; 4) an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts; 5) an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives; 6) an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions; 7) an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Computer Engineering

Computer engineering is a field of study that encompasses the fundamental principles, methods, and modern tools for the design and implementation of computing systems. Advances in technology are yielding smaller and higher-performing computer systems that appear in various applications, including communication systems, consumer products, and household appliances to name just a few. The computer engineering program provides a balanced perspective of both hardware and software elements of computing systems, and of their relative design trade-offs and applications. Computer engineering builds upon fundamental courses in mathematics, science, and the engineering disciplines to achieve a sound knowledge foundation and to develop breadth. Laboratory experiences are emphasized to provide students with background on experimental design and simulation techniques. Since core course sequences are completed in the junior year, students are able to pursue their career objectives with opportunities to select from a broad range of elective courses. These include computer engineering topics such as hardware design, VLSI design, embedded systems, computer architecture, networking, and operating systems.

The program culminates with a two-semester senior design project. The project involves industry cooperation and provides students with a major design experience addressing a broad range of issues, including technical subjects as well as economics, safety, and ethical and societal considerations.

Computer Engineering Student Learning Outcomes

Students in Computer Engineering will have acquired the following skills and knowledge outcomes by the time of graduation: 1) an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics; 2) an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors; 3) an ability to communicate effectively with a range of audiences; 4) an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts; 5) an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives; 6) an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions; 7) an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Computer Science

Computer science is a discipline that provides a scientific foundation for computing expertise and skills. The curriculum is geared to provide the fundamental computing concepts derived from mathematics and sciences, and the practical application of these concepts through substantial hands-on course project experiences. The coursework in computer science prepares students for a variety of careers that involve the extensive use of computers.

There are two major degrees offered within Computer Science: the BS in Computer Science, and the BA in Computer Science. Graduates in both the degree programs will have a solid technical background in mathematics and sciences. The BS degree requires substantial basic and advanced computer science course work and is the traditional computer science degree. The BA degree is designed for multi-disciplinary students who wish to learn the basics of computer science and apply it to a different field. A minor in another area, such as art, biochemistry, music, psychology, architecture, etc., is encouraged.

The program offers courses in a wide variety of topics including theory of computation, design and analysis of algorithms, software engineering, operating systems, computer networks and security, computer graphics, parallel and distributed systems, artificial intelligence, machine learning, and database systems. The coursework is supplemented by several general purpose computing labs dedicated to computer science students, and specialized labs for courses such as operating systems, software engineering, and computer networking. Option area course sequences allow students to specialize in specific areas such as artificial intelligence, software engineering, data sciences, and computer systems.

Computer Science Student Learning Outcomes

Students in computer science will have acquired the following skills and knowledge by the time of graduation: 1) an ability to analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions; 2) an ability to design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline; 3) an ability to communicate effectively in a variety of professional contexts; 4) an ability to recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles; 5) an ability to function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline; 6) an ability to apply computer science theory and software development fundamentals to produce computing-based solutions; 7) an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Software Engineering

Software engineering applies engineering practices to the development of software. The Software Engineering curriculum includes all the core requirements of the Computer Science program, along with advanced courses in software development, testing and validation, maintenance, security, and management and integration. Students learn about the real world challenges and requirements of the software engineering profession, such as delivering high quality software that meets user expectations, delivering software on time and within budget, maintaining software, and working effectively as part of a team. The program offers a two-semester senior design project that typically has an industry sponsor and provides students with valuable experience in applying their skills to the collaborative development of large-scale software applications. 

Software Engineering Student Learning Outcomes

Students in software engineering will have acquired the following skills and knowledge by the time of graduation: 1) an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics; 2) an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors; 3) an ability to communicate effectively with a range of audiences; 4) an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts; 5) an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives; 6) an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions; 7) an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

Data Analytics

An interdisciplinary undergraduate degree in data analytics is also available.  See the Program in Data Analytics for complete information.

Transfer Students

Students planning to transfer from other institutions should carefully note the sequence of courses. Transfers from community colleges should consult the information available on the Undergraduate Admission Web site or should write directly to the School of Electrical Engineering and Computer Science for specific information.




Schedules of Studies

Honors students complete the Honors College requirements which replace the UCORE requirements.


Bachelor of Arts, Computer Science (120 Credits)

Students may be admitted to the Bachelor of Arts in Computer Science degree program in either the School of Electrical Engineering and Computer Science (Pullman), or in the School of Engineering and Applied Sciences (Tri-Cities). Admission requirements are the same on all campuses, but the application process may vary.

Students are admitted to the Computer Science major upon demonstrating they are calculus-ready and making their intention known to the department. Calculus-ready is defined as having an ALEKS math placement score of 83% or higher; or completion of MATH 108, and 171 or a higher calculus course with a grade of C or better; or completing the Math AP with a score of 2 (places the student in MATH 171), or 3 (credit is given for MATH 171); or achieving an IB score of HL 5; or achieving a CLEP score of 50.

To remain in good standing students must complete CPT S 121, 122, and 223, or CPT S 131, 132, and 233, MATH 171, 172, 216, and PHYSICS 201/211, each with a grade of C or better, and earn a cumulative WSU GPA of 2.5 or higher upon completion of the above courses.

Alternate Pathway:
Completion of ALL standard pathway benchmarks and additionally: ENGLISH 101 or 105, CPT S 260, and MATH 273 or 301, all with a grade of C or better, and a 2.5 cumulative WSU GPA (or transfer GPA if no WSU GPA exists).

No courses listed in this schedule of study may be taken on a pass/fail basis. With the exception of CPT S 488, 489, and ENGR 489 all listed E E and CPT S courses, required electives, and prerequisites to these courses must be completed with a grade of C or better.
First Year
First TermCredits
Arts [ARTS]3
CPT S 121 or 13114
HISTORY 105 [ROOT]3
MATH 1714
PHIL 201 [QUAN]3
Second TermCredits
CPT S 122 or 13214
ENGLISH 101 [WRTG]3
MATH 1724
MATH 2163
Social Sciences [SSCI]3
Second Year
First TermCredits
CPT S 223 or 23313
CPT S 2603
Diversity [DIVR]3
Minor Elective23
STAT 212 or 3603 or 4
Second TermCredits
Biological Sciences [BSCI] with lab34
CPT S 3553
MATH 2202
Physical Sciences [PSCI] with lab34
Complete Writing Portfolio
Third Year
First TermCredits
CPT S 322 [M]3
ENGLISH 402 [WRTG] [M]3
Minor Electives (choose two)25 or 6
Science Elective (with lab)34
Second TermCredits
300-400-level Minor Elective23
CPT S 3023
CPT S 3173
CPT S 360 or 37014
Science Elective33
Fourth Year
First TermCredits
300-400-level Minor Elective23
CPT S 3503
CPT S 421 43
CPT S 4273
Humanities [HUM]3
Second TermCredits
300-400-level Minor Elective23
Advanced CPT S Electives (choose two)56
CPT S 423 [CAPS]43
Complete CPT S Exit Interview and Survey

Footnotes
1Students may choose between a C/C++ (CPTS 121, 122, 223, 360) path or a Java programming (CPTS 131, 132, 233, 370) path. Students should stick to one path option. The Java track is not available in Tri Cities.
2Elective credits may include a minor program. Completion of a minor is strongly encouraged.
3Science electives: A minimum of 15 credits required. Must include a year-long sequence (two semesters including a laboratory in each semester) of [BSCI] or [PSCI], and two additional science courses, one of which must have a laboratory component. Electives include BIOLOGY 106, 107; CHEM 101, 102 or 105, 106; PHYSICS 101/111, 102/112 or 201/211, 202/212.
4Consult with an advisor at campus of residence for allowed substitutions.
5Advanced CPT S Electives: 6 credits required. These credits must be in 300- or 400- or 500-level CPT S courses and they must include at least one of the following courses: CPT S 315, 415, 451, 471, or 475. A maximum of 3 credits from CPT S 490 and 499, or 3 credits from CPT S 488 or 499 may be selected as CPT S electives. Consult with advisor at campus of residence for course choices.

Bachelor of Science, Computer Science (120 Credits)

Students are admitted to the Computer Science major upon demonstrating they are calculus-ready and making their intention known to the department. Calculus-ready is defined as having an ALEKS math placement score of 83% or higher; or completion of MATH 108, and 171 or a higher calculus course with a grade of C or better; or completing the Math AP with a score of 2 (places the student in MATH 171), or 3 (credit is given for MATH 171); or achieving an IB score of HL 5; or achieving a CLEP score of 50.

To remain in good standing students must complete CPT S 121, 122, and 223, or CPT S 131, 132, and 233, MATH 171, 172, 216, and PHYSICS 201/211, each with a grade of C or better, and earn a cumulative WSU GPA of 2.5 or higher upon completion of the above courses.

Alternate Pathway:
Completion of ALL standard pathway benchmarks and additionally: ENGLISH 101, CHEM 105, CPT S 260, and MATH 273 or 301, all with a grade of C or better, and a 2.5 cumulative WSU GPA (or transfer GPA if no WSU GPA exists).

No courses listed in this schedule of study may be taken on a pass/fail basis. With the exception of CPT S 488, 490, 499, and ENGR 489, all listed E E and CPT S courses, required electives, and prerequisites to these courses must be completed with a grade of C or better.
First Year
First TermCredits
CPT S 121 or 13114
ENGLISH 101 [WRTG]3
MATH 171 [QUAN]4
PHIL 2013
Second TermCredits
CPT S 122 or 13214
HISTORY 105 [ROOT]3
MATH 1724
MATH 2163
Second Year
First TermCredits
CPT S 223 or 23313
CPT S 2603
MATH 2202
MATH 273 or 3012 or 3
PHYSICS 201 [PSCI]3
PHYSICS 211 [PSCI]1
Second TermCredits
CPT S 3173
CPT S 322 [M]3
CPT S 3553
PHYSICS 2023
PHYSICS 2121
CPT S Technical Elective23
Complete Writing Portfolio
Third Year
First TermCredits
CPT S 3023
CPT S 3503
CPT S 360 or 37014
ENGLISH 402 [WRTG] [M] 3
CPT S Technical Elective 23
Second TermCredits
CPT S 4273
Diversity [DIVR]3
STAT 3603
Computer Science Electives36
Fourth Year
First TermCredits
Arts [ARTS]3
CPT S 4213
Social Sciences [SSCI]43
CPT S Technical Electives 26
Second TermCredits
Biological Sciences with Lab [BSCI]4
CPT S 423 [CAPS]3
Humanities [HUM]3
Computer Science Electives36
Complete CPT S Exit Interview and Survey

Footnotes
1Students may choose between a C/C++ (CPT S 121, 122, 223, 360) path or a Java programming (CPT S 131, 132, 233, 370) path. Students should stick to one path option. The Java track is not available in Tri-Cities.
2CPT S Technical Electives consist of 4 courses (12 credits) taken from the courses listed below, with at least one course from the Software area and one course from the Data and Information Mangement area. CPT S 483 special topics course may also be considered as a CPT S Technical Elective with departmental approval. Consult your academic advisor. Systems: CPT S 411, 442, 455, 460, 464, 466; Data and Information Management: CPT S 315, 415, 451, 471, 475; Software: CPT S 321, 323, 422, 443, 479, 481, 484, 487, 489; Artificial Intelligence and Machine Learning: CPT S 434, 437, 440; Scientific and Visual Computing: CPT S 430, 442, 453.
3Computer Science Electives: Four additional courses (12 credits) at the 300-400-level that are not used as Technical Electives. At least 6 credits must be CPT S courses. Approved non-CPT S courses are: 300-400-level E E courses, CE 463, DTC 335, E M 464, MATH 315, 401, 420, 421, MBIOS 478, MSE 302, PHYSICS 303, 443, and STAT 436. Additional Free Electives may include a maximum of 3 credits each of CPT S 490 and 499, or 3 credits each of CPT S 488, 499, and ENGR 489.
4ECONS 101 or 102 recommended.

Computer Engineering (123 Credits)

Students are admitted to the Computer Engineering major upon demonstrating they are calculus-ready and making their intention known to the department. Calculus-ready is defined as having an ALEKS math placement score of 83% or higher; or completion of MATH 108 and 171, or a higher calculus course, with a grade of C or better; or completing the Math AP with a score of 2 (places the student in MATH 171), or 3 (credit is given for MATH 171).

To remain in good standing students must complete CPT S 121 or 131, MATH 171, 172, 220, 273, and PHYSICS 201/211, each with a grade of C or better, and earn a cumulative WSU GPA of 2.5 or higher upon completion of the above courses.

Alternate Pathway:
Completion of ALL standard pathway benchmarks and additionally: ENGLISH 101, CHEM 105, PHYSICS 202/212, E E 261, 262, MATH 315, all with a grade of C or better, and a 2.5 cumulative WSU GPA (or transfer GPA if no WSU GPA exists). Everett and Bremerton applicants follow the alternate pathway.

No courses listed in this schedule of study may be taken on a pass/fail basis. All listed E E and CPT S courses, required electives, and prerequisites to these courses must be completed with a grade of C or better.

First Year
First TermCredits
CHEM 105 [PSCI]4
CPT S 121 or 13114
ENGLISH 101 [WRTG]3
MATH 171 [QUAN]4
Second TermCredits
CPT S 122 or 13214
MATH 1724
MATH 216 3
PHYSICS 2013
PHYSICS 2111
Second Year
First TermCredits
CPT S 223 or 23313
E E 2144
MATH 220 2
MATH 273 2
PHYSICS 2023
PHYSICS 2121
Second TermCredits
Arts [ARTS]3
E E 2344
E E 261 3
E E 262 1
HISTORY 105 [ROOT]3
MATH 3153
Complete Writing Portfolio
Third Year
First TermCredits
E E 311 3
E E 321 3
E E 324 [M]4
E E 352 [M]3
ENGLISH 402 [WRTG] 3
Second TermCredits
Biological Sciences [BSCI]3 or 4
CPT S 360 or 37014
E E 3343
Engineering Science Elective23
STAT 3603
Fourth Year
First TermCredits
CPT E Technical Electives33
E E 4152
ECONS 101 [SSCI] or 102 [SSCI]3
Humanities [HUM]3
Senior Design Elective I43
Second TermCredits
CPT E Technical Electives36
Diversity [DIVR]3
E E 302 3
E E 416 [CAPS] [M]3
Complete CPT E Exit Interview and Survey

Footnotes
1Students may choose between a C/C++ (CPT S 121, 122, 223, 360) path or a Java programming (CPT S 131, 132, 233, 370) path. Students should stick to one path option. The Java track is not available in Tri-Cities.
2Engineering Science Elective: Choose from E E 331, 341, ME 301, or MSE 302. (Note: If either E E 331 or E E 341 is taken as an engineering science elective, it cannot also count as a technical elective.)
3Technical electives (9 credits) must be 300-400-level courses and must be chosen with an advisor's approval. Any of the following courses may be chosen to fulfill technical elective requirements: CPT S 317, 322, 350, 355, 411, 422, 430, 437, 440, 442, 443, 451, 452, 455, 460, 466; E E 331, 341, 351, 431, 432, 434, 451, 464, 466, 470, 476, 489, 496; One only of MATH 325, 340, 364, 415, 421, 440, 441, 448, 453, 464, 466.
4Senior Design Electives adhere to one of the following sequences: (1) ASIC & Digital Systems: E E 416 and 434; (2) VLSI Design: E E 466 and 416. Students are strongly recommended to complete both senior design elective sequences.

Electrical Engineering (124 Credits)

Students are admitted to the Electrical Engineering major upon demonstrating they are calculus-ready and making their intention known to the department. Calculus-ready is defined as having an ALEKS math placement score of 83% or higher; or completion of MATH 108, and 171 or a higher calculus course with a grade of C or better; or completing the Math AP with a score of 2 (places the student in MATH 171), or 3 (credit is given for MATH 171).

To remain in good standing students must complete CPT S 121 or 131, MATH 171, 172, 220, 273, and PHYSICS 201/211, each with a grade of C or better, and earn a cumulative WSU GPA of 2.5 or higher upon completion of the above courses.

Alternate Pathway:
Completion of ALL standard pathway benchmarks and additionally: ENGLISH 101, CHEM 105, PHYSICS 202/212, E E 261, 262, MATH 315, all with a grade of C or better, and a 2.5 cumulative WSU GPA (or transfer GPA if no WSU GPA exists). Everett and Bremerton applicants follow the alternate pathway.

No courses listed in this schedule of study may be taken on a pass/fail basis. With the exception of E E 488, E E 499, and ENGR 489, all listed E E and CPT S courses, required electives, and prerequisites to these courses must be completed with a grade of C or better. Students should also consult with an advisor regarding allowed course substitutions to the schedule of studies listed below.
First Year
First TermCredits
CHEM 105 [PSCI]4
ENGLISH 101 [WRTG]3
ENGR 1202
HISTORY 105 [ROOT]3
MATH 171 [QUAN]4
Second TermCredits
CPT S 121 or 1314
MATH 1724
MATH 2202
PHYSICS 2013
PHYSICS 2111
Second Year
First TermCredits
CPT S 122 or 1324
E E 214 4
MATH 2732
PHYSICS 2023
PHYSICS 2121
Second TermCredits
Arts [ARTS]3
E E 2344
E E 2613
E E 2621
ECONS 101 [SSCI] or 102 [SSCI]3
MATH 3153
Complete Writing Portfolio
Third Year
First TermCredits
E E 3113
E E 3213
E E 3313
E E 352 [M]3
Engineering Science Elective 13
Second TermCredits
E E 3023
E E 3413
E E 361 3
STAT 3603
Track Elective2,33
Fourth Year
First TermCredits
Diversity [DIVR]3
E E 4153
Engineering Science Elective 13
ENGLISH 402 [WRTG]3
Track Electives2,36
Second TermCredits
300-400-level Track Electives2,36
Biological Sciences [BSCI]3 or 4
E E 416 [CAPS] [M]3
Humanities [HUM]3
Complete E E Exit Interview and Survey

Footnotes
1Engineering Science Electives (6 credits): Choose from CE 211, ME 212, 301, MSE 302.
2Track Electives: Students follow one of five tracks for an emphasis in their degree program. A total of 15 credits are required for each track. Any electives within a track must be chosen from the list of approved technical electives in footnote 3. Power Track: required: E E 362 [M], 491, at least 6 credits from E E 486, 489, 492, 493, 494, and remaining credits from list of approved technical electives; Microelectronics Track: required: E E 351, 476, 496, and at least two from E E 431, 434, 464, 466, 488, 489, 499, with a maximum of 3 credits from 488 and 499 combined; Systems Track: required: E E 464, 489, at least one from E E 432, 451, and one from E E 351, 431, 432, 451, 470, and remaining credits from list of approved technical electives; General Track: at least one from E E 324 [M], 351, 362 [M], 489, and remaining credits from list of approved technical electives with a minimum of nine credits 400-level E E courses; or Computer Engineering Track: required: E E 434, 466, at least one from E E 324 [M], 334, 431, 476, CPT S 360, and remaining credits from list of approved technical electives with a minimum of three credits 400-level E E courses.
3Technical Electives approved for Power Track, Systems Track, General Track (minimum 9 credits 400-level E E courses), and Computer Engineering Track (minimum 3 credits 400-level E E courses) include: ASTRONOM 435, CE 463, CHEM 331, 333, 345, MATH 320 [M], 325, 340, 364, 401 [M], 402 [M], 415, 420, 421 [M], 440, 441, 448, 453, 464, 466, ME 304, 401, MSE 402, 403, PHYSICS 303, 304, 320, 443, 450, and 463, or any 300-400-level CPT S or E E course not used to fulfill other requirements.

Software Engineering (121 Credits)

Students are admitted to the Software Engineering major upon demonstrating they are calculus-ready and making their intention known to the department. Calculus-ready is defined as having an ALEKS math placement score of 83% or higher; or completion of MATH 108, and 171 or a higher calculus course with a grade of C or better; or completing the Math AP with a score of 2 (places the student in MATH 171), or 3 (credit is given for MATH 171); or achieving an IB score of HL 5; or achieving a CLEP score of 50.

To remain in good standing students must complete CPT S 121, 122, and 223, or CPT S 131, 132, and 233, MATH 171, 172, 216, and PHYSICS 201/211 or CHEM 105, each with a grade of C or better, and earn a cumulative WSU GPA of 2.5 or higher upon completion of the above courses.

Alternate Pathway (Everett students follow this pathway):
Completion of ALL standard pathway benchmarks, except CPT S 223/233, and additionally: ECONS 101 or 102, ENGLISH 101 or 105, MATH 220, and two of MATH 273 301, PHIL 201 or STAT 212, all with a grade of C or better, and a 2.5 cumulative WSU GPA (or transfer GPA if no WSU GPA exists). Everett applicants follow the alternate pathway.

No courses listed in this schedule of study may be taken on a pass/fail basis. All listed E E and CPT S courses, required electives, and prerequisites to these courses must be completed with a grade of C or better.
First Year
First TermCredits
CPT S 121 or CPT S 13114
ENGLISH 101 [WRTG] or ENGLISH 105 [WRTG]3
MATH 171 [QUAN]4
Math Requirement23
Second TermCredits
CPT S 122 or CPT S 13214
HISTORY 105 [ROOT]3
MATH 1724
MATH 2163
Second Year
First TermCredits
CPT S 223 or CPT S 23313
CPT S 2603
MATH 2202
Math Requirement22 or 3
PHYSICS 201/211 [PSCI] or CHEM 105 [PSCI]4
Second TermCredits
Arts [ARTS]3
CPT S 321 3
CPT S 3553
ECONS 101 [SSCI] or ECONS 102 [SSCI]3
Humanities [HUM]3
Complete Writing Portfolio
Third Year
First TermCredits
CPT S 3023
CPT S 3173
CPT S 322 [M]3
CPT S 360 or CPT S 37014
ENGLISH 402 [WRTG] or ENGLISH 403 [WRTG]3
Second TermCredits
Biological Science [BSCI]3
CPT S 3503
CPT S 4873
Diversity [DIVR]3
MATH/CPT S 453 or STAT 4193
STAT 3603
Fourth Year
First TermCredits
CPT S 4213
CPT S 422 [M]3
CPT S 4273
CPT S 4843
Software Engineering Option Course33
Second TermCredits
CPT S 423 [CAPS]3
CPT S 4763
Data and Information Management Elective43
Software Engineering Option Courses36
Complete CPT E Exit Interview and Survey

Footnotes
1Students may choose between a C/C++ (CPT S 121, 122, 223, 360) path or a Java programming (CPT S 131, 132, 233, 370) path. Students should stick to one path option. The Java track is not available in Tri-Cities.
2Math Requirement: minimum 5 credits from the following: MATH 273, MATH 301, PHIL 201, STAT 212.
3Software Engineering Option Courses (9 credits required): Any 400 level course in CPT S, E E, or MATH not used to fulfill major requirements. Upper-division courses in other disciplines may be used with prior approval by advisor.
4Data and Information Management Elective (3 credits required): Choose at least one from CPT S 315, 415, 451, 471, 475.


Minors

Computer Engineering

The minor in computer engineering consists of a minimum of 18 credits, 9 of which must be 300-400-level taken in residence at WSU or through WSU-approved education abroad or educational exchange courses.  Required courses include CPT S 223 or 233, E E 214, E E 234, and E E 324, and 6 credits from  any 300-400-level CPT S course (excluding CPT S 302), E E 334, 434, or 466. All prerequisites for these courses must be met. Each student’s program of study requires approval of the computer engineering undergraduate coordinator. For all courses and their prerequisites, a grade of C or better is required to complete the minor.


Computer Science

The minor in computer science consists of 20 credits which must include CPT S 121, 122, and 223, or CPT S 131, 132, and 233; and three 300-400-level CPT S courses, taken in residence at WSU or through WSU-approved education abroad or educational exchange courses, excluding CPT S 302 and 401. All prerequisites for courses in the minor must be met. The minor program must be approved by the computer science undergraduate coordinator. For all courses and their prerequisites, a grade of C or better is required to complete the minor.


Electrical Engineering

The minor in electrical engineering consists of 18 credit hours, 9 of which must be 300-400-level and taken in residence at WSU or through WSU-approved education abroad or educational exchange courses.  The 18 credits must include the following courses: E E 214, 261, and 262. The remaining credits must be selected from any 300-400-level E E courses excluding E E 302 and E E 304. All prerequisites for minor courses must be met. The minor program must be approved by the electrical engineering undergraduate coordinator. For all courses and their prerequisites, a grade of C or better is required to complete the minor.


Software Engineering

The minor in Software Engineering consists of 20 credits from CPT S 121, 122, 223  (or CPT S 131, 132, 233) and three 300-400-level courses chosen from CPT S 321, 322, 422, 476, 478, 484, or 487. A maximum of 8 course credits from the requirements of the student’s major can be used to satisfy the requirements of the minor. 9 hours must be 300-400-level courses taken in residence at WSU or through WSU-approved education abroad or educational exchange courses. For all courses and their prerequisites, a grade of C or better is required to complete the minor.



Courses

The online catalog includes the most recent changes to courses and degree requirements that have been approved by the Faculty Senate, including changes that are not yet effective. Courses showing two entries of the same number indicate that the course information is changing. The most recently approved version is shown first, followed by the older version, in gray, with its last-effective term preceding the course title. Courses shown in gray with only one entry of the course number are being discontinued. Course offerings by term can be accessed by clicking on the term links when viewing a specific campus catalog.


Computer Science (CPT_S)

(Select Campus to see schedule links)

With the exception of the Computer Skills and Literacy courses, enrollment in 300-400-level computer science courses is restricted to admitted majors or minors in computer science, computer engineering, or electrical engineering, and to juniors and seniors admitted to other degree programs requiring these computer science courses.


111 [QUAN] Introduction to Computer Programming 3 (2-3) Course Prerequisite: MATH 101 with a C or better, MATH 103 with a C or better, or higher level MATH course with a C or better, or a minimum ALEKS math placement score of 45%. Elementary algorithmic problem solving, computational models, sequential, iterative and conditional operations, parameterized procedures, array and list structures and basic efficiency analysis. Typically offered Fall and Spring.

121 Program Design and Development C/C++ 4 (3-3) Course Prerequisite: MATH 108, 171, 172, 182, 201, 202, 206, or 220, each with a C or better, or a minimum ALEKS math placement score of 80%, or adequate CPT S placement test score determined by the department. Formulation of problems and top-down design of programs in a modern structured language (C/C++) for their solution on a digital computer. Typically offered Fall, Spring, and Summer.

122 Data Structures C/C++ 4 (3-3) Course Prerequisite: CPT S 121 with a C or better. Advanced programming techniques: data structures, recursion, sorting and searching, and basics of algorithm analysis taught in C/C++ programming language. Typically offered Fall, Spring, and Summer.

131 Program Design and Development Java 4 (3-3) Course Prerequisite: Course Prerequisite: MATH 108, 171, 172, 182, 201, 202, 206, or 220, each with a C or better, or ALEKS math placement score of 80% or higher, or adequate CPT S placement test score determined by the department. Formulation of problems and top-down design of programs in a modern structured language for their solution on a digital computer. Taught in Java programming language. Typically offered Fall and Spring.

132 Data Structures Java 4 (3-3) Course Prerequisite: CPT S 131 with a C or better. Advanced programming techniques: data structures, recursion, sorting and searching, and basics of algorithm analysis. Taught in Java programming language. Typically offered Fall and Spring.

215 Data Analytics Systems and Algorithms 3 Course Prerequisite: CPT S 122, CPT S 132, or CS 122. Exploration of fundamental concepts, constructs, and techniques of modern data analytics systems. (Crosslisted course offered as CPT S 215, CS 215).

223 Advanced Data Structures C/C++ 3 Course Prerequisite: CPT S 122 with a C or better; MATH 216 with a C or better or concurrent enrollment. Advanced data structures, object oriented programming concepts, concurrency, and program design principles taught in C/C++ programming language. Typically offered Fall and Spring.

224 Programming Tools 2 Course Prerequisite: CPT S 122 with a C or better, or CPT S 132 with a C or better. Debugging tools, scripting languages, UNIX programming tools. Typically offered Fall.

233 Advanced Data Structures Java 3 Course Prerequisite: CPT S 132 with a C or better; MATH 216 with a C or better or concurrent enrollment. Advanced data structures, object oriented programming concepts, concurrency, and program design principles. Taught in Java programming language. Typically offered Fall and Spring.

260 Introduction to Computer Architecture 3 Course Prerequisite: CPT S 223 with a C or better or concurrent enrollment, or CPT S 233 with a C or better or concurrent enrollment. Computer systems architecture; logic, data representation, assembly language, memory organization and trends. Typically offered Fall and Spring.

302 Professional Skills in Computing and Engineering 3 Course Prerequisite: CPT S 122 or 132, OR CPT S 121 or 131 and E E 261; admitted to a major in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics; junior standing. Foundation in computing and engineering professional development. (Crosslisted course offered as CPT S 302, E E 302). Credit not granted for both CPT S/E E 302 and CPT S 401. Typically offered Fall and Spring.

302 (Effective through Spring 2021) Professional Skills in Computing and Engineering 3 Course Prerequisite: CPT S 122 or 132, OR CPT S 121 or 131 and E E 261; admitted to a major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics; junior standing. Foundation in computing and engineering professional development. (Crosslisted course offered as CPT S 302, E E 302). Credit not granted for both CPT S/E E 302 and CPT S 401. Typically offered Fall and Spring.

315 Introduction to Data Mining 3 Course Prerequisite: CPT S 215, 223, 233, or CS 215, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. The process of automatically extracting valid, useful, and previously unknown information from large repositories. (Crosslisted course offered as CPT S 315, CS 315).

317 Automata and Formal Languages 3 Course Prerequisite: CPT S 122 or 132, with a C or better; MATH 216 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Finite automata, regular sets, pushdown automata, context-free language, Turing machines and the halting problem. Typically offered Fall and Spring.

321 Object-Oriented Software Principles 3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Object-oriented programming for flexibility, efficiency, and maintainability; logic and UI decoupling; complexity analysis, data structures, and algorithms for industry-quality software.

322 [M] Software Engineering Principles I 3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, Data Analytics, or major in Neuroscience. Introduction to software engineering; requirements analysis, definition, specification including formal methods; prototyping; design including object and function oriented design. Typically offered Fall and Spring.

322 (Effective through Fall 2021) [M] Software Engineering Principles I 3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Introduction to software engineering; requirements analysis, definition, specification including formal methods; prototyping; design including object and function oriented design. Typically offered Fall and Spring.

322 (Effective through Summer 2021) [M] Software Engineering Principles I 3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Introduction to software engineering; requirements analysis, definition, specification including formal methods; prototyping; design including object and function oriented design. Typically offered Fall and Spring.

323 Software Design 3 Course Prerequisite: CPT S 223 or 233, with a C or better; CPT S 322 with a C or better or concurrent enrollment; admitted to the major or minor in Cpt Sci, Cpt Engr, E E, Swr Engr, or Data Analytics. Enrollment not allowed if credit earned in CPT S 487. Practical aspects of software design and implementation using object-oriented, aspect-oriented and procedural programming. Credit not granted for both CPT S 323 and 487. Typically offered Spring.

350 Design and Analysis of Algorithms 3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; CPT S 317 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Analysis of data structures and algorithms; computational complexity and design of efficient data-handling procedures.

350 (Effective through Summer 2021) Design and Analysis of Algorithms 3 Course Prerequisite: CPT S 223 or 233, with a C or better; CPT S 317 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Analysis of data structures and algorithms; computational complexity and design of efficient data-handling procedures.

355 Programming Language Design 3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Design concepts of high-level programming languages; survey of existing languages, experience using some languages. Typically offered Fall and Spring.

360 Systems Programming C/C++ 4 (3-3) Course Prerequisite: CPT S 223 with a C or better; CPT S 260 with a C or better or E E 234 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Implementation of systems programs, concepts of computer operating systems; laboratory experience in using operating system facilities taught in C/C++ programming language. Typically offered Fall and Spring.

370 Systems Programming Java 4 (3-3) Course Prerequisite: CPT S 233 with a C or better; CPT S 260 with a C or better or E E 234 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Implementation of systems programs, concepts of computer operating systems; laboratory experience in using operating system facilities. Taught in Java programming language. Typically offered Fall and Spring.

401 Computers and Society 3 Course Prerequisite: CPT S 215, 223, or 233; admitted to the major in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics; junior standing. Skills and literacy course. Ethical and societal issues related to computers and computer networks; computers as enabling technology; computer crime, software theft, privacy, viruses, worms. Credit not granted for both CPT S 401 and CPT S/E E 302.

401 (Effective through Spring 2021) Computers and Society 3 Course Prerequisite: CPT S 215, 223, or 233; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics; junior standing. Skills and literacy course. Ethical and societal issues related to computers and computer networks; computers as enabling technology; computer crime, software theft, privacy, viruses, worms. Credit not granted for both CPT S 401 and CPT S/E E 302.

411 Introduction to Parallel Computing 3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Fundamental principles of parallel computing, parallel programming experience on multicore machines and cluster computers, and design of algorithms and applications in parallel computing. Recommended preparation: CPT S 350. Typically offered Fall.

415 Big Data 3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Big data models, databases and query languages, modern distributed database systems and algorithms. (Crosslisted course offered as CPT S 415, CS 415).

421 Software Design Project I 3 (1-6) Course Prerequisite: C or better in CPT S 321 and 322; or C or better in CPT S 322 and CPT S 360 or 370; or C or better CPT S 322 and concurrent enrollment in CPT S 360 or 370; admitted major or minor in Cpt S, Cpt Engr, E E, Sftwr Engr, or Data Anlytc. Large-scale software development including requirements analysis, estimation, design, verification and project management. Typically offered Fall and Spring.

422 [M] Software Engineering Principles II 3 Course Prerequisite: CPT S 321 with a C or better or CPT S 323 with a C or better; CPT S 322 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Dependable software systems; software verification and validation, testing; CASE environments; software management and evolution. Typically offered Fall.

423 [CAPS] Software Design Project II 3 (1-6) Course Prerequisite: CPT S 421 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Laboratory/group design project for large-scale software development, requirements analysis, estimation, design, verification techniques. Typically offered Fall and Spring.

427 Computer Security 3 Course Prerequisite: CPT S 360 or 370, with a C or better; MATH 216 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Examines cyber vulnerabilities and attacks against computer systems and networks; includes security protection mechanisms, cryptography, secure communication protocols, information flow enforcement, network monitoring, and anonymity techniques. Credit not granted for both CPT S 427 and CPT S 527. Offered at 400 and 500 level.

430 Numerical Analysis 3 Course Prerequisite: MATH 315 with a C or better; one of CPT S 121, 131, or MATH 300, with a C or better. Fundamentals of numerical computation; finding zeroes of functions, approximation and interpolation; numerical integration (quadrature); numerical solution of ordinary differential equations. (Crosslisted course offered as MATH 448, MATH 548, CPT S 430, CPT S 530). Required preparation must include differential equations and a programming course. Offered at 400 and 500 level. Typically offered Fall and Spring.

434 Neural Network Design and Application 3 Course Prerequisite: CPT S 121, 131, or E E 221, with a C or better; STAT 360 with a C or better; admitted to the major or minor in Computer Science, Computer Engr, Electrical Engr, Software Engr, Data Analytics, or major in Neuroscience. Hands-on experience with neural network modeling of nonlinear phenomena; application to classification, forecasting, identification and control. Credit not granted for both CPT S 434 and CPT S 534. Offered at 400 and 500 level.

434 (Effective through Fall 2021) Neural Network Design and Application 3 Course Prerequisite: CPT S 121, 131, or E E 221, with a C or better; STAT 360 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Hands-on experience with neural network modeling of nonlinear phenomena; application to classification, forecasting, identification and control. Credit not granted for both CPT S 434 and CPT S 534. Offered at 400 and 500 level.

437 Introduction to Machine Learning 3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Topics in machine learning including linear models for regression and classification, generative models, support vector machines and kernel methods, neural networks and deep learning, decision trees, unsupervised learning, and dimension reduction. Recommended preparation: E E 221; linear algebra; multivariate calculus; probability and statistics. Typically offered Spring.

438 Scientific Visualization 3 Course Prerequisite: CPT S 223 or 233, with a C or better; CPT S 224 with a C or better; MATH 172 or 182, with a C or better; admitted to the major or minor in Computer Science, Computer Engr, Electrical Engr, Software Engr, or Data Analytics. Data taxonomy, sampling, plotting, using and extending a visualization package, designing visualization and domain-specific techniques.

439 Critical Infrastructure Security: The Emerging Smart Grid 3 Course Prerequisite: Senior standing. Smart electric grid, communication networks, distributed computing, fault tolerant computing, cyber security, analyzing interdependencies between the smart grid components, smart grid standards and protocols. (Crosslisted course offered as E E 439, CPT S 439). Typically offered Spring.

440 Artificial Intelligence 3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, Data Analytics, or major in Neuroscience. An introduction to the field of artificial intelligence including heuristic search, knowledge representation, deduction, uncertainty reasoning, learning, and symbolic programming languages. Credit not granted for both CPT S 440 and CPT S 540. Offered at 400 and 500 level. Typically offered Fall.

440 (Effective through Fall 2021) Artificial Intelligence 3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. An introduction to the field of artificial intelligence including heuristic search, knowledge representation, deduction, uncertainty reasoning, learning, and symbolic programming languages. Credit not granted for both CPT S 440 and CPT S 540. Offered at 400 and 500 level. Typically offered Fall.

442 Computer Graphics 3 Course Prerequisite: CPT S 223 with a C or better; CPT S 224 with a C or better or CPT S 360 with a C or better; MATH 220 with a C or better; admitted major or minor in Computer Science, Computer Engr, Electrical Engr, Software Engr, or Data Analytics. Raster operations; transformations and viewing; geometric modeling; visibility and shading; color. Credit not granted for both CPT S 442 and CPT S 542. Offered at 400 and 500 level. Cooperative: Open to UI degree-seeking students.

443 Human-Computer Interaction 3 Course Prerequisite: CPT S 223 or 233; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, Data Analytics, or major in Neuroscience; junior standing. Concepts and methodologies of engineering, social and behavioral sciences to address ergonomic, cognitive, social and cultural factors in the design and evaluation of human-computer systems. Credit not granted for both CPT S 443 and CPT S 543. Offered at 400 and 500 level. Typically offered Spring.

443 (Effective through Fall 2021) Human-Computer Interaction 3 Course Prerequisite: CPT S 223 or 233; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics; junior standing. Concepts and methodologies of engineering, social and behavioral sciences to address ergonomic, cognitive, social and cultural factors in the design and evaluation of human-computer systems. Credit not granted for both CPT S 443 and CPT S 543. Offered at 400 and 500 level. Typically offered Spring.

451 Introduction to Database Systems 3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Introduction to database concepts, data models, database languages, database design, implementation issues. Typically offered Spring.

452 Compiler Design 3 Course Prerequisite: CPT S 317 with a C or better; CPT S 355 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Design of lexical analyzers, syntactic analyzers, intermediate code generators, code optimizers and object code generators.

453 Graph Theory 3 Course Prerequisite: MATH 220, 225, or 230. Graphs and their applications, directed graphs, trees, networks, Eulerian and Hamiltonian paths, matrix representations, construction of algorithms. (Crosslisted course offered as MATH 453, MATH 553, CPT S 453, CPT S 553). Required preparation must include linear algebra. Recommended preparation: MATH 301. Offered at 400 and 500 level. Typically offered Fall. Cooperative: Open to UI degree-seeking students.

453 (Effective through Summer 2021) Graph Theory 3 Course Prerequisite: MATH 220 or MATH 230. Graphs and their applications, directed graphs, trees, networks, Eulerian and Hamiltonian paths, matrix representations, construction of algorithms. (Crosslisted course offered as MATH 453, MATH 553, CPT S 453, CPT S 553). Required preparation must include linear algebra. Recommended preparation: MATH 301. Offered at 400 and 500 level. Typically offered Fall. Cooperative: Open to UI degree-seeking students.

455 Introduction to Computer Networks 3 Course Prerequisite: CPT S 360, 370, or E E 234, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Concepts and implementation of computer networks; architectures, protocol layers, internetworking and addressing case studies. (Crosslisted course offered as CPT S 455, E E 455). Typically offered Fall.

460 Operating Systems and Computer Architecture 3 Course Prerequisite: CPT S 360 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering; Software Engineering, or Data Analytics. Operating systems, computer architectures, and their interrelationships in micro, mini, and large computer systems. Typically offered Fall and Spring.

464 Distributed Systems Concepts and Programming 3 Course Prerequisite: CPT S 223, 233, or E E 234, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Concepts of distributed systems; naming, security, networking, replication, synchronization, quality of service; programming middleware. Credit not granted for both CPT S 464 and CPT S 564. Offered at 400 and 500 level. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

466 Embedded Systems 3 (2-3) Course Prerequisite: CPT S 360 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering; Software Engineering, or Data Analytics. The design and development of real-time and dedicated software systems with an introduction to sensors and actuators. Credit not granted for both CPT S 466 and CPT S 566. Offered at 400 and 500 level. Cooperative: Open to UI degree-seeking students.

471 Computational Genomics 3 Course Prerequisite: CPT S 223 or 233, with a C or better; CPT S 350 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Fundamental algorithms, techniques and applications. Credit not granted for both CPT S 471 and CPT S 571. Offered at 400 and 500 level. Typically offered Spring.

475 Data Science 3 Course Prerequisite: CPT S 215, CPT S 223, or CPT S 233, with a C or better. The data science process, data wrangling, exploratory data analysis, linear regression, classification, clustering, principal components analysis, recommender systems, data visualization, data and ethics, and effective communication. Credit not granted for both CPT S 475 and CPT S 575. Recommended preparation for 575: Familiarity with algorithm design and analysis, basic linear algebra, and basic probability and statistics. Offered at 400 and 500 level. Typically offered Fall.

476 Software Construction and Maintenance 3 Course Prerequisite: CPT S 322 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Software quality, construction (API design and use, object-oriented runtime issues), and maintenance (refactoring, reengineering, reverse engineering).

478 Software Process and Management 3 Course Prerequisite: CPT S 322 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Software Engineering Process (definition, assessment, and improvement); Software Engineering Management; Software Configuration Management.

479 Mobile Application Development 3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Mobile application development; user interface; location and maps; sensor; camera; cross platform mobile application development tools.

481 Python Software Construction 3 Course Prerequisite: CPT S 223 with a C or better; CPT S 224 or CPT S 360 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Intensive introduction to the python language; user interface, building and using extension modules; C interfacing; construction of a major project.

483 Topics in Computer Science V 1-4 May be repeated for credit. Course Prerequisite: Admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Required background preparation varies with course offering, see instructor. Current topics in computer science or software engineering.

484 Software Requirements 3 Course Prerequisite: CPT S 322 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Elicitation, analysis, specification, and validation of software requirements as well as the management of requirements during the software life cycle.

485 Gerontechnology I 3 Course Prerequisite: CPT S 215, 223, or 233; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, Data Analytics, or major in Psychology. Introduction to the field of gerontechnology, including aging and senses, mobility and exercise, data analysis, and research methods. (Crosslisted course offered as CPT S 485, PSYCH 485). Typically offered Fall.

486 Gerontechnology II 3 Course Prerequisite: CPT S 215, 223, or 233; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, Data Analytics, or major in Psychology. In-depth exploration of gerontechnology, including socialization, caregiver issues, dementia, app design and data visualization. (Crosslisted course offered as CPT S 486, PSYCH 486). Typically offered Spring.

487 Software Design and Architecture 3 Course Prerequisite: CPT S 321 with a C or better; CPT S 322 with a C or better; admitted major or minor in Computer Sci, Computer Engr, Electrical Engr, Software Engr, or Data Analytics. Enrollment not allowed if credit already earned for CPT S 323. Software design; design principles, patterns, and anti-patterns; design quality attributes and evaluation; architectural styles, architectural patterns and anti-patterns. Credit not granted for both CPT S 487 and CPT S 587, or for both CPT S 487 and 323. Offered at 400 and 500 level.

488 Professional Practice Coop/Internship I V 1-2 May be repeated for credit; cumulative maximum 6 hours. Course Prerequisite: By department permission. Practicum for students admitted to the VCEA Professional Practice and Experiential Learning Program; integration of coursework with on-the-job professional experience. (Crosslisted course offered as ENGR 488, BIO ENG 488, CHE 488, CE 488, CPT S 488, E E 488, ME 488, MSE 488, SDC 488). Typically offered Fall, Spring, and Summer. S, F grading.

489 Web Development 3 Course Prerequisite: CPT S 322 with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Web development using markup languages, style sheet language, and scripting languages; developing and consuming web services; testing web applications.

490 Work Study Internship V 1-9 May be repeated for credit; cumulative maximum 9 hours. Course Prerequisite: Computer Science major; by permission only. Experience in programming and systems analysis in a working environment under supervision of industrial or governmental professionals and faculty. Typically offered Fall, Spring, and Summer. S, F grading.

499 Special Problems V 1-4 May be repeated for credit. Independent study conducted under the jurisdiction of an approving faculty member; may include independent research studies in technical or specialized problems; selection and analysis of specified readings; development of a creative project; or field experiences. Typically offered Fall, Spring, and Summer. S, F grading.

500 Proseminar 1 Faculty research interests, departmental computer systems, computer science research, report preparation. Typically offered Fall. S, F grading.

515 Advanced Algorithms 3 Advanced algorithms and data structures, design and analysis, intractability.

516 Algorithmics 3 Discrete structures, automata, formal languages, recursive functions, algorithms, and computability. Typically offered Spring.

527 Computer Security 3 Examines cyber vulnerabilities and attacks against computer systems and networks; includes security protection mechanisms, cryptography, secure communication protocols, information flow enforcement, network monitoring, and anonymity techniques. Credit not granted for both CPT S 427 and CPT S 527. Offered at 400 and 500 level.

530 Numerical Analysis 3 Fundamentals of numerical computation; finding zeroes of functions, approximation and interpolation; numerical integration (quadrature); numerical solution of ordinary differential equations. (Crosslisted course offered as MATH 448, MATH 548, CPT S 430, CPT S 530). Required preparation must include differential equations and a programming course. Offered at 400 and 500 level. Typically offered Fall and Spring.

531 Advanced Matrix Computations 3 Advanced topics in the solution of linear systems, singular value decomposition, and computation of eigenvalues and eigenvectors (Francis's algorithm). (Crosslisted course offered as MATH 544, CPT S 531). Required preparation must include numerical analysis. Typically offered Even Years - Fall. Cooperative: Open to UI degree-seeking students.

534 Neural Network Design and Application 3 Hands-on experience with neural network modeling of nonlinear phenomena; application to classification, forecasting, identification and control. Credit not granted for both CPT S 434 and CPT S 534. Offered at 400 and 500 level.

534 (Effective through Fall 2021) Neural Network Design and Application 3 Hands-on experience with neural network modeling of nonlinear phenomena; application to classification, forecasting, identification and control. Credit not granted for both CPT S 434 and CPT S 534. Offered at 400 and 500 level.

538 Scientific Visualization 3 Data taxonomy; sampling; plotting; using and extending a visualization package; designing visualizations; domain-specific techniques.

540 Artificial Intelligence 3 An introduction to the field of artificial intelligence including heuristic search, knowledge representation, deduction, uncertainty reasoning, learning, and symbolic programming languages. Credit not granted for both CPT S 440 and CPT S 540. Offered at 400 and 500 level. Typically offered Fall.

540 (Effective through Fall 2021) Artificial Intelligence 3 An introduction to the field of artificial intelligence including heuristic search, knowledge representation, deduction, uncertainty reasoning, learning, and symbolic programming languages. Credit not granted for both CPT S 440 and CPT S 540. Offered at 400 and 500 level. Typically offered Fall.

542 Computer Graphics 3 Raster operations; transformations and viewing; geometric modeling; visibility and shading; color. Credit not granted for both CPT S 442 and CPT S 542. Offered at 400 and 500 level. Cooperative: Open to UI degree-seeking students.

543 Human-Computer Interaction 3 Concepts and methodologies of engineering, social and behavioral sciences to address ergonomic, cognitive, social and cultural factors in the design and evaluation of human-computer systems. Credit not granted for both CPT S 443 and CPT S 543. Offered at 400 and 500 level. Typically offered Spring.

543 (Effective through Fall 2021) Human-Computer Interaction 3 Concepts and methodologies of engineering, social and behavioral sciences to address ergonomic, cognitive, social and cultural factors in the design and evaluation of human-computer systems. Credit not granted for both CPT S 443 and CPT S 543. Offered at 400 and 500 level. Typically offered Spring.

548 Advanced Computer Graphics 3 Solid modeling, visual realism, light and color models, advanced surface generation techniques.

550 Parallel Computation 3 Parallel machine models, principles for the design of parallel algorithms, interconnection networks, systolic arrays, computational aspects to VLSI. Required preparation must include differential equations and a programming course. Typically offered Spring.

553 Graph Theory 3 Graphs and their applications, directed graphs, trees, networks, Eulerian and Hamiltonian paths, matrix representations, construction of algorithms. (Crosslisted course offered as MATH 453, MATH 553, CPT S 453, CPT S 553). Required preparation must include linear algebra. Recommended preparation: MATH 301. Offered at 400 and 500 level. Typically offered Fall. Cooperative: Open to UI degree-seeking students.

553 (Effective through Summer 2021) Graph Theory 3 Graphs and their applications, directed graphs, trees, networks, Eulerian and Hamiltonian paths, matrix representations, construction of algorithms. (Crosslisted course offered as MATH 453, MATH 553, CPT S 453, CPT S 553). Required preparation must include linear algebra. Recommended preparation: MATH 301. Offered at 400 and 500 level. Typically offered Fall. Cooperative: Open to UI degree-seeking students.

555 Computer Communication Networks 3 Packet switching networks; multi-access and local-area networks; delay models in data networks; routing and flow control. (Crosslisted course offered as E E 555, CPT S 555). Typically offered Spring.

557 Advanced Computer Networks 3 ATM networks, optical WDM networks, and wireless/mobile networks; access, transport, and routing protocols.

560 Operating Systems 3 Structure of multiprogramming and multiprocessing; efficient allocation of systems resources; design implementation and performance measurement. Typically offered Fall.

561 Advanced Computer Architecture 3 Instruction set architectures, pipelining and super pipelining, instruction level parallelism, superscalar and VLIW processors, cache memory, thread-level parallelism and VLSI. (Crosslisted course offered as E E 524, CPT S 561). Typically offered Fall.

562 Fault Tolerant Computer Systems 3 Fault tolerance aspects involved in design and evaluation of systems; methods of detection and recovery; multicast, middleware, and reconfiguration. (Crosslisted course offered as CPT S 562, E E 562).

564 Distributed Systems Concepts and Programming 3 Concepts of distributed systems; naming, security, networking, replication, synchronization, quality of service; programming middleware. Credit not granted for both CPT S 464 and CPT S 564. Offered at 400 and 500 level. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

566 Embedded Systems 3 (2-3) The design and development of real-time and dedicated software systems with an introduction to sensors and actuators. Credit not granted for both CPT S 466 and CPT S 566. Offered at 400 and 500 level. Cooperative: Open to UI degree-seeking students.

570 Machine Learning 3 Introduction to building computer systems that learn from their experience; classification and regression problems; unsupervised and reinforcement learning. Typically offered Fall.

571 Computational Genomics 3 Fundamental algorithms, techniques and applications. Credit not granted for both CPT S 471 and CPT S 571. Offered at 400 and 500 level. Typically offered Spring.

572 Numerical Methods in Computational Biology 3 Computational methods for solving scientific problems related to information processing in biological systems at the molecular and cellular levels.

573 Bioinformatics Software Development 3 Provides programming skills needed to address current computational problems in bioinformatics; emphasis on mathematical development and software design.

575 Data Science 3 The data science process, data wrangling, exploratory data analysis, linear regression, classification, clustering, principal components analysis, recommender systems, data visualization, data and ethics, and effective communication. Credit not granted for both CPT S 475 and CPT S 575. Recommended preparation for 575: Familiarity with algorithm design and analysis, basic linear algebra, and basic probability and statistics. Offered at 400 and 500 level. Typically offered Fall.

577 Structured Prediction: Algorithms and Applications 3 Machine learning algorithms to predict structured outputs from structured inputs for diverse applications, including: natural language processing, computer vision, social networks, smart environments, and computer engineering. Typically offered Spring.

580 Advanced Topics in Computer Science 3 May be repeated for credit.

581 Software Maintenance 3 Software maintenance, refactoring, reengineering, reverse engineering.

582 Software Testing 3 Software testing, testing levels, testing objectives, testing techniques.

583 Software Quality 3 Software quality, quality assurance, process and product quality, software measures, quality attributes, quality management.

587 Software Design and Architecture 3 Software design; design principles, patterns, and anti-patterns; design quality attributes and evaluation; architectural styles, architectural patterns and anti-patterns. Credit not granted for both CPT S 487 and CPT S 587, or for both CPT S 487 and 323. Offered at 400 and 500 level. Typically offered Fall and Spring.

591 Elements of Network Science 3 Fundamental elements of the emerging science of complex networks, with emphasis on social and information networks. Recommended preparation: CPT S 350 with a C or better. Typically offered Spring.

595 Directed Study in Computer Science V 1 (0-3) to 3 (0-9) May be repeated for credit; cumulative maximum 6 hours. Current topics in computer science. Typically offered Fall and Spring.

600 Special Projects or Independent Study V 1-18 May be repeated for credit. Independent study, special projects, and/or internships. Students must have graduate degree-seeking status and should check with their major advisor before enrolling in 600 credit, which cannot be used toward the core graded credits required for a graduate degree. Typically offered Fall, Spring, and Summer. S, F grading.

700 Master's Research, Thesis, and/or Examination V 1-18 May be repeated for credit. Independent research and advanced study for students working on their master's research, thesis and/or final examination. Students must have graduate degree-seeking status and should check with their major advisor/committee chair before enrolling for 700 credit. Typically offered Fall, Spring, and Summer. S, U grading.

702 Master's Special Problems, Directed Study, and/or Examination V 1-18 May be repeated for credit. Independent research in special problems, directed study, and/or examination credit for students in a non-thesis master's degree program. Students must have graduate degree-seeking status and should check with their major advisor/committee chair before enrolling for 702 credit. Typically offered Fall, Spring, and Summer. S, U grading.

800 Doctoral Research, Dissertation, and/or Examination V 1-18 May be repeated for credit. Course Prerequisite: Admitted to the Computer Science PhD program. Independent research and advanced study for students working on their doctoral research, dissertation and/or final examination. Students must have graduate degree-seeking status and should check with their major advisor/committee chair before enrolling for 800 credit. Typically offered Fall, Spring, and Summer. S, U grading.


Electrical Engineering (E_E)

(Select Campus to see schedule links)

Enrollment in 300 and 400-level electrical engineering courses is restricted to admitted majors or minors in electrical engineering, computer engineering, or computer science, and to juniors and seniors admitted to other degree programs requiring 400-level engineering courses.


214 Design of Logic Circuits 4 (3-3) Design and application of combinational logic circuits with exposure to modern methods and design tools; introduction to sequential logic circuits. Recommended preparation: Prior programming class. Typically offered Fall and Spring.

221 Numerical Computing for Engineers 2 Course Prerequisite: MATH 172 or 182 with a C or better; MATH 220 with a C or better or concurrent enrollment. Solutions to engineering problems using modern software tools such as Matlab. Typically offered Fall, Spring, and Summer.

234 Microprocessor Systems 4 (3-3) Course Prerequisite: CPT S 121 with a C or better; E E 214 with a C or better. Microprocessor system architecture, instruction sets, and interfacing; assembly language programming. Typically offered Fall and Spring.

261 Electrical Circuits I 3 Course Prerequisite: MATH 315 with a C or better or concurrent enrollment; 4 credits of PHYSICS 202 with a C or better, or PHYSICS 202 and 212, each with a C or better. Application of fundamental concepts of electrical science in linear circuit analysis; mathematical models of electric components and circuits. Typically offered Fall and Spring.

261 (Effective through Summer 2021) Electrical Circuits I 3 Course Prerequisite: MATH 315 with a C or better or concurrent enrollment; PHYSICS 202 with a C or better. Application of fundamental concepts of electrical science in linear circuit analysis; mathematical models of electric components and circuits. Typically offered Fall and Spring.

262 Electrical Circuits Laboratory I 1 (0-3) Course Prerequisite: E E 261 with a C or better or concurrent enrollment. Electrical instruments; laboratory applications of electric laws; transient and steady-state responses of electrical circuits. Typically offered Fall and Spring.

302 Professional Skills in Computing and Engineering 3 Course Prerequisite: CPT S 122 or 132, OR CPT S 121 or 131 and E E 261; admitted to a major in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics; junior standing. Foundation in computing and engineering professional development. (Crosslisted course offered as CPT S 302, E E 302). Credit not granted for both CPT S/E E 302 and CPT S 401.

302 (Effective through Spring 2021) Professional Skills in Computing and Engineering 3 Course Prerequisite: CPT S 122 or 132, OR CPT S 121 or 131 and E E 261; admitted to a major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics; junior standing. Foundation in computing and engineering professional development. (Crosslisted course offered as CPT S 302, E E 302). Credit not granted for both CPT S/E E 302 and CPT S 401.

304 Introduction to Electrical Circuits 2 Course Prerequisite: MATH 315 with a C or better or concurrent enrollment. Basic DC and AC circuits. Typically offered Fall, Spring, and Summer.

311 Electronics 3 Course Prerequisite: E E 261 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, Software Engineering, or major in Neuroscience. Fundamental device characteristics including diodes, MOSFETs and bipolar transistors; small- and large-signal characteristics and design of linear circuits. Typically offered Fall and Spring.

311 (Effective through Fall 2021) Electronics 3 Course Prerequisite: E E 261 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Fundamental device characteristics including diodes, MOSFETs and bipolar transistors; small- and large-signal characteristics and design of linear circuits. Typically offered Fall and Spring.

311 (Effective through Spring 2021) Electronics 3 Course Prerequisite: E E 261 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Fundamental device characteristics including diodes, MOSFETs and bipolar transistors; small- and large-signal characteristics and design of linear circuits. Typically offered Fall and Spring.

321 Electrical Circuits II 3 Course Prerequisite: E E 261 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, Software Engineering, or major in Neuroscience. State space analysis, Laplace transforms, network functions, frequency response, Fourier series, two-ports, energy and passivity. Typically offered Fall and Spring.

321 (Effective through Fall 2021) Electrical Circuits II 3 Course Prerequisite: E E 261 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. State space analysis, Laplace transforms, network functions, frequency response, Fourier series, two-ports, energy and passivity. Typically offered Fall and Spring.

321 (Effective through Spring 2021) Electrical Circuits II 3 Course Prerequisite: E E 261 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. State space analysis, Laplace transforms, network functions, frequency response, Fourier series, two-ports, energy and passivity. Typically offered Fall and Spring.

324 [M] Fundamentals of Digital Systems 4 (3-3) Course Prerequisite: E E 214 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, Software Engineering, or major in Neuroscience. Design and analysis of synchronous sequential machines; module and bit-slice devices; alternative architectures; system-level design; asynchronous sequential machines. Typically offered Fall.

324 (Effective through Fall 2021) [M] Fundamentals of Digital Systems 4 (3-3) Course Prerequisite: E E 214 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Design and analysis of synchronous sequential machines; module and bit-slice devices; alternative architectures; system-level design; asynchronous sequential machines. Typically offered Fall.

324 (Effective through Spring 2021) [M] Fundamentals of Digital Systems 4 (3-3) Course Prerequisite: E E 214 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Design and analysis of synchronous sequential machines; module and bit-slice devices; alternative architectures; system-level design; asynchronous sequential machines. Typically offered Fall.

331 Electromagnetic Fields and Waves 3 Course Prerequisite: E E 261 with a C or better; E E 262 with a C or better or concurrent enrollment; MATH 315 with a C or better; 4 credits of PHYSICS 202, or PHYSICS 202 and 212, each with a C or better. Admission to the major not required. Students will be required to pass a math skills test. Fundamentals of transmission lines, electrostatics, magnetostatics, and Maxwell's Equations for static fields. Typically offered Fall and Spring.

331 (Effective through Summer 2021) Electromagnetic Fields and Waves 3 Course Prerequisite: E E 261 with a C or better; E E 262 with a C or better or concurrent enrollment; MATH 315 with a C or better; PHYSICS 202 with a C or better. Certification not required. Students will be required to pass a math skills test. Fundamentals of transmission lines, electrostatics, magnetostatics, and Maxwell's Equations for static fields. Typically offered Fall and Spring.

334 Computer Architecture 3 (3-3) Course Prerequisite: E E 234 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Modern developments in digital system design, parallel structures, pipelining, input/output, high speed circuits, laboratory experience in digital system design; emphasis on CPU architecture. Typically offered Spring.

334 (Effective through Spring 2021) Computer Architecture 3 (3-3) Course Prerequisite: E E 234 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Modern developments in digital system design, parallel structures, pipelining, input/output, high speed circuits, laboratory experience in digital system design; emphasis on CPU architecture. Typically offered Spring.

341 Signals and Systems 3 Course Prerequisite: E E 321 with a C or better; STAT 360 with a C or better or concurrent enrollment, or STAT 443 with a C or better or concurrent enrollment; admitted to the major or minor in E E, Cpt S, Cpt E, Software Engr, or major in Neuroscience. Discrete and continuous-time signals, LTI systems, convolution, sampling, Fourier transform, filtering, DFT, amplitude modulation, probability applications. Typically offered Fall and Spring.

341 (Effective through Fall 2021) Signals and Systems 3 Course Prerequisite: E E 321 with a C or better; STAT 360 with a C or better or concurrent enrollment, or STAT 443 with a C or better or concurrent enrollment; admitted to the major or minor in E E, Cpt S, Cpt E, or Software Engineering. Discrete and continuous-time signals, LTI systems, convolution, sampling, Fourier transform, filtering, DFT, amplitude modulation, probability applications. Typically offered Fall and Spring.

341 (Effective through Spring 2021) Signals and Systems 3 Course Prerequisite: E E 321 with a C or better; STAT 360 with a C or better or concurrent enrollment, or STAT 443 with a C or better or concurrent enrollment; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Discrete and continuous-time signals, LTI systems, convolution, sampling, Fourier transform, filtering, DFT, amplitude modulation, probability applications. Typically offered Fall and Spring.

351 Distributed Parameter Systems 3 Course Prerequisite: E E 331 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Maxwell's equations, plane waves, waveguides, resonators, antennas, numerical methods. Typically offered Spring.

351 (Effective through Spring 2021) Distributed Parameter Systems 3 Course Prerequisite: E E 331 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Maxwell's equations, plane waves, waveguides, resonators, antennas, numerical methods. Typically offered Spring.

352 [M] Electrical Engineering Laboratory I 3 (1-6) Course Prerequisite: E E 262 with a C or better; E E 311 with a C or better or concurrent enrollment; E E 321 with a C or better or concurrent enrollment; admitted to the major or minor in E E, Cpt S, Cpt E, or Software Engineering. Experiments in electrical circuits, measurements and electronics; principles of measurements and measuring instruments. Typically offered Fall and Spring.

352 (Effective through Spring 2021) [M] Electrical Engineering Laboratory I 3 (1-6) Course Prerequisite: E E 262 with a C or better; E E 311 with a C or better or concurrent enrollment; E E 321 with a C or better or concurrent enrollment; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Experiments in electrical circuits, measurements and electronics; principles of measurements and measuring instruments. Typically offered Fall and Spring.

361 Electrical Power Systems 3 Course Prerequisite: E E 321 with a C or better; E E 331 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Power system hardware; transformers, and electromechanical machinery; introduction to power system operation. Typically offered Fall and Spring.

361 (Effective through Spring 2021) Electrical Power Systems 3 Course Prerequisite: E E 321 with a C or better; E E 331 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Power system hardware; transformers, and electromechanical machinery; introduction to power system operation. Typically offered Fall and Spring.

362 Power System Laboratory I 3 (1-6) Course Prerequisite: E E 262 with a C or better; E E 352 with a C or better; concurrent enrollment in E E 361; concurrent enrollment in E E 341; admitted to the major or minor in E E, Cpt S, Cpt E, or Software Engineering. Experiments in simulation, modeling, transformers, rotating machines, and transmission lines. Typically offered Spring.

362 (Effective through Spring 2021) Power System Laboratory I 3 (1-6) Course Prerequisite: E E 262 with a C or better; E E 352 with a C or better; concurrent enrollment in E E 361; concurrent enrollment in E E 341; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Experiments in simulation, modeling, transformers, rotating machines, and transmission lines. Typically offered Spring.

415 Design Project Management 3 (1-6) Course Prerequisite: E E 341 and E E 361, both with a C or better; or E E 334 and CPT S 360, both with a C or better; admitted to the major or minor in E E, Cpt S, Cpt E, or Software Engineering. Project scheduling/planning, technical writing, oral presentation skills, working in teams, TQC, TQM, market-driven organizations. Typically offered Fall and Spring.

415 (Effective through Spring 2021) Design Project Management 3 (1-6) Course Prerequisite: E E 341 with a C or better and E E 361 with a C or better; or E E 334 with a C or better and CPT S 360 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Project scheduling/planning, technical writing, oral presentation skills, working in teams, TQC, TQM, market-driven organizations. Typically offered Fall and Spring.

416 [CAPS] [M] Electrical Engineering Design 3 (1-6) Course Prerequisite: E E 415 with a C or better; ENGLISH 402 or 403 with a C or better, or concurrent enrollment; admitted to the major or minor in E E, Cpt S, Cpt E, Cpt A, or Software Engineering; senior standing. Electrical engineering design of specific projects including design specification; written and oral presentations and reports. Typically offered Fall and Spring.

416 (Effective through Spring 2021) [CAPS] [M] Electrical Engineering Design 3 (1-6) Course Prerequisite: E E 415 with a C or better; ENGLISH 402 with a C or better, or concurrent enrollment, or ENGLISH 403 with a C or better, or concurrent enrollment; admitted to the major in E E, Cpt S, Cpt E or Cpt A; senior standing. Electrical engineering design of specific projects including design specification; written and oral presentations and reports. Typically offered Fall and Spring.

431 RF and Microwave Circuits and Systems 3 Course Prerequisite: E E 311; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Design and implementation of RF/microwave modules and systems for telecommunications; microstrip, filters, mixers, amplifiers, frequency synthesizers and transceivers. Typically offered Spring.

431 (Effective through Spring 2021) RF and Microwave Circuits and Systems 3 Course Prerequisite: E E 311; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Design and implementation of RF/microwave modules and systems for telecommunications; microstrip, filters, mixers, amplifiers, frequency synthesizers and transceivers. Typically offered Spring.

432 RF Engineering for Telecommunications 4 (3-3) Course Prerequisite: E E 331; E E 341 with a C or better; STAT 360 with a C or better or STAT 443 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. System and propagation issues for wireless telecommunications; cellular, PCS, microwave, and satellite system analysis, design, measurement, and testing. Typically offered Fall.

432 (Effective through Spring 2021) RF Engineering for Telecommunications 4 (3-3) Course Prerequisite: E E 331; E E 341 with a C or better; STAT 360 with a C or better or STAT 443 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. System and propagation issues for wireless telecommunications; cellular, PCS, microwave, and satellite system analysis, design, measurement, and testing. Typically offered Fall.

434 ASIC and Digital Systems Design 3 (2-3) Course Prerequisite: E E 234 with a C or better; E E 321 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Application Specific Integrated Circuit and Digital System Design methods, semi-custom, full-custom, and field-programmable devices; digital system architectures, electronics, and tests. Typically offered Spring.

434 (Effective through Spring 2021) ASIC and Digital Systems Design 3 (2-3) Course Prerequisite: E E 234 with a C or better; E E 321 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Application Specific Integrated Circuit and Digital System Design methods, semi-custom, full-custom, and field-programmable devices; digital system architectures, electronics, and tests. Typically offered Spring.

439 Critical Infrastructure Security: The Emerging Smart Grid 3 Course Prerequisite: Senior standing. Smart electric grid, communication networks, distributed computing, fault tolerant computing, cyber security, analyzing interdependencies between the smart grid components, smart grid standards and protocols. (Crosslisted course offered as E E 439, CPT S 439). Typically offered Spring.

451 Digital Communication Systems 3 Course Prerequisite: E E 341 with a C or better, STAT 360 with a C or better, or STAT 443 with a C or better; admitted to the major or minor in E E, Computer Science, Computer Engineering, Software Engineering, or major in Neuroscience. Digital communication techniques; performance of digital communication systems in noise; matched filter detection; quantization. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

451 (Effective through Fall 2021) Digital Communication Systems 3 Course Prerequisite: E E 341 with a C or better, STAT 360 with a C or better, or STAT 443 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Digital communication techniques; performance of digital communication systems in noise; matched filter detection; quantization. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

451 (Effective through Spring 2021) Digital Communication Systems 3 Course Prerequisite: E E 341 with a C or better, STAT 360 with a C or better, or STAT 443 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Digital communication techniques; performance of digital communication systems in noise; matched filter detection; quantization. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

455 Introduction to Computer Networks 3 Course Prerequisite: CPT S 360, 370, or E E 234, with a C or better; admitted to the major or minor in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, or Data Analytics. Concepts and implementation of computer networks; architectures, protocol layers, internetworking and addressing case studies. (Crosslisted course offered as CPT S 455, E E 455). Typically offered Fall.

464 Digital Signal Processing I 3 Course Prerequisite: E E 341 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, Software Engineering, or major in Neuroscience. Discrete and fast Fourier transforms; Z-transform; sampling; discrete convolution; digital filter design; effects of quantization. Typically offered Fall.

464 (Effective through Fall 2021) Digital Signal Processing I 3 Course Prerequisite: E E 341 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Discrete and fast Fourier transforms; Z-transform; sampling; discrete convolution; digital filter design; effects of quantization. Typically offered Fall.

464 (Effective through Spring 2021) Digital Signal Processing I 3 Course Prerequisite: E E 341 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Discrete and fast Fourier transforms; Z-transform; sampling; discrete convolution; digital filter design; effects of quantization. Typically offered Fall.

466 VLSI Design 3 Course Prerequisite: E E 234 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Very Large Scale Integrated circuit, system and physical design using CAD software; project specification, modeling, implementation, documentation and reporting. Typically offered Fall.

466 (Effective through Spring 2021) VLSI Design 3 Course Prerequisite: E E 234 with a C or better; admitted to the major in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Very Large Scale Integrated circuit, system and physical design using CAD software; project specification, modeling, implementation, documentation and reporting. Typically offered Fall.

476 Analog Integrated Circuits 3 Course Prerequisite: E E 311 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Analysis and design of analog integrated circuits in CMOS and BiCMOS technologies; current mirrors, gain stages, operational amplifiers, frequency response, and compensation. Credit not granted for both E E 476 and 576. Offered at 400 and 500 level. Typically offered Spring.

476 (Effective through Spring 2021) Analog Integrated Circuits 3 Course Prerequisite: E E 311 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Analysis and design of analog integrated circuits in CMOS and BiCMOS technologies; current mirrors, gain stages, operational amplifiers, frequency response, and compensation. Credit not granted for both E E 476 and 576. Offered at 400 and 500 level. Typically offered Spring.

483 Topics in Electrical and Computer Engineering V 1-3 May be repeated for credit; cumulative maximum 6 hours. Current topics in electrical engineering and computer engineering.

485 Electric Energy Distribution Systems 3 Course Prerequisite: E E 361 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Fundamentals of distribution systems engineering, distribution system modeling and analysis, distribution load flow analysis, voltage regulation, recent advances in distribution automation. Typically offered Spring.

485 (Effective through Spring 2021) Electric Energy Distribution Systems 3 Course Prerequisite: E E 361 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Fundamentals of distribution systems engineering, distribution system modeling and analysis, distribution load flow analysis, voltage regulation, recent advances in distribution automation. Typically offered Spring.

486 Power Electronics 3 Course Prerequisite: E E 361 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Analysis and modeling of power electronics-based converters, steady state operation, converter topologies, non-ideal effects; power supplies; applications. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

486 (Effective through Spring 2021) Power Electronics 3 Course Prerequisite: E E 361 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Analysis and modeling of power electronics-based converters, steady state operation, converter topologies, non-ideal effects; power supplies; applications. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

488 Professional Practice Coop/Internship I V 1-2 May be repeated for credit; cumulative maximum 6 hours. Course Prerequisite: By department permission. Practicum for students admitted to the VCEA Professional Practice and Experiential Learning Program; integration of coursework with on-the-job professional experience. (Crosslisted course offered as ENGR 488, BIO ENG 488, CHE 488, CE 488, CPT S 488, E E 488, ME 488, MSE 488, SDC 488). Typically offered Fall, Spring, and Summer. S, F grading.

489 Introduction to Control Systems 3 Course Prerequisite: E E 341 with a C or better or concurrent enrollment; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. State variable models, system response, stability analysis, root locus analysis and design; frequency-response and state-space analysis and design. Typically offered Fall.

489 (Effective through Spring 2021) Introduction to Control Systems 3 Course Prerequisite: E E 341 with a C or better or concurrent enrollment; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. State variable models, system response, stability analysis, root locus analysis and design; frequency-response and state-space analysis and design. Typically offered Fall.

491 Performance of Power Systems 3 Course Prerequisite: E E 361 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Static and dynamic behavior of power systems, powerflow, and economic considerations. Typically offered Fall.

491 (Effective through Spring 2021) Performance of Power Systems 3 Course Prerequisite: E E 361 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Static and dynamic behavior of power systems, powerflow, and economic considerations. Typically offered Fall.

492 Renewable Energy Sources 3 (2-3) Course Prerequisite: E E 361 with a C or better or concurrent enrollment; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Design of electrical generation plants using wind, solar and other renewable energy sources including technical, environmental and economic aspects. Typically offered Fall.

492 (Effective through Spring 2021) Renewable Energy Sources 3 (2-3) Course Prerequisite: E E 361 with a C or better or concurrent enrollment; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Design of electrical generation plants using wind, solar and other renewable energy sources including technical, environmental and economic aspects. Typically offered Fall.

493 Protection of Power Systems I 3 Course Prerequisite: E E 361 with a C or better; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Analysis and equipment fundamentals of power system protection; symmetrical components, fault calculations; fuses; and relays including burden calculations. Typically offered Spring.

493 (Effective through Spring 2021) Protection of Power Systems I 3 Course Prerequisite: E E 361 with a C or better; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Analysis and equipment fundamentals of power system protection; symmetrical components, fault calculations; fuses; and relays including burden calculations. Typically offered Spring.

494 Protective Relay Labs 3 (1-6) Course Prerequisite: E E 361 with a C or better; E E 493 with a C or better or concurrent enrollment; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Experiments and measurements of protective relay equipment under test, simulated fault and fault conditions. Typically offered Spring.

494 (Effective through Spring 2021) Protective Relay Labs 3 (1-6) Course Prerequisite: E E 361 with a C or better; E E 493 with a C or better or concurrent enrollment; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Experiments and measurements of protective relay equipment under test, simulated fault and fault conditions. Typically offered Spring.

495 Internship in Electrical Industry V 2-4 May be repeated for credit; cumulative maximum 8 hours. Course Prerequisite: Electrical Engineering major; by permission only. Students work full time on engineering assignments in approved industries. Typically offered Fall, Spring, and Summer. S, F grading.

496 Semiconductor Devices 3 Course Prerequisite: CHEM 105, 4 credits of PHYSICS 202, or PHYSICS 202 and 212; admitted to the major or minor in Electrical Engineering, Computer Science, Computer Engineering, or Software Engineering. Equilibrium statistics of electrons and holes; carrier dynamics; p-n junctions, metal-semiconductor junctions, BJTs, Mosfets, solar cells, and LEDs. Typically offered Fall.

496 (Effective through Summer 2021) Semiconductor Devices 3 Course Prerequisite: CHEM 105 or PHYSICS 202; admitted to the major in Electrical Engineering, Computer Science, or Computer Engineering. Equilibrium statistics of electrons and holes; carrier dynamics; p-n junctions, metal-semiconductor junctions, BJTs, Mosfets, solar cells, and LEDs. Typically offered Fall.

499 Special Problems V 1-4 May be repeated for credit. Independent study conducted under the jurisdiction of an approving faculty member; may include independent research studies in technical or specialized problems; selection and analysis of specified readings; development of a creative project; or field experiences. Typically offered Fall, Spring, and Summer. S, F grading.

501 Linear System Theory 3 Dynamic systems from the state variable approach; observability, controllability, stability, and sensitivity of differential and nondifferential systems. Typically offered Spring. Cooperative: Open to UI degree-seeking students.

502 Linear Multivariable Control 3 Course Prerequisite: E E 501. Optimal linear feedback control, optimal stochastic observers, LQG/LTR design methodology, modern Wiener-Hopf design, robust controllers. Cooperative: Open to UI degree-seeking students.

503 Structure, Dynamics and Control of Large-scale Networks 3 Course Prerequisite: E E 501; E E 507. Introduction and development of computational and analytical methods required to characterize large-scale networks.

504 Modern Optics 3 Diffraction theory, Fourier transforming and imaging properties of lenses, spatial filtering, holography, temporal and spatial coherence, imaging through random media. Cooperative: Open to UI degree-seeking students.

505 Nonlinear System Theory 3 Course Prerequisite: E E 501. Overview of nonlinear phenomena, Lyapunov stability, input-output stability, periodic orbits, singular perturbation, differential geometric methods, bifurcations and complex behaviors. Cooperative: Open to UI degree-seeking students.

507 Random Processes in Engineering 3 Functions of random variables; random sequences; stochastic processes; mean-square stochastic calculus; ergodicity; spectral density; linear transformations, filtering, dynamic systems. Typically offered Fall. Cooperative: Open to UI degree-seeking students.

508 Estimation Theory for Signal Processing, Communications, and Control 3 Course Prerequisite: E E 501; E E 507. Principles of statistical estimation; LLSE; Kalman filtering; smoothing; prediction; maximum- likelihood and Bayesian estimation. Cooperative: Open to UI degree-seeking students.

509 Adaptive Control 3 Course Prerequisite: E E 501. Model reference adaptive systems (MRAS), adaptive observers, adaptive control, on-line identification, robustness issues, self-tuning regulators.

511 Protection of Power Systems II 3 Protection of electrical equipment as related to electric power systems with emphasis on digital algorithms. Cooperative: Open to UI degree-seeking students.

518 Advanced Electromagnetic Theory I 3 Electromagnetic waves, electromagnetic theorems and concepts, solutions to the wave equation in rectangular, cylindrical and spherical coordinates. Typically offered Fall. Cooperative: Open to UI degree-seeking students.

520 Plasma Engineering 3 Electromagnetics, kinetic theory, and fluid mechanics of plasmas in space, arcs, plasma processing, coronas, and fusion reactors. Typically offered Fall, Spring, and Summer.

521 Analysis of Power Systems 3 Concepts and practices of modern power engineering, including steady-state and dynamic analysis, economics and control design. Typically offered Fall.

522 High Voltage Engineering 3 High voltage engineering concepts and techniques that facilitate design, research, and development of modern electric power apparatus and interconnected components.

523 Power Systems Stability and Control 3 Course Prerequisite: E E 521 with a B- or better. Dynamic analysis of interconnected electric power system; modeling of synchronous generators, loads and transmission network; small-signal stability and transient stability analysis; dynamic stability controls. Recommended preparation: E E 489 with a B- or better. Typically offered Spring.

524 Advanced Computer Architecture 3 Instruction set architectures, pipelining and super pipelining, instruction level parallelism, superscalar and VLIW processors, cache memory, thread-level parallelism and VLSI. (Crosslisted course offered as E E 524, CPT S 561). Typically offered Fall.

525 Power System Applications of Power Electronics 3 Course Prerequisite: E E 521. Power electronic converters in modern power systems, FACTS devices, HVDC, compensation; microgrids and integration renewable energy resources; modeling and control.

526 High Voltage Overhead Transmission Lines 3 Course Prerequisite: Graduate standing in Electrical Engineering. Electrical analysis, performance, and design of high voltage transmission lines; power capacity, electromagnetic environment, electromagnetic compatibility, measurements, grounding.

526 (Effective through Spring 2021) High Voltage Overhead Transmission Lines 3 Course Prerequisite: Graduate standing in Electrical Engineering. Electrical analysis, performance, and design of high voltage transmission lines; power capacity, electromagnetic environment, electromagnetic compatibility, measurements, grounding.

527 Antenna Theory and Design 3 Antenna fundamentals, analytical techniques, characteristics and design procedures for selected types of wire, broadband, and aperture antennas. Cooperative: Open to UI degree-seeking students.

528 Advanced Topics in Electromagnetics 3 May be repeated for credit; cumulative maximum 6 hours. Advanced topics of current interest in wave propagation (electromagnetics, acoustics, or optics).

529 Power Quality 3 Existing and future power quality issues, including identification, measurement, and mitigation; power quality definitions, standards, and classification; voltage quality; power systems harmonics; DER integration; and emerging power quality concerns. Recommended preparation: E E 491 or equivalent. Typically offered Spring.

529 (Effective through Fall 2021) Power Quality 3 Existing and future power quality issues, including identification, measurement, and mitigation; power quality definitions, standards, and classification; voltage quality; power systems harmonics; DER integration; and emerging power quality concerns. Recommended preparation: E E 491 or equivalent. Typically offered Spring.

530 Digital Signal Processing II 3 Course Prerequisite: E E 507. Frequency selective digital filtering, least-squares filtering, adaptive filtering, multirate signal processing. Cooperative: Open to UI degree-seeking students.

535 Numerical Solutions to EM Problems 3 Theory and use of finite-difference time-domain; numeric dispersion; absorbing boundary conditions; scattering; radiation; time-domain vs. frequency-domain.

536 Power Systems Economics and Electricity Markets 3 Economic dispatch and optimal power flow; electricity market; short-term load forecasting; electricity price forecasting; price-based unit commitment; arbitrage in electricity markets; market power analysis.

545 Data Compression 3 Course Prerequisite: E E 507. Source coding with a fidelity criterion; quantization theory; predictive, transform and subband coding; noiseless source codes.

548 Information Theory and Channel Coding 3 Course Prerequisite: E E 507. Information theory; entropy, mutual information, source and channel coding theorems, channel capacity, Gaussian channels; channel coding: block and convolutional codes.

551 Data Communication Systems 3 Course Prerequisite: E E 507. Digital communications; multi-amplitude/phase signal constellations; probability of error performance; cutoff rate; Viterbi algorithm; trellis coded modulation. Cooperative: Open to UI degree-seeking students.

555 Computer Communication Networks 3 Packet switching networks; multi-access and local-area networks; delay models in data networks; routing and flow control. (Crosslisted course offered as E E 555, CPT S 555). Typically offered Spring.

562 Fault Tolerant Computer Systems 3 Fault tolerance aspects involved in design and evaluation of systems; methods of detection and recovery; multicast, middleware, and reconfiguration. (Crosslisted course offered as CPT S 562, E E 562).

571 Advanced Wireless Integrated Circuits and Systems 3 Analysis and design methodologies of state-of-the-art wireless integrated circuits and systems. Typically offered Fall.

576 Analog Integrated Circuits 3 Analysis and design of analog integrated circuits in CMOS and BiCMOS technologies; current mirrors, gain stages, operational amplifiers, frequency response, and compensation. Credit not granted for both E E 476 and 576. Offered at 400 and 500 level. Typically offered Spring.

576 (Effective through Spring 2021) Analog Integrated Circuits 3 Analysis and design of analog integrated circuits in CMOS and BiCMOS technologies; current mirrors, gain stages, operational amplifiers, frequency response, and compensation. Credit not granted for both E E 476 and 576. Offered at 400 and 500 level. Typically offered Spring.

581 Advanced Topics in Power Systems V 2-3 May be repeated for credit; cumulative maximum 6 hours. Course Prerequisite: E E 521. Power system operations including AGC, economic dispatch and security; power system dynamics; intelligent systems applications. Cooperative: Open to UI degree-seeking students.

582 Advanced Topics V 1-3 May be repeated for credit. (Crosslisted course offered as E E 582, ECE 582.) Cooperative: Open to UI degree-seeking students.

582 (Effective through Summer 2021) Advanced Topics V 1-3 May be repeated for credit. Cooperative: Open to UI degree-seeking students.

586 VLSI Systems Design 3 VLSI models, layout algorithms, design methodologies, simulation and layout tools, algorithm design for VLSI implementation. Typically offered Fall.

587 System on Chip (SoC) Design and Test 3 System on Chip (SoC) and sub-micron integrated circuit design and testing. Typically offered Spring.

595 Directed Study in Electrical Engineering V 1 (0-3) to 3 (0-9) May be repeated for credit. Current topics in electrical engineering. (Crosslisted course offered as E E 595 and ECE 595.) Typically offered Fall, Spring, and Summer.

596 Advanced Analog Integrated Circuits 3 MOS and BiCMOS technologies; MOS and BiCMOS operational amplifiers; A/D, D/A converters; switched-capacitor filters; continuous-time filters. Typically offered Spring.

600 Special Projects or Independent Study V 1-18 May be repeated for credit. Independent study, special projects, and/or internships. Students must have graduate degree-seeking status and should check with their major advisor before enrolling in 600 credit, which cannot be used toward the core graded credits required for a graduate degree. Typically offered Fall, Spring, and Summer. S, F grading.

700 Master's Research, Thesis, and/or Examination V 1-18 May be repeated for credit. Independent research and advanced study for students working on their master's research, thesis and/or final examination. Students must have graduate degree-seeking status and should check with their major advisor/committee chair before enrolling for 700 credit. Typically offered Fall, Spring, and Summer. S, U grading.

701 Master's Independent Capstone Project and /or Examination V 1-6 May be repeated for credit. Capstone project or final examination for professional master's degree under the Graduate School. The credits will include a balloted evaluation of the student's completion of the program's capstone/examination requirements by the program's graduate faculty. Students must have graduate degree-seeking status and obtain approval from their major advisor/committee chair before enrolling for 701 credit. Typically offered Fall, Spring, and Summer. S, U grading.

702 Master's Special Problems, Directed Study, and/or Examination V 1-18 May be repeated for credit. Independent research in special problems, directed study, and/or examination credit for students in a non-thesis master's degree program. Students must have graduate degree-seeking status and should check with their major advisor/committee chair before enrolling for 702 credit. Typically offered Fall, Spring, and Summer. S, U grading.

800 Doctoral Research, Dissertation, and/or Examination V 1-18 May be repeated for credit. Course Prerequisite: Admitted to the Electrical Engineering PhD program. Independent research and advanced study for students working on their doctoral research, dissertation and/or final examination. Students must have graduate degree-seeking status and should check with their major advisor/committee chair before enrolling for 800 credit. Typically offered Fall, Spring, and Summer. S, U grading.

Student Affairs Schedules of Classes Commencement Veteran's Affairs Summer Session
 
Office of the Registrar, PO Box 641035, Washington State University, Pullman WA 99164-1035, 509-335-5346, bitter@wsu.edu
Copyright © Board of Regents, Washington State University