EECS Software Track
Revised: 24 December 2006
"
To the Master's honor all must turn, each in its track, without a sound, forever tracing Newton's ground.
"
- Albert Einstein
Courses:
Specialization tracks are intended to promote cohesive programs of study for students in The Department of Electrical
Engineering and Computer Science. All of the courses listed below count toward the Software Track. To satisfy the
Software Track requirement you must include at least four of these courses:
-
CIS 623 - Structured Programming and Formal Methods
-
CIS 625 - Computer Graphics
-
CIS 631 - Compiler Design
-
CIS 632 - Modeling Concurrent Systems
-
CIS 657 - Principles of Operating Systems
-
CSE 681 - Software Modeling and Analysis
-
CSE 682 - Software Engineering
-
CSE 686 - Internet Programming
-
CSE 687 - Object Oriented Design
-
CSE 775 - Distributed Objects
-
CSE 776 - Design Patterns
-
CSE 778 - Advanced Windows Programming
-
CSE 781 - Database Management Systems
-
CSE 782 - Models and Metrics in Software Engineering
-
CSE 784 - Software Studio
-
CSE 787 - Analytical Data Mining
Tailoring a Track
Here are several suggested ways to tailor a software track to meet your needs:
-
Industrial software development career working on large systems
- emphasis on the disciplines used in developement (four of these):
CSE 681 - Software Modeling and Analysis
CSE 686 - Internet Programming
CSE 687 - Object Oriented Design
CSE 776 - Design Patterns
CSE 784 - Software Studio
Add courses relating to the product area in which you want to work, e.g., the web, networks,
signal processing, radar.
-
Academic career
- emphasis on theory (four of these):
CIS 623 - Structured Programming and Formal Methods
CIS 632 - Modeling Concurrent Systems
CIS 657 - Principles of Operating Systems
CSE 682 - Software Engineering
CSE 687 - Object Oriented Design
Add courses in Artificial Intelligence, Algorithms, security, systems Assurance.
-
Embedded Programming
- emphasis on components, sockets, processes, and threads:
CIS 657 - Principles of Operating Systems
CSE 681 - Software Modeling and Analysis
CSE 687 - Object Oriented Design
CSE 775 - Distributed Objects
Add hardware related courses, e.g., Digital Machine Design, Testing Digital Circuits.
-
Computer-Aided Design
- emphasis on algorithms, design:
CSE 681 - Software Modeling and Analysis
CSE 687 - Object Oriented Design
CSE 776 - Design Patterns
CSE 784 - Software Studio
Add Design and Analysis of Algorithms and hardware related courses, e.g., VLSI Design, Computer-Aided Design of Digital Systems.