CINXE.COM
The Washington State University General Catalog
<!DOCTYPE html> <html> <head> <!-- Google Tag Manager --> <script> (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-T266HC2L');</script> <!-- End Google Tag Manager --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- Deployment: Deployment Id: 0.0.209 | Package Version: 1.0.1.7589 --> <meta name="keywords" content="WSU, Washington State, Washington State University" /> <meta name="viewport" content="width=device-width" /> <link rel="shortcut icon" href="https://images.wsu.edu/favicon.ico" /> <title>The Washington State University General Catalog</title> <link href="https://designer.wsu.edu/template/css2.aspx?key=0aab2XJM011" type="text/css" rel="stylesheet" /> <link href="/Content/Catalog.css" type="text/css" rel="Stylesheet" /> <link href="/Content/Catalog_Overrides.css" rel="Stylesheet" type="text/css" /> <style type="text/css"> #wrapper #content #main { width: 495px; } #wrapper #content #secondary { display: block; } </style> </head> <body> <div id="wrapper"> <!--Beginning of the WSU Identifier Zone. Refer to www.wsu.edu/identity/ for more information. --> <div id="wsuheader-wrapper"> <div id='globalnav'><ul><li>Washington State University</li></ul></div> <div id='logo'><a href='http://www.wsu.edu'><img src='https://images.wsu.edu/global/bg-logo3.jpg' alt="WSU Logo" /></a></div> </div> <!--End of the WSU Identifier Zone. --> <div id="siteID"> <h2>The Washington State University General Catalog</h2> <h1 id="subheader" style="font-size:1.27em;"> Courses with the CPT_S Subject </h1> </div> <div id="toolbar"> <ul> <li><a id="chCampus" href="/">Change Campus</a></li> <li><a href="/Home/About">About Our Catalog</a></li> </ul> </div> <div id="content"> <div id="nav"> <div id="featured"> <ul> <li><a href="https://registrar.wsu.edu/">Registrar Home Page</a></li> <li><a href="https://schedules.wsu.edu/">Schedule of Classes</a></li> <li><a href="/">University Catalog</a></li> </ul> </div> <ul> <li><a href="/General">Home</a></li> <li><a Class="navcurrentpage" href="/General/Academics">Academic Units</a></li> <li><a href="/General/Courses">Courses</a></li> <li><a href="/General/Info">General Information</a></li> <li><a href="/General/AcademicRegulations">Academic Regulations</a></li> <li><a href="/General/AcademicCalendar">Academic Calendar</a></li> <li><a target="_blank" href="https://registrar.wsu.edu/media/j11p1nao/current-wsu-catalog.pdf">Current PDF Catalog</a></li> <li><a target="_blank" href="https://alliance-wsu.esploro.exlibrisgroup.com/esploro/search/outputs?unit=01ALLIANCE_WSU___8547_06_01&sort=title&page=1">Archived PDF Catalogs</a></li> </ul> </div> <div id="main"> <p class="justified"> <i> 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. </i> </p> <form action="/General/Academics/Process" id="au_selector_form" method="post"> <div class="au_selector"> <select name="AU_ID"> <option value="184" >Academic Engagement And Student Achievement</option> <option value="99" >Accounting</option> <option value="2475" >Advanced Practice And Community-Based Care</option> <option value="1" >Aerospace Studies</option> <option value="86" >Aging</option> <option value="122" >Agricultural And Food Systems</option> <option value="122" >Agricultural Education [Agricultural And Food Systems]</option> <option value="122" >Agricultural Technology And Management [Agricultural And Food Systems]</option> <option value="5" >American Indian Studies [Anthropology]</option> <option value="2457" >American Studies [Languages, Cultures, And Race]</option> <option value="4" >Animal Sciences</option> <option value="5" >Anthropology</option> <option value="6" >Apparel, Merchandising, Design, And Textiles</option> <option value="7" >Architecture [Design And Construction]</option> <option value="27" >Art</option> <option value="30" >Asia [History]</option> <option value="113" >Astronomy [Physics And Astronomy]</option> <option value="21" >Athletic Training [Kinesiology And Educational Psychology]</option> <option value="117" >Bioengineering [Chemical Engineering And Bioengineering]</option> <option value="10" >Biological Sciences</option> <option value="11" >Biological Systems Engineering</option> <option value="10" >Biology [Biological Sciences]</option> <option value="60" >Biomedical Sciences [Veterinary Medicine]</option> <option value="62" >Biomedical Sciences [Veterinary Clinical Sciences]</option> <option value="12" >Business</option> <option value="12" >Business Administration [Business]</option> <option value="99" >Business Law [Accounting]</option> <option value="117" >Chemical Engineering [Chemical Engineering And Bioengineering]</option> <option value="117" >Chemical Engineering And Bioengineering</option> <option value="14" >Chemistry</option> <option value="2457" >Chinese [Languages, Cultures, And Race]</option> <option value="15" >Civil And Environmental Engineering</option> <option value="15" >Civil Engineering [Civil And Environmental Engineering]</option> <option value="2457" >Classics [Languages, Cultures, And Race]</option> <option value="16" >Communication</option> <option value="2457" >Comparative Ethnic Studies [Languages, Cultures, And Race]</option> <option value="22" >Computer Engineering [Electrical Engineering And Computer Science]</option> <option value="22" >Computer Science [Electrical Engineering And Computer Science]</option> <option value="111" >Computer Science - Vancouver [Engineering And Computer Science - Wsu Vancouver]</option> <option value="15" >Construction Engineering [Civil And Environmental Engineering]</option> <option value="7" >Construction Management [Design And Construction]</option> <option value="21" >Counseling Psychology [Kinesiology And Educational Psychology]</option> <option value="18" >Criminal Justice [Criminal Justice And Criminology]</option> <option value="18" >Criminal Justice And Criminology</option> <option value="19" >Crop And Soil Sciences</option> <option value="19" >Crop Science [Crop And Soil Sciences]</option> <option value="2457" >Cross-Disciplinary Arts And Sciences [Languages, Cultures, And Race]</option> <option value="59" >Cultural Studies And Social Thought In Education [Teaching And Learning]</option> <option value="22" >Cybersecurity [Electrical Engineering And Computer Science]</option> <option value="2456" >Data Analytics</option> <option value="7" >Design [Design And Construction]</option> <option value="7" >Design And Construction</option> <option value="120" >Digital Technology And Culture</option> <option value="123" >Earth Sciences [Environment]</option> <option value="110" >Economic Sciences</option> <option value="2461" >Educational Administration And Supervision [Educational Leadership And Sport Management]</option> <option value="2461" >Educational Leadership And Sport Management</option> <option value="21" >Educational Psychology [Kinesiology And Educational Psychology]</option> <option value="21" >Educational Research [Kinesiology And Educational Psychology]</option> <option value="22" >Electrical Engineering [Electrical Engineering And Computer Science]</option> <option value="111" >Electrical Engineering - Vancouver [Engineering And Computer Science - Wsu Vancouver]</option> <option value="22" selected = 'selected'>Electrical Engineering And Computer Science</option> <option value="10" >Electron Microscopy [Biological Sciences]</option> <option value="128" >Engineering [Engineering And Architecture]</option> <option value="128" >Engineering And Architecture</option> <option value="111" >Engineering And Computer Science - Wsu Vancouver</option> <option value="23" >Engineering And Technology Management Program</option> <option value="23" >Engineering Management [Engineering And Technology Management Program]</option> <option value="24" >English</option> <option value="25" >Entomology</option> <option value="96" >Entrepreneurship [Management, Information Systems, And Entrepreneurship]</option> <option value="123" >Environment</option> <option value="123" >Environmental And Ecosystem Sciences [Environment]</option> <option value="115" >Exercise Physiology And Metabolism [Nutrition And Exercise Physiology]</option> <option value="115" >Exercise Science [Nutrition And Exercise Physiology]</option> <option value="95" >Finance [Finance And Management Science]</option> <option value="95" >Finance And Management Science</option> <option value="27" >Fine Arts [Art]</option> <option value="11" >Food Manufacturing Technology [Biological Systems Engineering]</option> <option value="165" >Food Science</option> <option value="2457" >Foreign Languages And Cultures [Languages, Cultures, And Race]</option> <option value="123" >Forest Ecology And Management [Environment]</option> <option value="2473" >Foundational Practice And Community-Based Care</option> <option value="2448" >Foundations Of Medical Science [Medical Education And Clinical Sciences]</option> <option value="2457" >French [Languages, Cultures, And Race]</option> <option value="122" >General Agriculture [Agricultural And Food Systems]</option> <option value="2484" >General Studies - Sciences</option> <option value="125" >General Studies — Liberal Arts</option> <option value="124" >General Studies — Sciences</option> <option value="2457" >German [Languages, Cultures, And Race]</option> <option value="186" >Global Animal Health [Global Health]</option> <option value="186" >Global Health</option> <option value="21" >Health And Fitness [Kinesiology And Educational Psychology]</option> <option value="2452" >Health Communication And Promotion [Strategic Communication]</option> <option value="59" >Health Education [Teaching And Learning]</option> <option value="2448" >Healthcare Administration And Leadership [Medical Education And Clinical Sciences]</option> <option value="30" >History</option> <option value="31" >Honors College</option> <option value="32" >Horticulture</option> <option value="33" >Hospitality Business Management</option> <option value="34" >Human Development</option> <option value="65" >Humanities</option> <option value="25" >Integrated Pest Management [Entomology]</option> <option value="175" >Integrated Plant Sciences</option> <option value="61" >Integrative Physiology And Neuroscience</option> <option value="88" >Interdisciplinary</option> <option value="7" >Interior Design [Design And Construction]</option> <option value="97" >International Business [Marketing And International Business]</option> <option value="98" >International Business Institute</option> <option value="2457" >Italian [Languages, Cultures, And Race]</option> <option value="2457" >Japanese [Languages, Cultures, And Race]</option> <option value="2451" >Journalism And Media Production</option> <option value="21" >Kinesiology [Kinesiology And Educational Psychology]</option> <option value="21" >Kinesiology Activity [Kinesiology And Educational Psychology]</option> <option value="21" >Kinesiology And Educational Psychology</option> <option value="7" >Landscape Architecture [Design And Construction]</option> <option value="59" >Language, Literacy, And Technology [Teaching And Learning]</option> <option value="2457" >Languages, Cultures, And Race</option> <option value="2457" >Latin [Languages, Cultures, And Race]</option> <option value="2448" >Leadership In Medicine And Healthcare [Medical Education And Clinical Sciences]</option> <option value="96" >Management [Management, Information Systems, And Entrepreneurship]</option> <option value="95" >Management And Operations [Finance And Management Science]</option> <option value="96" >Management Information Systems [Management, Information Systems, And Entrepreneurship]</option> <option value="96" >Management, Information Systems, And Entrepreneurship</option> <option value="97" >Marketing [Marketing And International Business]</option> <option value="97" >Marketing And International Business</option> <option value="59" >Master In Teaching [Teaching And Learning]</option> <option value="36" >Materials Science And Engineering</option> <option value="38" >Materials Science And Engineering [Mechanical And Materials Engineering]</option> <option value="37" >Mathematics [Mathematics And Statistics]</option> <option value="59" >Mathematics / Science Education [Teaching And Learning]</option> <option value="37" >Mathematics And Statistics</option> <option value="38" >Mechanical And Materials Engineering</option> <option value="38" >Mechanical Engineering [Mechanical And Materials Engineering]</option> <option value="111" >Mechanical Engineering - Vancouver [Engineering And Computer Science - Wsu Vancouver]</option> <option value="2448" >Medical Clinical Training [Medical Education And Clinical Sciences]</option> <option value="2448" >Medical Education And Clinical Sciences</option> <option value="2448" >Medical Ethics [Medical Education And Clinical Sciences]</option> <option value="2448" >Medical Scholarship [Medical Education And Clinical Sciences]</option> <option value="2447" >Medicine</option> <option value="77" >Military Science</option> <option value="40" >Molecular Biosciences</option> <option value="53" >Molecular Plant Sciences</option> <option value="21" >Movement Studies [Kinesiology And Educational Psychology]</option> <option value="81" >Music</option> <option value="123" >Natural Resource Sciences [Environment]</option> <option value="44" >Naval Science</option> <option value="45" >Neuroscience</option> <option value="71" >Nursing</option> <option value="2474" >Nursing And Systems Science</option> <option value="2475" >Nursing: Advanced Practice And Community-Based Care [Advanced Practice And Community-Based Care]</option> <option value="2473" >Nursing: Foundational Practice And Community-Based [Foundational Practice And Community-Based Care]</option> <option value="2474" >Nursing: Nursing And Systems Science [Nursing And Systems Science]</option> <option value="115" >Nutrition And Exercise Physiology</option> <option value="163" >Pharmaceutical And Medical Sciences [Pharmacy And Pharmaceutical Sciences]</option> <option value="429" >Pharmaceutical Sciences And Molecular Medicine Graduate Program</option> <option value="163" >Pharmacy [Pharmacy And Pharmaceutical Sciences]</option> <option value="163" >Pharmacy And Pharmaceutical Sciences</option> <option value="163" >Pharmacy Sciences [Pharmacy And Pharmaceutical Sciences]</option> <option value="414" >Philosophy [Politics, Philosophy, And Public Affairs]</option> <option value="113" >Physics [Physics And Astronomy]</option> <option value="113" >Physics And Astronomy</option> <option value="52" >Plant Pathology</option> <option value="414" >Political Science [Politics, Philosophy, And Public Affairs]</option> <option value="414" >Politics, Philosophy, And Public Affairs</option> <option value="79" >Pre-Dental Curriculum</option> <option value="419" >Pre-Health Curriculum</option> <option value="91" >Pre-Law Curriculum</option> <option value="80" >Pre-Medical Curriculum</option> <option value="415" >Pre-Nursing Curriculum</option> <option value="417" >Pre-Nutrition And Exercise Physiology Curriculum</option> <option value="418" >Pre-Pharmacy Curriculum</option> <option value="428" >Pre-Physical Therapy, Pre-Physician Assistant, Pre-Occupational Therapy</option> <option value="430" >Pre-Speech And Hearing Sciences Curriculum</option> <option value="92" >Pre-Veterinary Curriculum</option> <option value="34" >Prevention Science [Human Development]</option> <option value="55" >Psychology</option> <option value="148" >Public Affairs</option> <option value="2472" >Public Health</option> <option value="16" >Public Relations [Communication]</option> <option value="7" >School Of Design And Construction [Design And Construction]</option> <option value="123" >School Of The Environment [Environment]</option> <option value="10" >Science [Biological Sciences]</option> <option value="2473" >Social Work [Foundational Practice And Community-Based Care]</option> <option value="76" >Sociology</option> <option value="22" >Software Engineering [Electrical Engineering And Computer Science]</option> <option value="19" >Soil Science [Crop And Soil Sciences]</option> <option value="2457" >Spanish [Languages, Cultures, And Race]</option> <option value="59" >Special Education [Teaching And Learning]</option> <option value="160" >Speech And Hearing Sciences</option> <option value="2461" >Sport Management [Educational Leadership And Sport Management]</option> <option value="37" >Statistics [Mathematics And Statistics]</option> <option value="2452" >Strategic Communication</option> <option value="11" >Sustainable Aviation Fuel Production [Biological Systems Engineering]</option> <option value="59" >Teaching And Learning</option> <option value="2460" >Translational Medicine And Physiology</option> <option value="31" >University Honors [Honors College]</option> <option value="184" >University Writing [Academic Engagement And Student Achievement]</option> <option value="184" >University-Wide [Academic Engagement And Student Achievement]</option> <option value="61" >Vet Anatomy [Integrative Physiology And Neuroscience]</option> <option value="62" >Veterinary Clinical Medicine And Surgery [Veterinary Clinical Sciences]</option> <option value="62" >Veterinary Clinical Sciences</option> <option value="60" >Veterinary Medicine</option> <option value="63" >Veterinary Microbiology [Veterinary Microbiology And Pathology]</option> <option value="63" >Veterinary Microbiology And Pathology</option> <option value="63" >Veterinary Pathology [Veterinary Microbiology And Pathology]</option> <option value="61" >Veterinary Physiology And Pharmacology [Integrative Physiology And Neuroscience]</option> <option value="2471" >Viticulture And Enology</option> <option value="123" >Wildlife Ecology And Conservation Sciences [Environment]</option> <option value="2458" >Women's Studies [Women's, Gender, And Sexuality Studies]</option> <option value="2458" >Women's, Gender, And Sexuality Studies</option> <option value="10" >Zoology [Biological Sciences]</option> </select> <input type="submit" name="AU_Select" value="Select" /> </div> </form> <div id="unit-info"> <h3>Courses</h3> <p class="justified"> <i> 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. </i> </p> <br /><h4 style='float:left'>Computer Science (CPT_S)</h4><div style='float:right'><span style='font-sizeof:smaller; color:grey;'>(Select Campus to see schedule links)</span></div><br /> <p><p> </p> <p>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 EECS, and to juniors and seniors admitted to other degree programs requiring these computer science courses.</p></p><br/><p class="course"><span class="course_header">101 Introduction to Electrical Engineering and Computer Science </span><span class="course_data">1 Introduction to programs within the School of Electrical Engineering and Computer Science discussing resources, opportunities, and knowledge and skills necessary to succeed within EECS majors. </span></p><p class="course"><span class="course_header">111 [QUAN] Introduction to Computer Programming </span><span class="course_data">3 (2-3) Course Prerequisite: 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. </span></p><p class="course_ending"><span class="course_header">111 (Effective through Summer 2025) [QUAN] Introduction to Computer Programming </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">121 Program Design and Development C/C++ </span><span class="course_data">4 (3-3) Course Prerequisite: MATH 108, 171, 172, 182, 201, 202, 206, or 220, each with a C or better, CPT S 111 with a B+ or better, a min ALEKS math placement score of 78%, or by permission with an AP Exam in Cpt S Principles or Cpt Sci A with a 4 or better. Formulation of problems and top-down design of programs in a modern structured language (C/C++) for their solution on a digital computer. </span></p><p class="course"><span class="course_header">122 Data Structures C/C++ </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">131 Program Design and Development Java </span><span class="course_data">4 (3-3) Course Prerequisite: MATH 108, 171, 172, 182, 201, 202, 206, or 220, each with a C or better, CPT S 111 with a B+ or better, a min ALEKS math placement score of 78%, or by permission with an AP Exam in Cpt S Principles or Cpt Sci A with a 4 or better. 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. </span></p><p class="course"><span class="course_header">132 Data Structures Java </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">215 Data Analytics Systems and Algorithms </span><span class="course_data">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.) </span></p><p class="course"><span class="course_header">223 Advanced Data Structures C/C++ </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">224 Programming Tools </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">233 Advanced Data Structures Java </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">260 Introduction to Computer Architecture </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">302 Professional Skills in Computing and Engineering </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233 with a C or better, OR CPT S 121 or 131 and E E 261 with C or better; admitted to a major in EECS or Data Analytics; junior standing. Professional development; ethical and professional responsibilities in computing and engineering. (Crosslisted course offered as CPT S 302, E E 302.) Credit not granted for both CPT S/E E 302 and CPT S 401. </span></p><p class="course"><span class="course_header">315 Introduction to Data Mining </span><span class="course_data">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, Data Analytics, or Cybersecurity. The process of automatically extracting valid, useful, and previously unknown information from large repositories. Recommended preparation: prior Python programming. (Crosslisted course offered as CPT S 315, CS 315.) </span></p><p class="course"><span class="course_header">317 Automata and Formal Languages </span><span class="course_data">3 Course Prerequisite: CPT S 122 or 132, with a C or better; MATH 216 with a C or better; admitted to a major or minor in EECS or Data Analytics. Finite automata, regular sets, pushdown automata, context-free language, Turing machines and the halting problem. </span></p><p class="course"><span class="course_header">321 Object-Oriented Software Principles </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">322 [M] Software Engineering Principles I </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to a major or minor in EECS or 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. </span></p><p class="course"><span class="course_header">323 Software Design </span><span class="course_data">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 a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">327 Fundamentals of Cyber Security and Cryptography </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233 with a C or better; CPT S 260 or E E 234 with a C or better; CPT S 360 or 370 with a C or better or concurrent enrollment; MATH 216 with a C or better; admitted to a major or minor in EECS or Data Analytics. Security and privacy principles in modern computers and network communications covering various security protection mechanisms, including cryptography, secure communication protocols, and anonymity techniques. </span></p><p class="course"><span class="course_header">350 Design and Analysis of Algorithms </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; CPT S 317 with a C or better; admitted to a major or minor in EECS or Data Analytics. Analysis of data structures and algorithms; computational complexity and design of efficient data-handling procedures. </span></p><p class="course"><span class="course_header">355 Programming Language Design </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to a major or minor in EECS or Data Analytics. Design concepts of high-level programming languages; survey of existing languages, experience using some languages. </span></p><p class="course"><span class="course_header">360 Systems Programming C/C++ </span><span class="course_data">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 a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">370 Systems Programming Java </span><span class="course_data">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 a major or minor in EECS or Data Analytics. Implementation of systems programs, concepts of computer operating systems; laboratory experience in using operating system facilities. Taught in Java programming language. </span></p><p class="course"><span class="course_header">401 Computers and Society </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233; admitted to a major in EECS 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. </span></p><p class="course"><span class="course_header">411 Introduction to Parallel Computing </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">415 Big Data </span><span class="course_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, Data Analytics, or Cybersecurity. Big data models, databases and query languages, modern distributed database systems and algorithms. (Crosslisted course offered as CPT S 415, CS 415.) </span></p><p class="course"><span class="course_header">421 Software Design Project I </span><span class="course_data">3 (1-6) Course Prerequisite: C or better in each of CPT S 322; CPT S 360 or 370; one 400-level CPT S course taken at WSU; admitted to a major in EECS; senior standing. Large-scale software development including requirements analysis, estimation, design, verification and project management. </span></p><p class="course"><span class="course_header">422 [M] Software Engineering Principles II </span><span class="course_data">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 a major or minor in EECS or Data Analytics. Dependable software systems; software verification and validation, testing; CASE environments; software management and evolution. </span></p><p class="course"><span class="course_header">423 [CAPS] [M] Software Design Project II </span><span class="course_data">3 (1-6) Course Prerequisite: CPT S 421 with a C or better; admitted to a major in EECS. Laboratory/group design project for large-scale software development, requirements analysis, estimation, design, verification techniques. </span></p><p class="course"><span class="course_header">424 Cyber Law, Ethics, Rights, and Policies </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; admitted to a major or minor in EECS or Data Analytics. Laws, ethics, rights, and governmental regulations as applied to the field of cybersecurity from technological and social perspectives. </span></p><p class="course"><span class="course_header">425 Cyber Forensics and Anti-Forensics </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; admitted to a major or minor in EECS or Data Analytics. Recovery and investigation of material found in various cyber environments (e.g., device, memory, operating systems, etc.) and ways to defeat forensic processes and tools. </span></p><p class="course"><span class="course_header">426 Hardware, Hardware Security, and Hardware Reverse Engineering </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; admitted to a major or minor in EECS or Data Analytics. Hardware hacking and reverse engineering approaches routinely used against electronic devices and embedded systems; introduction to the basic procedures necessary to perform reverse engineering of hardware components to determine their functionality, inputs, outputs, and stored data. </span></p><p class="course_ending"><span class="course_header">426 (Effective through Summer 2025) Hardware, Hardware Security, and Hardware Reverse Engineering </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; CPT S 439 with a C or better or concurrent enrollment; admitted to a major or minor in EECS or Data Analytics. Hardware hacking and reverse engineering approaches routinely used against electronic devices and embedded systems; introduction to the basic procedures necessary to perform reverse engineering of hardware components to determine their functionality, inputs, outputs, and stored data. </span></p><p class="course"><span class="course_header">427 Cyber Security of Wireless and Distributed Systems </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; admitted to a major or minor in EECS or Data Analytics. Cellular and wireless system security, incidence response cycles, fault tolerance, and distributed computer security. </span></p><p class="course"><span class="course_header">428 Software Security and Reverse Engineering </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; admitted to a major or minor in EECS or Data Analytics. Key aspects of cyber security with an emphasis on software and systems security focusing on concepts, principles, methodologies, and techniques for measuring and defending the various security properties of both operating systems and application software. Credit not granted for both CPT S 428 and CPT S 528. Offered at 400 and 500 level. </span></p><p class="course"><span class="course_header">429 Virtualization and Offensive Cyber Operations </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; admitted to a major or minor in EECS or Data Analytics. Virtualization and offensive cyber operations including the building of multiple software systems that operate as independent systems running on multiple native hardware items and conducting campaigns aimed at compromising computational capacities of an adversary. </span></p><p class="course"><span class="course_header">430 Numerical Analysis </span><span class="course_data">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. Required preparation must include differential equations and a programming course. (Crosslisted course offered as MATH 448, MATH 548, CPT S 430, CPT S 530.) Credit not granted for more than one of MATH 448/548 or CPT S 430/530. Offered at 400 and 500 level. </span></p><p class="course"><span class="course_header">431 Security Analytics and DevSecOps </span><span class="course_data">3 Course Prerequisite: CPT S 327 with a C or better; admitted to a major or minor in EECS or Data Analytics. Security analytics at an enterprise deployment scale using social, data, graph avenues of evaluation, and topics of supply chain cybersecurity, risk management frameworks, and security of developer operation pipelines. </span></p><p class="course"><span class="course_header">432 [CAPS] [M] Cybersecurity Capstone Project </span><span class="course_data">3 Course Prerequisite: CPT S 327; CPT S 427; CPT S 428; CPT S 455, each with a C or better; admitted to the major in Cybersecurity; senior standing. Group design project for large-scale cybersecurity development incorporating analysis, application ability, industrial skills, and adherence to cybersecurity standards. </span></p><p class="course"><span class="course_header">434 Neural Network Design and Application </span><span class="course_data">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 a major or minor in EECS or 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. </span></p><p class="course"><span class="course_header">437 Introduction to Machine Learning </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">438 Scientific Visualization </span><span class="course_data">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 a major or minor in EECS or Data Analytics. Data taxonomy, sampling, plotting, using and extending a visualization package, designing visualization and domain-specific techniques. </span></p><p class="course"><span class="course_header">439 Cybersecurity of Critical Infrastructure Systems </span><span class="course_data">3 Course Prerequisite: CPT S 327 and 426 with a C or better or concurrent enrollment; admitted major or minor in EECS or Data Analytics; OR E E 234 and 361; admitted major or minor in E E; OR CPT S 327 and E E 234; admitted major or minor in Cpt Engr. Security topics as they relate to critical infrastructure systems vital to any nation including industrial control systems, cyber physical systems, SCADA, DCS, IoT, IIoT, and the knowledge to secure such systems. (Crosslisted course offered as E E 439, CPT S 439.) </span></p><p class="course"><span class="course_header">440 Artificial Intelligence </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to a major or minor in EECS or 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. </span></p><p class="course"><span class="course_header">442 Computer Graphics </span><span class="course_data">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 to a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">443 Human-Computer Interaction </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233; admitted to a major or minor in EECS or 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. </span></p><p class="course"><span class="course_header">451 Introduction to Database Systems </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233, with a C or better; admitted to a major or minor in EECS or Data Analytics. Introduction to database concepts, data models, database languages, database design, implementation issues. </span></p><p class="course"><span class="course_header">452 Compiler Design </span><span class="course_data">3 Course Prerequisite: CPT S 317 with a C or better; CPT S 355 with a C or better; admitted to a major or minor in EECS or Data Analytics. Design of lexical analyzers, syntactic analyzers, intermediate code generators, code optimizers and object code generators. </span></p><p class="course"><span class="course_header">453 Graph Theory </span><span class="course_data">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. Required preparation must include linear algebra. Recommended preparation: MATH 301. (Crosslisted course offered as MATH 453, CPT S 453.) Cooperative: Open to UI degree-seeking students. </span></p><p class="course"><span class="course_header">455 Introduction to Computer Networks and Security </span><span class="course_data">3 Course Prerequisite: CPT S 360, 370, or E E 234, with a C or better; admitted to a major or minor in EECS or Data Analytics. Concepts and implementations of computer networks; architectures, protocol layers, internetworking, addressing case studies, and discussion of security constraints at all layers of the OSI stack from attacker and defender perspectives. (Crosslisted course offered as CPT S 455, E E 455.) </span></p><p class="course"><span class="course_header">456 Optimization in Networks </span><span class="course_data">3 Formulation and solution of network optimization problems including shortest path, maximal flow, minimum cost flow, assignment, covering, postman, and salesman. Credit not granted for both MATH 466 and MATH 566. Required preparation must include linear programming. (Crosslisted course offered as MATH 466/566, CPT S 456/556.) Offered at 400 and 500 level. Cooperative: Open to UI degree-seeking students. </span></p><p class="course"><span class="course_header">460 Operating Systems and Computer Architecture </span><span class="course_data">3 Course Prerequisite: CPT S 360 with a C or better; admitted to a major or minor in EECS or Data Analytics. Operating systems, computer architectures, and their interrelationships in micro, mini, and large computer systems. </span></p><p class="course"><span class="course_header">464 Distributed Systems Concepts and Programming </span><span class="course_data">3 Course Prerequisite: CPT S 223, 233, or E E 234, with a C or better; admitted to a major or minor in EECS 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. Cooperative: Open to UI degree-seeking students. </span></p><p class="course"><span class="course_header">466 Embedded Systems </span><span class="course_data">3 (2-3) Course Prerequisite: CPT S 360 with a C or better; admitted to a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">471 Computational Genomics </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233, with a C or better; CPT S 350 with a C or better or concurrent enrollment; admitted to a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">475 Data Science </span><span class="course_data">3 Course Prerequisite: CPT S 215, CPT S 223, or CPT S 233, with a C or better; admitted to a major or minor in EECS or Data Analytics. 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. Recommended preparation for 575: Familiarity with algorithm design and analysis, basic linear algebra, and basic probability and statistics. Credit not granted for both CPT S 475 and CPT S 575. Offered at 400 and 500 level. </span></p><p class="course_ending"><span class="course_header">476 (Effective through Summer 2025) Software Construction and Maintenance </span><span class="course_data">3 Course Prerequisite: CPT S 322 with a C or better; admitted to a major or minor in EECS or Data Analytics. Software quality, construction (API design and use, object-oriented runtime issues), and maintenance (refactoring, reengineering, reverse engineering). </span></p><p class="course"><span class="course_header">478 Software Process and Management </span><span class="course_data">3 Course Prerequisite: CPT S 322 with a C or better; admitted to a major or minor in EECS or Data Analytics. Software Engineering Process (definition, assessment, and improvement); Software Engineering Management; Software Configuration Management. </span></p><p class="course"><span class="course_header">479 Mobile Application Development </span><span class="course_data">3 Course Prerequisite: CPT S 223 or 233, with a C or better; admitted to a major or minor in EECS or Data Analytics. Mobile application development; user interface; location and maps; sensor; camera; cross platform mobile application development tools. </span></p><p class="course"><span class="course_header">480 Python Software Construction </span><span class="course_data">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 a major or minor in EECS or Data Analytics. Intensive introduction to the python language; user interface, building and using extension modules; C interfacing; construction of a major project. (Formerly CPT S 481.) </span></p><p class="course"><span class="course_header">481 Software Maintenance </span><span class="course_data">3 Course Prerequisite: CPT S 321 and 322 with a C or better; admitted to a major or minor in EECS or Data Analytics. Software maintenance, refactoring, reengineering, reverse engineering. Credit not granted for both CPT S 481 and 581. Offered at 400 and 500 level. </span></p><p class="course"><span class="course_header">483 Topics in Computer Science </span><span class="course_data">V 1-4 May be repeated for credit. Course Prerequisite: Admitted to a major or minor in EECS or Data Analytics. Required background preparation varies with course offering, see instructor. Current topics in computer science or software engineering. </span></p><p class="course"><span class="course_header">484 Software Requirements </span><span class="course_data">3 Course Prerequisite: CPT S 322 with a C or better; admitted to a major or minor in EECS or Data Analytics. Elicitation, analysis, specification, and validation of software requirements as well as the management of requirements during the software life cycle. </span></p><p class="course"><span class="course_header">485 Gerontechnology I </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233; admitted to a major or minor in EECS or 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.) </span></p><p class="course"><span class="course_header">486 Gerontechnology II </span><span class="course_data">3 Course Prerequisite: CPT S 215, 223, or 233; admitted to a major or minor in EECS or 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.) </span></p><p class="course"><span class="course_header">487 Software Design and Architecture </span><span class="course_data">3 Course Prerequisite: CPT S 321 with a C or better; CPT S 322 with a C or better; admitted to a major or minor in EECS 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. </span></p><p class="course"><span class="course_header">488 Professional Practice Coop/Internship I </span><span class="course_data">V 1-2 May be repeated for credit; cumulative maximum 6 credits. 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.) S, F grading. </span></p><p class="course"><span class="course_header">489 Web Development </span><span class="course_data">3 Course Prerequisite: CPT S 322 with a C or better; admitted to a major or minor in EECS or Data Analytics. Web development using markup languages, style sheet language, and scripting languages; developing and consuming web services; testing web applications. </span></p><p class="course"><span class="course_header">490 Work Study Internship </span><span class="course_data">V 1-9 May be repeated for credit; cumulative maximum 9 credits. Course Prerequisite: By department permission only; Computer Science major. Experience in programming and systems analysis in a working environment under supervision of industrial or governmental professionals and faculty. S, F grading. </span></p><p class="course"><span class="course_header">499 Special Problems </span><span class="course_data">V 1-4 May be repeated for credit. Course Prerequisite: By department permission. 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. S, F grading. </span></p><p class="course"><span class="course_header">500 Proseminar </span><span class="course_data">1 Faculty research interests, departmental computer systems, computer science research, report preparation. S, F grading. </span></p><p class="course"><span class="course_header">515 Advanced Algorithms </span><span class="course_data">3 Advanced algorithms and data structures, design and analysis, intractability. (Crosslisted course offered as CPT S 515, CS 515.) </span></p><p class="course"><span class="course_header">516 Algorithmics </span><span class="course_data">3 Discrete structures, automata, formal languages, recursive functions, algorithms, and computability. </span></p><p class="course"><span class="course_header">527 Computer Security </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">528 Software Security and Reverse Engineering </span><span class="course_data">3 Key aspects of cyber security with an emphasis on software and systems security focusing on concepts, principles, methodologies, and techniques for measuring and defending the various security properties of both operating systems and application software. Credit not granted for both CPT S 428 and CPT S 528. Offered at 400 and 500 level. </span></p><p class="course"><span class="course_header">530 Numerical Analysis </span><span class="course_data">3 Fundamentals of numerical computation; finding zeroes of functions, approximation and interpolation; numerical integration (quadrature); numerical solution of ordinary differential equations. Required preparation must include differential equations and a programming course. (Crosslisted course offered as MATH 448, MATH 548, CPT S 430, CPT S 530.) Credit not granted for more than one of MATH 448/548 or CPT S 430/530. Offered at 400 and 500 level. </span></p><p class="course"><span class="course_header">531 Advanced Matrix Computations </span><span class="course_data">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. Cooperative: Open to UI degree-seeking students. </span></p><p class="course"><span class="course_header">534 Neural Network Design and Application </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">538 Scientific Visualization </span><span class="course_data">3 Data taxonomy; sampling; plotting; using and extending a visualization package; designing visualizations; domain-specific techniques. </span></p><p class="course"><span class="course_header">540 Artificial Intelligence </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">542 Computer Graphics </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">543 Human-Computer Interaction </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">548 Advanced Computer Graphics </span><span class="course_data">3 Solid modeling, visual realism, light and color models, advanced surface generation techniques. </span></p><p class="course"><span class="course_header">550 Parallel Computation </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">554 Advanced Graph Theory </span><span class="course_data">3 Advanced treatment of the theory of graphs including matchings, colorings, extremal graph theory, graph algorithms, algebraic and spectral methods, and random graph models. Required preparation: MATH 453 or equivalent. (Crosslisted course offered as MATH 554, CPT S 554.) Cooperative: Open to UI degree-seeking students. </span></p><p class="course"><span class="course_header">555 Computer Communication Networks </span><span class="course_data">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.) </span></p><p class="course"><span class="course_header">556 Optimization in Networks </span><span class="course_data">3 Formulation and solution of network optimization problems including shortest path, maximal flow, minimum cost flow, assignment, covering, postman, and salesman. Credit not granted for both MATH 466 and MATH 566. Required preparation must include linear programming. (Crosslisted course offered as MATH 466/566, CPT S 456/556.) Offered at 400 and 500 level. Cooperative: Open to UI degree-seeking students. </span></p><p class="course"><span class="course_header">557 Advanced Computer Networks </span><span class="course_data">3 ATM networks, optical WDM networks, and wireless/mobile networks; access, transport, and routing protocols. </span></p><p class="course"><span class="course_header">560 Operating Systems </span><span class="course_data">3 Structure of multiprogramming and multiprocessing; efficient allocation of systems resources; design implementation and performance measurement. </span></p><p class="course"><span class="course_header">561 Advanced Computer Architecture </span><span class="course_data">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.) </span></p><p class="course"><span class="course_header">562 Fault Tolerant Computer Systems </span><span class="course_data">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.) </span></p><p class="course"><span class="course_header">564 Distributed Systems Concepts and Programming </span><span class="course_data">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. Cooperative: Open to UI degree-seeking students. </span></p><p class="course"><span class="course_header">566 Embedded Systems </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">570 Machine Learning </span><span class="course_data">3 Introduction to building computer systems that learn from their experience; classification and regression problems; unsupervised and reinforcement learning. </span></p><p class="course"><span class="course_header">571 Computational Genomics </span><span class="course_data">3 Fundamental algorithms, techniques and applications. Credit not granted for both CPT S 471 and CPT S 571. Offered at 400 and 500 level. </span></p><p class="course"><span class="course_header">572 Numerical Methods in Computational Biology </span><span class="course_data">3 Computational methods for solving scientific problems related to information processing in biological systems at the molecular and cellular levels. </span></p><p class="course"><span class="course_header">573 Bioinformatics Software Development </span><span class="course_data">3 Provides programming skills needed to address current computational problems in bioinformatics; emphasis on mathematical development and software design. </span></p><p class="course"><span class="course_header">575 Data Science </span><span class="course_data">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. Recommended preparation for 575: Familiarity with algorithm design and analysis, basic linear algebra, and basic probability and statistics. Credit not granted for both CPT S 475 and CPT S 575. Offered at 400 and 500 level. </span></p><p class="course"><span class="course_header">577 Structured Prediction: Algorithms and Applications </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">580 Advanced Topics in Computer Science </span><span class="course_data">3 May be repeated for credit. </span></p><p class="course"><span class="course_header">581 Software Maintenance </span><span class="course_data">3 Software maintenance, refactoring, reengineering, reverse engineering. Credit not granted for both CPT S 481 and 581. Offered at 400 and 500 level. </span></p><p class="course_ending"><span class="course_header">581 (Effective through Summer 2025) Software Maintenance </span><span class="course_data">3 Software maintenance, refactoring, reengineering, reverse engineering. </span></p><p class="course"><span class="course_header">582 Software Testing </span><span class="course_data">3 Software testing, testing levels, testing objectives, testing techniques. </span></p><p class="course"><span class="course_header">583 Software Quality </span><span class="course_data">3 Software quality, quality assurance, process and product quality, software measures, quality attributes, quality management. </span></p><p class="course"><span class="course_header">587 Software Design and Architecture </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">591 Elements of Network Science </span><span class="course_data">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. </span></p><p class="course"><span class="course_header">595 Directed Study in Computer Science </span><span class="course_data">V 1 (0-3) to 3 (0-9) May be repeated for credit; cumulative maximum 6 credits. Current topics in computer science. </span></p><p class="course"><span class="course_header">600 Special Projects or Independent Study </span><span class="course_data">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. S, F grading. </span></p><p class="course"><span class="course_header">700 Master's Research, Thesis, and/or Examination </span><span class="course_data">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. S, U grading. </span></p><p class="course"><span class="course_header">702 Master's Special Problems, Directed Study, and/or Examination </span><span class="course_data">V 1-18 May be repeated for credit. Course Prerequisite: By department permission. 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. S, U grading. </span></p><p class="course"><span class="course_header">800 Doctoral Research, Dissertation, and/or Examination </span><span class="course_data">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. (Crosslisted course offered as CPT S 800, CS 800.) S, U grading. </span></p> </div> </div> <div id="secondary"> <ul style="list-style-type: none;"><li><a href="/General/Academics/Info/22">Electrical Engineering and Computer Science</a></li><li><h3>Courses</h3></li><li><a href="/General/Academics/Courses/CPT_S">Computer Science</a></li><li><a href="/General/Academics/Courses/E_E">Electrical Engineering</a></li><li><h3>Schedules of Studies</h3></li><li><a href="/General/Academics/DegreeProgram/10561">Computer Engineering</a></li><li><a href="/General/Academics/DegreeProgram/10768">Computer Science</a></li><li><a href="/General/Academics/DegreeProgram/10680">Cybersecurity</a></li><li><a href="/General/Academics/DegreeProgram/10714">Electrical Engineering</a></li><li><a href="/General/Academics/DegreeProgram/10681">Software Engineering</a></li><li><h3>Minors</h3></li><li><a href="/General/Academics/Minor/3720">Computer Engineering</a></li><li><a href="/General/Academics/Minor/3629">Computer Science</a></li><li><a href="/General/Academics/Minor/3721">Electrical Engineering</a></li><li><a href="/General/Academics/Minor/3630">Software Engineering </a></li><li><h3>Certificates</h3></li><li><a href="/General/Academics/Certificate/1090">CySER CAE-CO Fundamentals</a></li></ul> </div> <div id="additional"> </div> <div id="localfooter"> <table align="center" cellpadding="0" cellspacing="0" border="0" style="width: 80%"> <tr valign="bottom"> <td><a href="http://www.studentaffairs.wsu.edu/">Student Affairs</a></td> <td><a href="https://schedules.wsu.edu/">Schedule of Classes</a></td> <td><a href="http://www.commencement.wsu.edu/">Commencement</a></td> <td><a href="http://www.va.wsu.edu/">Veteran's Affairs</a></td> <td><a href="http://www.summer.wsu.edu/">Summer Session</a></td> </tr> <tr><td> </td></tr> </table> <a target="_new" href="http://www.registrar.wsu.edu">Office of the Registrar</a>, PO Box 641035, Washington State University, Pullman WA 99164-1035, 509-335-5346, <a href="mailto:bitter@wsu.edu">bitter@wsu.edu</a> </div> </div> </div> <!--Beginning of the WSU Global Footer Zone. Refer to www.wsu.edu/identity/ for more information. --> <div id="wsufooter-wrapper"> <div id="wsufooter">Copyright © Board of Regents, <a href="http://www.wsu.edu">Washington State University</a></div> </div> <!--End of the WSU Global Footer Zone. --> <!-- Begin JavaScript Zone --> <script type="text/javascript" src="https://yui-s.yahooapis.com/combo?3.3.0/build/yui/yui-min.js&3.3.0/build/oop/oop-min.js&3.3.0/build/dom/dom-base-min.js&3.3.0/build/dom/selector-native-min.js&3.3.0/build/dom/selector-css2-min.js&3.3.0/build/event-custom/event-custom-base-min.js&3.3.0/build/event/event-base-min.js&3.3.0/build/pluginhost/pluginhost-min.js&3.3.0/build/dom/dom-style-min.js&3.3.0/build/dom/dom-style-ie-min.js&3.3.0/build/dom/dom-screen-min.js&3.3.0/build/node/node-min.js&3.3.0/build/event/event-base-ie-min.js&3.3.0/build/loader/loader-min.js&3.3.0/build/event/event-delegate-min.js"></script> <script type="text/javascript"> window.baseURL = '/'; </script> <script type="text/javascript" src="/Scripts/Catalog.js"></script> <div> <script type="text/javascript" src="/Scripts/awstats_misc_tracker.js"></script> <noscript><img src="/Scripts/awstats_misc_tracker.js?nojs=y" height="0" width="0" style="display: none" alt="AWStats" /></noscript> </div> </body> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T266HC2L" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> </html>