Undergraduate | Masters | Ph.D.
Undergraduate | Masters | Ph.D.
Undergraduate | Masters | Ph.D.
Prospective | Current
Middle School | High School
Recruiters | Professional Education | Partners | Donors
Partners | Donors
Stevens | Computer Science

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.  

Graduate Advisor

Courses in the MS/SOC Program


Required Courses


Web Applications SOC 606 Introduction to Internet Applications
  SOC 611 Web Fundamentals
   
Requirements SOC 510 Human Computer Interaction
  SOC 521 Software Requirements Acquisition
   
Service Oriented Architecture SOC 641 Distributed Application Development
  SOC 542 Engineering of Enterprise Software Systems

Students without any prior programming experience, including an introductory programming course, should take SOC 605 Introduction to Service Oriented Computing. SOC 605 is an introductory programming course, taught using Visual Basic.

SOC 606 teaches Web programming using PHP and Javascript.

SOC 641 teaches distributed application programming using .NET.

Electives

You may choose any additional four courses for your program. Up to three of the courses can be from any other discipline, including Computer Science. Below are some suggested electives for you to take.

Data Mining and Privacy SOC 550 Knowledge Discovery and Data Mining
  SOC 551 Privacy in a Networked World
   
Health Informatics SOC 552 Health Informatics
   
Languages SOC 630 Java
  SOC 631 C#
  SOC 632 Ruby
  SOC 633 Visual Basic
   
Databases CS 561 Database Management Systems
   
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

Sample Study Plan - Part Time


  Fall Spring Summer
Year 1 SOC 605 Introduction to SOC
SOC 611 Web Fundamentals
SOC 606 Intro to Internet Apps
SOC 510 HCI
SOC 521 Software Reqts
Year 2 SOC 641 Dist App Dev
SOC 542 Eng of Ent Soft Sys
SOC 650 Data Mining
SOC 551 Privacy
SOC 552 Health Informatics
 

Ask a question about the MS/SOC program. *

* Remove the spaces around "@" when sending email.

  Home | Search | © 2007 Stevens Institute of Technology