Computer Science and Electrical Engineering

CS and CSE Course Articulation

Overview

This document outlines how older "CS" courses can meet the requirements of the new "CSE" courses in the 2020 Software Engineering and Computer Science programs and their associated certificates/modules.

Please see the Program Change Overview page for more information about the changes in general.

The primary audience for this document is University Advising and Faculty mentors. It is made public so that students can see the same guidance given to advisers and plan accordingly.

Please note: Every effort has been made to ensure this listing is accurate, but if there are any errors or inconsistencies, the university catalog and registration system are the official source of this information and will take precedence over this informational page.

Definitions

Core Courses (The shared left-hand side)

Computing Fundamentals Module

Requirement for course...

Can be met by taking...

Notes

CSE 100

Introduction to Computing

CS 246

This course is waived for students who have completed a significant amount of the old program. As a rule, this is defined as having taken CS 246. Separate from that, it can be waived on a case by case basis as determined by the CSE 100 course lead (Brother Grimmett).

CSE 170

Introduction to Technical Teamwork

CS 308

Can be substituted.

CIT 171

Introduction to Cyber Security

CIT 270

Can be substituted.

CIT 470

Can be substituted.

CS 470

Can be substituted.

CSE 453

Can be substituted.

WDD 130

Introduction to Web Development

WDD 100

Equivalent.

CS 213 or WDD 230

Can be substituted.

