ECE Registration/Software Engineering

From PrattWiki
Revision as of 15:44, 14 April 2025 by DukeEgr93 (talk | contribs)
Jump to navigation Jump to search

This page is a placeholder for information about the newly (March 2025) approved Transcriptable Concentration in Software Engineering and Minor in Software Engineering.

Transcriptable Concentration

Definition and Clarification

A "Transcriptable Concentration" is a collection of courses which, if taken, will be noted on the transcript as a concentration of courses in a specific area (namely, software engineering). These courses should fit into a normal ECE major and the Transcriptable Concentration is only available to students with a major in ECE.

Note: for ECE majors, this is different from the "Area of Concentration" requirements. The Areas of Concentration are:

  • Computer Engineering and Digital Systems (CEDS)
  • Signal Processing, Communications, and Control Systems (SPC&C)
  • Solid-State Devices and Integrated Circuits (SSDIC)
  • Engineering Physics (EP)
  • Photonics (P)

Several of the courses for the Transcriptable Concentration in Software Engineering are also approved as area of concentration classes.

Requirements

The requirements are as follows:

  1. ECE Concentration Elective #1 (Software Engineering Foundation):
    • ECE 351: Software Engineering (Prof. Rahbar) (Fall 2025 offering is ECE 495.03)
  2. ECE Concentration Elective #2 (HCI/UX course): One of 
    • ECE 653/CS 653: Human-Centered Computing
    • ECE 657/CS 586: Usable Security and Privacy
    • ECE 590: Cross Platform Mobile Application Development
    • ECE 490/495/496/590: Special Topic courses on HCI/UX (DUS approved)
  3. ECE Concentration Elective #3 (Systems course): One of 
    • ECE 353/CS 310: Introduction to Operating Systems 
    • ECE 356/CS 356: Computer Network Architecture
    • ECE 553/CS 553: Compiler Construction
    • ECE 560: Computer and Information Security
    • ECE 566: Enterprise Storage Architecture 
  4. ECE Free Elective (Software engr-focused course): One of (300+)
    • Any course not already taken from requirement #2
    • Any course not already taken from requirement #3 
    • ECE 458: Engineering Software for Maintainability
    • ECE 568: Engineering Robust Server Software
    • ECE 661: Computer Engineering Machine Learning and Deep Neural Nets
    • ECE 490/495/496/590: Special Topic courses on Software Engineering (with DUS approval)
  5. ECE Extension Elective (Software-focused course): One of (300+)
    • Any course from requirement #2 (not already taken)
    • Any course from requirement #3 (not already taken)
    • Any course from requirement #4 (not already taken) 
    • Other software-focused CompSci classes approved by the ECE DUS

Minor

Definition and Clarification

A minor is a collection of courses which, if taken, will be noted on the transcript as a minor. The minor is meant specifically for students outside of ECE. Furthermore, courses that are taken for the minor cannot be used to fulfill a student's individual major(s), so generally students pursuing a major in Computer Science would not be able to complete the Minor in Software Engineering. Computer Science majors have several concentrations to choose from within their major - please consult https://cs.duke.edu/undergraduate/degrees for details - information about major concentrations is below the table.

Requirements

The requirements are as follows:

  1. Software Engineering Minor Fundamental #1 (Software Engineering Foundation):
    • ECE 351: Software Engineering (Prof. Rahbar) (Fall 2025 offering is ECE 495.03)
  2. Software Engineering Minor Fundamental #2 (HCI/UX course): One of 
    • ECE 653/CS 653: Human-Centered Computing
    • ECE 657/CS 586: Usable Security and Privacy
    • ECE 590: Cross Platform Mobile Application Development
    • ECE 490/495/496/590: Special Topic courses on HCI/UX (DUS approved)
  3. Software Engineering Minor Fundamental #3 (Systems course): One of 
    • ECE 353/CS 310: Introduction to Operating Systems 
    • ECE 356/CS 356: Computer Network Architecture
    • ECE 553/CS 553: Compiler Construction
    • ECE 560: Computer and Information Security
    • ECE 566: Enterprise Storage Architecture 
  4. Software Engineering Minor Upper-Level Elective #1 (Software engr-focused course): One of (300+)
    • Any course not already taken from requirement #2
    • Any course not already taken from requirement #3 
    • ECE 458: Engineering Software for Maintainability
    • ECE 568: Engineering Robust Server Software
    • ECE 661: Computer Engineering Machine Learning and Deep Neural Nets
    • ECE 490/495/496/590: Special Topic courses on Software Engineering (with DUS approval)
    • Either COMPSCI 307: Software Design and Implementation or COMPSCI 308: Advanced Software Design and Implementation (only one of these can count; neither is required)
    • COMPSCI 316: Introduction to Database Systems
    • COMPSCI 330: Introduction to the Design and Analysis of Algorithms
    • COMPSCI 333: Algorithms in the Real World
    • COMPSCI 351: Introduction to Computer Security (can’t overlap ECE 560)
    • COMPSCI 408: Delivering Software: From Concept to Client
  5. ECE Extension Elective (Software-focused course): One of (300+)
    • Any course from requirement #2 (not already taken)
    • Any course from requirement #3 (not already taken)
    • Any course from requirement #4 (not already taken)