Graduate Programs 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.
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.
Programs
- Graduate Certificate in Service Oriented Computing.
- Master of Science in Service Oriented Computing.
Further Information
- Program Director: Dominic Duggan
- Skype contact: dominic.duggan
- Read the Program Director's SOC blog.
-
Ask a question about the SOC graduate programs.
(Remove the spaces around "AT" and replace with "@" when sending email. Also put "[SOC]" in the email subject line.)
Courses in the Graduate Certificate in Service Oriented Computing Program
The graduate certificate program provides a very focused path for obtaining the basic software development skills that graduates will require. The sequence starts with an optional introductory programming course, SOC 605, that teaches fundamental problem-solving skills in the context of learning a programming language (C#) that is geared to end-user applications. This course may be omitted for those that have already had an introductory programming course, although students with such a background may still be interested in taking the course in order to learn C#. A successor course, SOC 606, 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 front-end to a database, using C# and ASP.NET. SOC 542 Engineering of Enterprise Software Systems teaches the fundamentals of service oriented architecture (SOA) and workflow, for modern enterprise systems with Web service frontend. Such environments are increasingly prevalent in enterprise settings and healthcare workplaces, organizing activities and ensuring compliance with legislative requirements. Assignments in SOC 542 may involve design of XML schemas, WSDL interfaces, RDFS/OWL ontologies, and workflow using tools such as UML and YAWL. Finally SOC 611 Web Fundamentals teaches the design of information architectures for Web site design, while SOC 510 Human Computer Interaction teaches cognitive and usability factors in the design of human computer interfaces. The latter course may require some small programming of user interfaces, using tools such as Visual Studio.
Required Courses
| Web Applications | SOC 606 Introduction to Developing Internet Applications |
| OR CS 546 Web Programming | |
| OR CS 549 Distributed Systems | |
| SOC 611 Web Fundamentals | |
| User Interface | SOC 510 or CS 545 Human Computer Interaction |
| Service Oriented Architecture | SOC 542 or CS 548 Engineering of Enterprise Software Systems |
Graduate Certificate Sample Study Plan - Part Time via Webcampus
| Fall | Spring | |
|---|---|---|
| Year 1 | (SOC 605 Introduction to SOC) SOC 611 Web Fundamentals |
SOC 606 Intro to Internet Apps SOC 542 Eng of Ent Soft Sys |
| Year 2 | SOC 510 HCI |
Courses in the Master of Science in Service Oriented Computing Program
Required Courses
The required courses for the M.S. in Service Oriented Computing are the same as the required courses for the Graduate Certificate program, above. SOC 605 is again an optional course, only required for those without an introductory programming course or experience, or who wish to learn C# before taking SOC 606.
Elective Courses
You must choose an additional six courses for your MS/SOC study plan. At least three of these courses must be SOC courses. Up to three of the courses can be from any other discipline, including Computer Science and Information Systems, with the approval of the program director. Below are some suggested electives.
| Languages | SOC 501 Introduction to Java Programming |
| SOC 605 Introduction to Service Oriented Computing | |
| Data Mining | SOC 550 Knowledge Discovery and Data Mining |
| Security and Privacy | SOC 551 Privacy in a Networked World |
| SOC 594 Enterprise Security | |
| Service Oriented Architecture | SOC 641 Distributed Application Development |
| Healthcare | SOC 552 Health Informatics |
| Software Engineering | SWE 540 Fundamentals of Software Engineering |
| SWE 565 Software Architecture and Design | |
| Management | MGT 662 Legal Issues for the IT Professional |
| MGT 679 Management Information Systems | |
| TM 675 Analyzing Technology Risks |
Other language-specific courses, and in particular a course in Ruby programming, are being considered.
SOC 501 is an introduction to Java. It requires no prior programming experience.
SOC 605 is an introductory programming course. It is also an introduction to C#.
SOC 606 teaches Web programming using ASP.NET.
SOC 641 teaches distributed application programming and Web services using WCF.
M.S. Sample Study Plan - Part Time via Webcampus
| Fall | Spring | |
|---|---|---|
| Year 1 | SOC 605 Introduction to SOC SOC 611 Web Fundamentals |
SOC 606 Intro to Internet Apps SOC 542 Eng of Ent Soft Sys |
| Year 2 | SOC 594 Enterprise Security SOC 510 HCI |
SOC 552 Health Informatics Free elective |
| Year 3 | SOC 650 Data Mining SOC 551 Privacy |
M.S. Sample Study Plan - Part Time via Webcampus
| Fall | Spring | |
|---|---|---|
| Year 1 | SOC 605 Introduction to SOC SOC 611 Web Fundamentals Free elective |
SOC 606 Intro to Internet Apps SOC 542 Eng of Ent Soft Sys |
| Year 2 | SOC 594 Enterprise Security SOC 510 HCI SOC 550 Data Mining |
SOC 552 Health Informatics Free elective |



