M.S. in Service Oriented Computing
As IT becomes more and more ubiquitous, in e-commerce and e-government, there is an exploding demand for the wide range of expertise in IT and software development that is needed to meet the demands of the modern information economy. In particular there is a need for domain-specific experts who are conversant both in information technology and software skills, and also have a facility for the appropriate applications of these technologies in a particular field.
Technologies such as Web services are facilitating a view of software as “services,” much more fine-grain than the normal view of software libraries, that may be used for heavyweight inter-enterprise application integration, but may also be used for very flexible lightweight rapid development of new applications. We are seeing the emergence of frameworks that domain experts in that sector can use, not just to compose together services but also to synthesize new applications. This synthesis may be done using scripting languages or domain-specific programming languages and protocols. This is related to an emerging phenomenon of “situational programming,” where lightweight applications must be developed rapidly and relatively easily. This goes somewhat beyond simple “mash-ups” on the Web, but such applications often do not require the depth of skill and management that large software projects entail.
The Master of Science in Service Oriented Computing (M.S./SOC), program is an accelerated professional education program that provides you the domain experts with the skill sets that you need in order to use and manage the IT that is being deployed globally today. You may have little or no background in software development, but you are already or want to be a professional in a particular field with IT skills. The program will provide you with very focused training in the skill sets that are required to make you technically capable of taking existing frameworks and using them to develop new client-specific applications.
The focus of the program is very much on front-end skills:
- Requirements acquisition and analysis.
- Human-computer interaction.
- Web design and information architecture.
- Ethical and privacy issues.
The kinds of tasks that you will pursue will range all the way from designing and implementing web pages, to developing distributed collaborative applications with sophisticated database backends. However you will not be expected to develop backend skills. That will be the job of systems programmers and systems administrators (with whom you may need to interact).
The program will provide a very focused path for obtaining the basic software development skills that you will require. The sequence starts with an introductory programming course that teaches fundamental problem-solving skills in the context of learning a programming language that is geared to end-user applications (e.g., Visual Basic, Ruby). A successor course teaches basic software engineering skills and best practices for Web-based applications, particularly for three-tier client-server applications using a Web server as a frontend to a database. The cornerstone course builds on this to teach more advanced approaches such as Web services, AJAX and REST. The use of transactions for concurrency control and reliability is also explained. Finally a capstone course uses these techniques in a term assignment that involves developing an application that is relevant to a particular domain.
We term this a program in service oriented computing (informatics is also a term that is sometimes used) because service oriented architectures (SOA) are the emerging basis for the frameworks that you will be using to develop your domain-specific end-user applications. Web and distributed programming, along with basic software engineering and human computer interaction (HCI) skills, are an important part of the necessary skills sets.
Core Courses
If you have already taken courses in operating systems and/or databases, then with the permission of the graduate advisor you may substitute elective courses instead.
| Service Oriented Architecture (SOA) | CS 548 Engineering of Enterprise Software Systems |
| CS 549 Distributed Systems | |
| CS 561 Database Management Systems | |
| Enterprise Computing | CS 526 Systems Programming for Enterprise Computing |
Elective Courses
Other electives may be allowed, subject to the permission of the graduate advisor. Up to three courses may be taken outside of the computer science discipline.
| Security and Privacy | CS 573 Fundamentals of Cybersecurity |
| CS 578 Privacy in a Networked World | |
| CS 594 Enterprise Security and Information Assurance | |
| CS 612 Enterprise Security and Privacy | |
| Data Management and SOA | CS 513 Knowledge Discovery and Data Mining |
| CS 551 Health Informatics | |
| SOC 521 Software Requirements and Acquisition | |
| Software Engineering | SWE 540 Fundamentals of Software Engineering |
| SWE 565 Software Architecture | |
| SWE 567 Software Testing, Quality Assurance and Maintenance | |
| Systems Administration | CS 611 Systems Administration for Enterprise Computing |
| CS 615 Systems Administration | |
| CS 666 Information Networks | |
| CS 669 Network Management | |
| Management | MGT 600 Managerial Accounting |
| MGT 607 Managerial Economics | |
| MGT 623 Financial Management | |
| MGT 662 Legal Issues for the IT Professional | |
| TM 675 Analyzing Technology Risks |
Sample Study Plan
| Fall | Spring | ||
|---|---|---|---|
| Year 1 | CS 526 Systems Programming CS 548 Eng of Ent Soft Sys |
CS 611 Systems Admin for EC1 SWE 540 Fundamentals of SE |
CS 561 Database Mgt Sys |
| Year 2 | CS 549 Distributed Systems2 CS 573 Fund of Cybersecurity |
CS 612 Ent Security and Privacy3 MGT 662 Legal Issues |
CS 665 Cyber Forensics |
1: Alternative course CS 615 Systems Administration.
2: Alternative course SOC 641 Distributed Application Development.
3: Alternative course CS 578 Privacy in a Networked World.
Graduate Advisor
Ask a question about the MS in EC program. *
* Remove the spaces around "@" when sending email.



