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
Waiver – If a course is waived, it is no longer required for the student to complete that program (i.e., degree, certificate, etc.). They do not receive any credit for the course, but do not need to take it.Substitution – If one course is substituted for another, it will fulfill the requirement in that program for the original course. Courses can be substituted as soon as the student is enrolled (we do not have to wait until the class is passed). Once substituted, the new course becomes program applicable.Equivalency – If two courses are listed as equivalent, they will automatically count in place of the other. No authorization or forms are required. If a student takes one course, and then later takes an equivalent course, it appears on their transcript the same as any other “retake” of a course.Vertical Credit – In some cases, courses progress through material in a sequential fashion. If a student has mastered a later course, it verifies their knowledge of the earlier courses. For example, in mathematics, someone who completed an algebra course has clearly demonstrated knowledge of pre-algebra. The same is true in many cases with computing courses. In these cases, if a student passes a later course (or one that is equivalent to it), they can receive credit for the earlier course. This process is called “vertical credit” but is not automatic. When vertical credit is awarded, it appears as a "P" grade ("Pass") for that course. To get vertical credit, students must fill out a form and have it signed to show they desire the additional credit. The academic advising office can help prepare these forms.
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 |