Difference between revisions of "ECE Registration/Software Engineering"

From PrattWiki
Jump to navigation Jump to search
(Minor)
Line 2: Line 2:
  
 
== Transcriptable Concentration ==
 
== 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.   
 
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:
 
The requirements are as follows:
 
# ECE Concentration Elective #1 (Software Engineering Foundation):
 
# ECE Concentration Elective #1 (Software Engineering Foundation):
Line 11: Line 22:
 
#* ECE 657/CS 586: Usable Security and Privacy
 
#* ECE 657/CS 586: Usable Security and Privacy
 
#* ECE 590: Cross Platform Mobile Application Development
 
#* ECE 590: Cross Platform Mobile Application Development
#* ECE 590: Special Topic courses on HCI/UX (DUS approved)
+
#* ECE 490/495/496/590: Special Topic courses on HCI/UX (DUS approved)
 
# ECE Concentration Elective #3 (Systems course): One of 
 
# ECE Concentration Elective #3 (Systems course): One of 
 
#* ECE 353/CS 310: Introduction to Operating Systems 
 
#* ECE 353/CS 310: Introduction to Operating Systems 
Line 24: Line 35:
 
#* ECE 568: Engineering Robust Server Software
 
#* ECE 568: Engineering Robust Server Software
 
#* ECE 661: Computer Engineering Machine Learning and Deep Neural Nets
 
#* ECE 661: Computer Engineering Machine Learning and Deep Neural Nets
#* ECE 590: Special Topic courses on Software Engineering (with DUS approval)
+
#* ECE 490/495/496/590: Special Topic courses on Software Engineering (with DUS approval)
 
# ECE Extension Elective (Software-focused course): One of (300+)
 
# ECE Extension Elective (Software-focused course): One of (300+)
 
#* Any course from requirement #2 (not already taken)
 
#* Any course from requirement #2 (not already taken)
Line 32: Line 43:
  
 
== Minor ==
 
== 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 https://cs.duke.edu/undergraduate/degrees] for details - information about major concentrations is below the table.
 
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 https://cs.duke.edu/undergraduate/degrees] for details - information about major concentrations is below the table.
  
 +
=== Requirements ===
 
The requirements are as follows:
 
The requirements are as follows:
 
# Software Engineering Minor Fundamental #1 (Software Engineering Foundation):
 
# Software Engineering Minor Fundamental #1 (Software Engineering Foundation):
Line 41: Line 55:
 
#* ECE 657/CS 586: Usable Security and Privacy
 
#* ECE 657/CS 586: Usable Security and Privacy
 
#* ECE 590: Cross Platform Mobile Application Development
 
#* ECE 590: Cross Platform Mobile Application Development
#* ECE 590: Special Topic courses on HCI/UX (DUS approved)
+
#* ECE 490/495/496/590: Special Topic courses on HCI/UX (DUS approved)
 
# Software Engineering Minor Fundamental #3 (Systems course): One of 
 
# Software Engineering Minor Fundamental #3 (Systems course): One of 
 
#* ECE 353/CS 310: Introduction to Operating Systems 
 
#* ECE 353/CS 310: Introduction to Operating Systems 
Line 54: Line 68:
 
#* ECE 568: Engineering Robust Server Software
 
#* ECE 568: Engineering Robust Server Software
 
#* ECE 661: Computer Engineering Machine Learning and Deep Neural Nets
 
#* ECE 661: Computer Engineering Machine Learning and Deep Neural Nets
#* ECE 590: Special Topic courses on Software Engineering (with DUS approval)
+
#* 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)
 
#* 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 316: Introduction to Database Systems

Revision as of 15:44, 14 April 2025

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)