Graduate Programs in Service Oriented Computing (graduate/ms_soc)

Graduate Programs in Service Oriented Computing


The graduate program in Service-Oriented Computing is intended for students without a formal Computer Science background, who want to learn about the application of IT, including Web apps and cloud computing, in various application domains. Prospective students who already have a background in computer should consider the graduate program in Enterprise and Cloud Computing, which covers much of the same material at a more advanced level. The core of the program emphasizes Web apps and Web services, systematic design of the interface between users and those applications, and requirements analysis and design as part of the design and development of such applications.

Elective courses include topics such as cloud computing, data mining and text mining, security and privacy, game design and health informatics. Students also have the opportunity to take free electives outside the SOC courses, to complement the IT focus of this program.

Further Information
Courses in the Graduate Certificate in Service Oriented Computing Program

The graduate certificate program provides a very focused path for obtaining basic skills in systems analysis and design for modern internet applications and Web services. This includes the use of modern tools for implementing such applications that automate many aspects of their development, leaving the developer to provide a small amount of specialization code. The program uses Java EE, ASP.NET, and the Java and C# programming languages, as examples of this form of modern development environment.

The sequence starts with an optional introductory programming course, SOC 605 Introduction to Service Oriented Computing, that teaches fundamental problem-solving skills in the context of learning a programming language (C#) that is geared to end-user applications. C# is a key language for implementing internet applications and Web services. It is for example the preferred language for implementing applications in .NET. Furthermore it shares many concepts with Java, another key language for implementing internet and Web service applications. This course may be omitted for those that have already had an introductory programming course in a comparable language, such as Java. Students with such a background course, in a language other than Java or C#, should consider taking this course in order to learn C#. If you know C# but would like to take a course in Java, then we recommend SOC 501 Java as an elective course.

SOC 611 Fundamentals of Service Oriented Computing teaches fundamental concepts that are useful in the remainder of the program. This course teaches HTML, including cascading style sheets. It also teaches requirements analysis, performing basic systems analysis in order to learn what is required of a software artifact or an IT deployment. Modeling languages, such as UML class diagrams for data modeling and UML interaction diagrams for simple object interactions, are introduced. Finally the course introduces relational databases, including data model normalization and the SQL query language. If you already have a CS background, then you may substitute CS 561 Database Management Systems for this course.

SOC 606 Introduction to Developing Internet Applications builds on the material in SOC 605 and SOC 611, teaching basic software engineering skills and best practices for Web-based applications, using a Web server as a front-end to a database, using C# and ASP.NET. Various aspects of security in Web-based applications are also covered, including role-based authentication in ASP.NET, and protecting against SQL injection and cross-site scripting (XSS) attacks. If you already have a CS background, then you may substitute CS 526 Enterprise and Cloud Computing or CS 546 Web Programming for this course.

SOC 542 Enterprise Software Architecture and Design teaches the fundamentals of enterprise software architecture and design, for modern enterprise and cloud computing applications. Techniques such as domain-driven design, object-relational mapping, service-oriented architecture (SOA), event-driven architecture (EDA) and REST for Web services are described in this course. You obtain hands-on experience with applying these techniques in the construction of an n-tier enterprise application, using Eclipse and Glassfish, the open source application server for Java Enterprise Edition. If you do not already have experience with Java, then you may want to consider taking SOC 501 Java beforehand. If you already have experience with C#, then you should be able to learn Java quickly on your own. If you have a CS background, this course is cross-listed with CS 548 Enterprise Software Architecture and Design.

SOC 510 Human Computer Interaction: This is an introduction to Human Computer Interaction (HCI). It covers basic concepts, principles, and frameworks in HCI; models of interaction; and design guidelines and methodologies. The course includes extensive readings and reports, as well as work on projects involving interface design and development. If you have a CS background, this course is cross-listed with CS 545 Human Computer Interaction.

Elective Courses

There are many courses beyond these that you may take as an SOC major, some of them cross-listed with Computer Science courses, others unique to the SOC program. Examples of such courses include:

  • SOC 501 Introduction to Java Programming: An introduction to the Java programming language for those students who have little or no programming background. It is intended as an elective for the Master of Science in Information Systems to be taken near the end of the program. Basic topics considered will be programs and program structure in general and Java syntax, data types, flow of control, classes, methods and objects, arrays, exception handling, and recursion. In addition, the use of Java in enterprise-wide computing and distributed systems will be introduced by considering APIs in general, and the ones specific to JDBC and the Java security features in particular.
  • SOC 512 Online Social Networks: The objective of this course is to educate students in the design, implementation and analysis of on-line social networks, from the viewpoint of software as a service. The course introduces basic concepts and results in graph theory and game theory, and demonstrates their application in reasoning about social networks. Privacy and security aspects of social networks are also considered. Course work includes developing a social network application and analyzing data harvested from social networks.
  • SOC 519 Introduction to E-Commerce: The course provides an understanding of electronic commerce and related architectures, protocols, and technologies. It describes the e-commerce concept, objectives, and market drivers, as well as its requirements and underpinning techniques and technologies, including the Internet, WWW, multimedia, intelligent agents, client-server, and data mining. Security in e-commerce is addressed, including types of security attacks, security mechanisms, Virtual Private Networks (VPNs), firewalls, Intranets, and extranets. Implementation issues in e-commerce, including the design and management of its infrastructure and applications (ERP, CRM, and SCM), are discussed. M-commerce is addressed, electronic payment systems with their associated protocols are described, and various B2C and B2B applications are presented. Also, policy and regulatory issues in ecommerce are discussed.
  • SOC 524 Introduction to Cloud Computing: introduces the modern computing environment, based on SaaS, PaaS and IaaS. This course introduces the concepts of cloud computing, using the frameworks of software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Fundamental concepts from each framework are introduced and related to the structure of the modern cloud. Cloud computing: economics of outsourcing. SaaS: The Web as a client-server system. Web stack: HTML and HTTP. Web data: XML and JSON. Web services and example APIs. PaaS: Introduction to databases and middleware. Data storage in the cloud. Privacy issues. IaaS: Design of server farms. Virtualization and green computing. Service discovery: DNS and content distribution networks. Batch processing in the cloud. Assignments include quizzes, examinations, and a presentation and term paper on a cloud-related topic.
  • SOC 550 Knowledge Discovery and Data Mining: This course introduces fundamental and practical tools, techniques, and algorithms for Knowledge Discovery and Data Mining (KD&DM). It provides a balanced approach between methods and practice. On the methodological side, it covers several techniques for transforming corporate data into business intelligence. These include: online Analytical Processing (OLAP) Systems, Artificial Neural Networks (ANN), Rule-Based Systems (RBS), Fuzzy Logic (FL), Machine Learning (ML), Classification Trees (C4.5 Algorithm), and Classification and Regression Trees (CART Algorithm). To illustrate the practical significance of the various techniques, half of the course is devoted to case studies. The case studies, drawn from real-world applications, demonstrate application of techniques to real-world problems.
  • SOC 551 Privacy in a Networked World: Increasing use of computers and networks in business, government, recreation, and almost all aspects of daily life has led to a proliferation of online sensitive data that, if used improperly, can harm the data subjects. As a result, concern about the ownership, control, privacy, and accuracy of these data has become a top priority. This course focuses on both the technical challenges of handling sensitive data and the policy and legal issues facing data subjects, data owners, and data users. This course is suitable for advanced undergraduate computer science majors, graduate students in computer science, and students in technology management or other majors with some computer science background. Course readings draw on a variety of sources, including both technical materials and the popular press.
  • SOC 552 Health Informatics: This course integrates computer science and health informatics. It is the capstone course for students in the service-oriented computing program who choose the health informatics application domain. The course covers the history of health informatics, including discussions of protocols and standards, such as OSI, UDEF, and HL7; review of information access and evaluation, health care terminology and health care economics, and looks at system selection and evaluation in the areas of telemedicine, dental informatics, consumer health informatics, and hospital/clinical informatics. Special attention is given to Web services and mobile computing as they relate to the health care industry. The course includes extensive readings.
  • SOC 553 Text Mining and Statistical Natural Language Processing covers an important aspect of getting information from today's Web: much of this information is in text form! This course will introduce statistical processing of natural language texts, particularly counting words and phrases in and of themselves as well as associations between them using correlations and other measures. Goals of text mining include document classification, information retrieval, source authentication, and stylistic categorization. Typical document sources are newspaper stories, email captures, and Internet pages, as well as collections of non-fiction and fiction such as Federalist Papers and Edgar Allan Poe short stories.
  • SOC 585 Introduction to Game Development: The course will provide the students with: (i) A theoretical understanding of the principles, concepts, and structures underlying game designs; (ii) An analysis of game specific engineering frameworks and architectures including software and hardware architectures, game play mechanics, design documentation, and production methodology; (iii) An introduction to the innovation processes and skills neeed to formulate a viable design and take it from the idea stage to a published game.
  • CS 593 Data Mining II: Advanced Algorithms for Mining Big Data:
  • SOC 594 Enterprise Security and Information Assurance: This course addresses the security of e-business and cyber environments from an end-to-end perspective, including data center security and access security. The information security phases of inspection, protection, detection, reaction, and reflection are emphasized. Topics also include: server and application security, virtual local area networks (VLANs), secure access and financial transaction techniques, and backup and disaster recovery techniques. The course also reviews financial Electronic Data Interchange (EDI) and smart card security in banking applications, and describes how the business and financial risks associated with security are estimated and managed. The course includes a project and related lab experiments.
  • CS 696 Database Security: This course is an advanced graduate course that provides an up-to-date overview of data security models, techniques, and architectures in a variety of data management applications and settings. It will cover some of the most comprehensive work on database security, with the covered topics as: (1) access control policies and mechanisms for both relational and structured databases, (2) database integrity auditing techniques, (3) database watermarking, and (4) security in distributed database management systems.
  • CS 597 User Experience Design and Programming:
Required Courses
Area Course Prereqs
Web Applications SOC 606 Introduction to Developing Internet Applications* SOC 605, SOC 611
  OR CS 546 Web Programming* CS 561
  OR CS 526 Enterprise and Cloud Computing* CS 590
  SOC 611 Fundamentals of SOC**  
  OR CS 561 Database Management Systems I** CS 590
User Interface SOC 510 or CS 545 Human Computer Interaction SOC 605
Service Oriented Architecture SOC 542 or CS 548 Enterprise Software Architecture & Design S0C 605

* Pick one of these three courses for the Graduate Certificate. Students in the SOC program should take SOC 606, since CS 546 and CS 526 are advanced courses intended for Computer Science students.

** Pick one of these two courses for the Graduate Certificate.  Students in the SOC program should take SOC 606, since CS 561 is an advanced course intended for Computer Science students.

Graduate Certificate Sample Study Plan - Part Time via Webcampus

  Fall Spring
Year 1 (SOC 605 Introduction to SOC)
SOC 611 Fundamentals of SOC
SOC 606 Internet Apps
SOC 542 Enterprise Soft Arch & Design
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.

Area Course Prereqs
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
  SOC 594 Enterprise Security and Information Assurance SOC 542
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  

M.S. Sample Study Plan - Part Time via Webcampus

  Fall Spring
Year 1 SOC 605 Introduction to SOC 
SOC 611 Fundamentals of SOC
SOC 606 Intro to Internet Apps
SOC 542 Enterprise Soft Arch & Design
Year 2 SOC 510 HCI 
Free elective
SOC 594 Enterprise Security 
SOC 552 Health Informatics
Year 3 SOC 650 Data Mining
SOC 551 Privacy in a Networked World

M.S. Sample Study Plan - Part Time via Webcampus

  Fall Spring
Year 1 SOC 605 Introduction to SOC 
SOC 611 Fundamentals of SOC
Free elective
SOC 606 Intro to Internet Apps
SOC 542 Enterprise Soft Arch & Design
Year 2 SOC 510 HCI 
SOC 550 Data Mining
Free elective
SOC 594 Enterprise Security 
SOC 552 Health Informatics


Apply Now

Request Info

Admission Requirements

Admission into the Graduate Certificate or Master's Degree programs requires an undergraduate degree in Engineering, or in a related discipline, with a grade point average of "B" or better from an accredited college or university.

Required Documentation

All applicants must submit the following documents to be considered for admission:

  • Completed online application for admission
  • Official college transcripts from all colleges attended
  • Two letters of recommendation
  • Statement of Purpose
  • GRE scores*
  • Application fee

Optional Documents:

  • Resume/CV

* Starting Fall 2014 GRE scores required for all applicants applying into a full-time graduate program in the School of Engineering and Sciences. (Code #2819) All scores are only valid for five years prior to the application term. GRE required for all PhD applicants.

Additional Requirements for International Applicants

TOEFL/IELTS - International students (Code #2819).  For English language proficiency requirements please click here.

Approximately two weeks following receipt of the above material, you will receive a decision letter from the Office of Graduate Admissions. If accepted you will receive an acceptance letter outlining the program to which you were accepted, as well as your assigned Academic Advisor's contact information.

For questions related to program requirements please check with the Office of Graduate Admissions at [email protected].

For more details on deadlines and how to apply please visit the Office of Graduate Admissions website at