EECS Software Track
Revised: 11/10/2009
"
To the Master's honor all must turn, each in its track, without a sound, forever tracing Newton's ground.
"
- Albert Einstein
Courses:
Advising for Fall 2009 Registration
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, including the two core courses, cited below:
-
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 643 - Computer Security
-
CSE 644 - Internet Security
-
CSE 681 - Software Modeling and Analysis (SW Track core course)
-
CSE 682 - Software Engineering
-
CSE 686 - Internet Programming
-
CSE 687 - Object Oriented Design (SW Track core course)
-
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
You can find all current Computer Engineering and Computer Science graduate courses listed in the Graduate Catalogue.
Tailoring a Track
You will find advice about setting up a software course sequence, by semester, here.
Below 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:
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:
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 761 - Embedded System Design
CSE 775 - Distributed Objects
Add CSE 671 - Embedded System Design and 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 CIS 675 - Design and Analysis of Algorithms and hardware related courses, e.g., VLSI Design, Computer-Aided Design of Digital Systems.