If the student is pursuing the Web Development certificate, WDD 130 can be waived based on CS 213/WDD 230, so that WDD 230 (or it's equivalent, CS 213) can also count in that certificate.

If the student is not pursuing the Web Development certificate, WDD 130 should be substituted for, rather than waived, to avoid having CS 213/WDD 230 double count as a technical elective.

ECEN 106

Introduction to Computer Systems

ECEN 160

Can be substituted for Computer Science and Software Engineering majors.

For Electrical Engineering or Computer Engineering majors, it is more complicated. In short, after passing ECEN 160 and 160L, ECEN 160L can be substituted for ECEN 240. A student can then either take ECEN 106 or receive vertical credit after passing one of: (ECEN 240 or ECEN 160L) AND one of: (ECEN 260 or ECEN 324).

Choose one:

CSE 150

Data Intuition and Insight

Math 221a or 221b or 221c

Can be substituted.

Math 335 or CS 335 or CSE 350

Can be substituted.

Math 330 or other advanced statistics course

Can be substituted.

BUS 115

Introduction to Data Management

CIT 111

Introduction to Databases

CIT 225

Can be substituted.

If the student is pursuing the Web Development or Functional Programming certificates, CIT 111 can be waived based on CIT 225, so that CIT 225 can count in that certificate.

If the student is not pursuing the Web Development or Functional Programming certificates, CIT 225 should be substituted for CIT 111, rather than waiving CIT 111, to avoid having CIT 225 double count as a technical elective.

GEOL 141

GIS Basics

Computer Programming Certificate

Requirement for course...

Can be met by taking...

Notes

CSE 110

Programing Building Blocks

CS 101

Equivalent

CS 124

Can be waived or given vertical credit.

Waiver is generally preferred for CS/SE students, who usually do not need more credits. Vertical credit is always given for EE/CompE majors because ABET requires a specific number of engineering credits.

CIT 160

Can be substituted.

CSE 111

Programing with Functions

CS 124

Equivalent.

CIT 260

Can be substituted.

CSE 121b

JavaScript Programing Language

CSE 341 (CS 313)

Waived based on CSE 341 or CS 313.

WDD 330 (CIT 261)

Waived based on WDD 330 or CIT 261.

CSE 210

Programing with Classes

CS 165

Equivalent.

CS 241

Waived based on CS 241.

CIT 360

Can be substituted.

CSE 212

Programing with Data Structures

CS 241

Equivalent.

CS 235

Can be substituted

If the student is pursuing the Software Design certificate, CSE 212 can be waived based on CS 235, so that CS 235 can also count in that certificate (as it's equivalent, CSE 232).

If the student is not pursuing the Software Design certificate, CSE 212 should be substituted for, rather than waived, to avoid having CS 235 double count as a technical elective.

CSE 310

Applied Programing

CS 246

Equivalent.

Internship & Senior Project

Requirement for course...

Can be met by taking...

Notes

CSE 398

Internship

CS 398

Equivalent.

CSE 499

Senior Project

CS 499

Equivalent.

Software Engineering Certificates and Modules

Web Development Certificate

Requirement for course...

Can be met by taking...

Notes

WDD 230

Web Frontend Development I

CIT 230

CIT 230 has been renamed WDD 230.

CS 213

Equivalent.

WDD 330

Web Frontend Development II

CIT 261

CIT 261 has been renamed WDD 330.

CSE 340

Web Backend Development I

CIT 336

CIT 336 has been renamed CSE 340.

CSE 341

Web Backend Development II

CS 313

CS 313 has been renamed CSE 341.

CIT 225

Database Design & Development

CS 225

Equivalent.

Software Design Certificate

Requirement for course...

Can be met by taking...

Notes

CSE 130

Algorithm Design

CSE 131

Modularization Design

CSE 220c

C++ Programming Language

CS 165

Can be waived based on CS 165.

Vertical credit can be given if desired, but it is generally preferred to waive this course for CS/SE majors, who often don't need additional credit.

CSE 230

Encapsulation Design

CSE 231

Inheritance Design

CSE 232

Designing Data Structures

CS 235

Equivalent.

CSE 331

Design Patterns

CSE 430

Architecture Design

CS 364

CS 364 (4 credits) can substitute for CSE 430 (2 credits) and also waive CSE 372 (2 credits).

Software Quality Assurance Certificate

Requirement for course...

Can be met by taking...

Notes

CSE 270

Software Testing

CS 416

Can be substituted.

CSE 251

Parallelism and Concurrency

CS 345

Can be substituted.

CSE 372

Requirements Elicitation

CS 364

CS 364 (4 credits) can substitute for CSE 372 (2 credits) and also waive CSE 430 (2 credits).

CSE 453

Computer Security

CS 470

CS 470 has been renamed CSE 453.

CSE 474

Quality Assurance

CSE 220c

C++ Programming Language

CS 165

Can be waived based on CS 165.

Vertical credit can be given if desired, but it is generally preferred to waive this course for CS/SE majors, who often don't need additional credit.

Software Management Module

Requirement for course...

Can be met by taking...

Notes

CSE 272

Software Lifecycle Models

CS 432

Can be substituted.

CSE 372

Requirements Elicitation

CS 364

CS 364 (4 credits) can substitute for CSE 372 (2 credits) and also waive CSE 430 (2 credits).

CIT 380

Project Management

CSE 471

User Interface Evaluation and Design

CS 371

CS 371 has been renamed CSE 471.

CSE 473

Continuous Improvement

CSE 474

Quality Assurance

Embedded Systems Certificate

This certificate helps students write the software behind physical systems. Successful students will have great experience with hardware and be well-prepared to develop software for IoT (the Internet of Things).

Requirement for course...

Can be met by taking...

Notes

CSE 121c

C Programming Language

Note: We previously considered waiving/giving credit for CSE 121c (C programming Language) based on CS 124. This is no longer done, because CSE 121c is less about the basic syntax of the C language (covered in CS 124), but rather how to use the C language in Electrical Engineering contexts (not covered in CS 124).

ECEN 240

Fundamentals of Digital Systems

ECEN 160L

Can be substituted for Software Engineering majors. For Electrical Engineering and Computer Engineering majors, it is more complicated.

ECEN 260

Microprocessor-based System Design

ECEN 324

Computer Architecture

ECEN 361

Embedded Systems

Computer Science Certificates and Modules

Algorithmic Fundamentals Module

Requirement for course...

Can be met by taking...

Notes

CSE 180

Algorithmic Thinking

CSE 381 or CS 306

Waived for students who have already taken CSE 381 (CS 306).

CSE 121a

Clojure Programming Language

CSE 280

Discrete Math I

CS 237

CS 237 has been renamed CSE 280.

CSE 381

Algorithms and Complexity

CS 306

CS 306 has been renamed CSE 381.

CSE 251

Parallelism and Concurrency

CS 345

Can be substituted.

Machine Learning Fundamentals Certificate

Requirement for course...

Can be met by taking...

Notes

MATH 119

Applied Calculus for Data Analysis

Math 112 + Statistics

Math 119 covers principles from Calculus and Statistics. Therefore Math 112X (FDMAT 112), Calculus I, can be substituted for this if and only if the student has also taken a Statistics course (Math 221a/b/c, Math 325, Math 330, Math 425)

MATH 341

Linear Algebra

CSE 250

Data Science Programming

CSE 450

Machine Learning and Data Mining

CS 450

CS 450 has been renamed CSE 450.

CSE 451

Big Data Programming and Analysis

Functional Programming Module (2020 Version)

Requirement for course...

Can be met by taking...

Notes

MATH 112X

Calculus I

CSE 380

Discrete Math II

CS 238

CS 238 has been renamed CSE 380.

CSE 382

Can be substituted.

CSE 480

Computational Theory

CS 480

CS 480 has been renamed CSE 480.

CSE 481

Can be substituted.

CIT 225

Database Design and Development

CS 225

Equivalent

Functional Programming Module (2021 Version)

Requirement for course...

Can be met by taking...

Notes

MATH 112X

Calculus I

CSE 121e

Erlang Language

CSE 382

Functional Programming Patterns and Data Structures

CSE 380 or CS 238

Can be substituted.

CSE 481

Massively Parallel Computation

CSE 480 or CS 480

Can be substituted.

CIT 225

Database Design and Development

CS 225

Equivalent