2013 - 2014
Graduate Catalogue

Computer Science

Office: Donnelly Science Center, Room 127A

Telephone: 410-617-2464

Website: www.loyola.edu/computerscience

FACULTY

Chair: James R. Glenn, Associate Professor

Director: David W. Binkley

Director of Program Operations: Lewis I. Berman

Academic Coordinator, Computer Science: James Reeder

Academic Coordinator, Software Engineering: David W. Binkley

Academic Coordinator, Web Development: Yaakov Chaikin

Professors: David W. Binkley; Arthur L. Delcher (emeritus); Roberta Evans Sabin; Bernard J. Weigman (emeritus)

Associate Professors: Roger D. Eastman; James R. Glenn; Dawn J. Lawrie

Assistant Professors: Sibren Isaacman; Megan M. Olsen; Mohammad S. Raunak

Affiliate Faculty: Douglas A. Ashworth; Lewis I. Berman; Michael E. Berman; Hossein Beyzavi; David A. Boyd; Yaakov Chaikin; David R. Cheslock; Nathan D. DeGraw; Dennis P. Dworkowski; Gyorgy Fekete; Marco Figueiredo; Kalman Hazins; Alp Kayabasi; Sokratis Makrogiannis; Geoffrey L. Matrangola; David T. Opitz; A. Spencer Peterson; Carl M. Powell; James Reeder; Clark Richey; Patrick Stakem; Garrett VanMeter; Christopher G. Wagner; Jason Youngers


The graduate program in computer science offers a Master of Science (M.S.) in Computer Science and a Master of Science (M.S.) in Software Engineering. The degree requirements consist of six required courses and four electives. The degree programs in computer science and software engineering are offered with courses alternating between Loyola's Columbia and Timonium Campuses. A sequence of preparatory courses is offered for students holding bachelor's degrees in nontechnical fields.

Designed to meet the diverse needs of computer science professionals, the M.S. in Computer Science offers a practitioner-oriented curriculum that includes the study of advanced algorithms, computer networking, web programming, software engineering, and database systems. In addition, students may elect courses from many areas of computer science, including object-oriented analysis and design, network security, and service-oriented architecture. Two focused tracks are available in computer science. The web programming track builds on the core study of advanced algorithms and database systems. It includes courses in advanced HTML coding and design, web application development with servlets and JavaServer Pages, Java design patterns, and XML technologies. The networking track builds on the required study of advanced algorithms, web programming, and database systems. It is designed to provide a detailed understanding of how computer systems communicate and exchange data.

Designed to meet the needs of professionals looking to advance into technical project management, the M.S. in Software Engineering offers advanced skills in project and personnel management, modern analysis and design methods, and contemporary quality assurance techniques. Students have many opportunities to develop these skills in project-based courses and in their respective workplaces. The process of developing and maintaining large-scale, software-based systems is complex. It involves detailed analysis, sophisticated techniques, and the knowledge of how the system interacts with other components. Software engineers are the professionals charged with this task. Besides being familiar with the fundamentals of computer science, a software engineer must know the technical and management techniques required to construct and maintain such complex software systems.

Students wishing to pursue both degrees must complete all of the degree requirements for each degree. Some courses for the first degree may satisfy requirements for the second degree. If so, they need not be repeated. However, at most, three common courses may be counted to satisfy the requirements of the second degree.

MASTER OF SCIENCE (M.S.) IN COMPUTER SCIENCE

Learning Aims

  • Be proficient problem-solvers using current computer science techniques (e.g., database systems, web programming, and network systems)
  • Be able to analyze and design high quality solutions to real problems using well-established principles of software engineering and be able to evaluate those solutions by rigorous means
  • Understand the fundamental principles of computer science theory in support of becoming a lifelong learner ready to build and understand tomorrow's technologies

Degree Requirements

The degree consists of 30 graduate credit hours, as follows:

Preparatory Courses

The preparatory courses must be taken, unless waived based on previous college experience. These courses do not count toward the 30 required credit hours.

  • CS610 Discrete Mathematics and Algorithm Analysis
  • CS630 Computing Fundamentals I
  • CS631 Computing Fundamentals II
Required Courses
  • CS712 Web Application Development with Servlets and JavaServer Pages
  • CS722 Object-Oriented Programming
  • CS724 Algorithm Design and Analysis
  • CS730 TCP/IP Architecture
  • CS762 Database Systems
  • CS770 Software Engineering
Electives

Four courses at the CS700-level or above may be chosen. One of the electives may be an approved graduate business (GB) course offered by the Sellinger School of Business and Management. Unless otherwise noted, all CS700-level courses have CS600-level courses as prerequisites.

  • CS700 Advanced Data Structures and Algorithm Design
  • CS701 Principles of Programming Languages
  • CS702 Operating Systems
  • CS710 Fundamentals of Web Design
  • CS713 Java Design Patterns and Best Practices
  • CS714 XML Technologies and Applications
  • CS715 Developing Rich Internet Applications with AJAX
  • CS716 Modern MVC Web Frameworks
  • CS718 Graphics
  • CS732 Local Area Networks
  • CS734 Wide Area Networks
  • CS750 Special Topics in Computer Science or Software Engineering
  • CS751 Independent Study
  • CS760 Advanced Operating Systems
  • CS764 Network Security
  • CS771 Engineering Systems Analysis
  • CS772 Object-Oriented Analysis and Design
  • CS773 Software System Specification
  • CS774 Human-Computer Interaction
  • CS780 Software Reliability and Testing
  • CS790 Software Architecture and Integration
  • CS791 Cost Estimation and Management
  • CS792 Software Maintenance and Evolution
Tracks

The web programming track involves taking three courses from the following:

  • CS712 Web Application Development with Servlets and JavaServer Pages
  • CS713 Java Design Patterns and Best Practices
  • CS714 XML Technologies and Applications
  • CS716 Modern MVC Web Frameworks

The networking track involves taking three courses from the following:

  • CS730 TCP/IP Architecture
  • CS732 Local Area Networks
  • CS734 Wide Area Networks
  • CS764 Network Security
Program of Study

As seen in the suggested course sequence below, CS722 is the expected entry point for the program. Students interested in the networking track should interchange CS712 and CS730. Students interested in taking only one course per semester complete the four courses of the first year in their first two years. An interactive webpage (www.cs.loyola.edu/grad-course-guide/index.html), which shows the expected offerings of the required and elective courses, is available to help students plan their course of study.

Preparatory Year

Fall Term

    CS610 Discrete Mathematics and Algorithm Analysis
    CS630 Computing Fundamentals I

Spring Term

    CS631 Computing Fundamentals II
    CS730 TCP/IP Architecture

Summer Term

    CS700 Advanced Data Structures and Algorithm Design*

First Year

Fall Term

    CS722 Object-Oriented Programming*
    CS762 Database Systems

Spring Term

    CS712 Web Application Development with Servlets and JavaServer Pages
    CS724 Algorithm Design and Analysis

Summer Term

    Elective
    Elective

Second Year

Fall Term

    CS770 Software Engineering
    Elective

Spring Term

    CS730 TCP/IP Architecture (if not taken in preparatory sequence)
    Elective

* Students with limited background, but beyond that covered in the preparatory courses, should start with CS700 the summer before taking CS722.

MASTER OF SCIENCE (M.S.) IN SOFTWARE ENGINEERING

Learning Aims

  • Understand requirements elicitation, the specification of software architecture, and the organization of software systems
  • Understand the appropriate implementation techniques from the front-end of a software system through to the back-end
  • Understand software quality considerations such as best design practices, management considerations, software security, and testing

Degree Requirements

The degree consists of 30 graduate credit hours, as follows:

Preparatory Courses

It is understood that all students starting the program have the equivalent of the following courses; however, depending on the candidate's background, these courses may be waived without replacement. These courses do not count toward the 30 required credit hours.

  • CS702 Operating Systems
  • CS722 Object-Oriented Programming
  • CS724 Algorithm Design and Analysis
Required Courses
  • CS762 Database Systems
  • CS770 Software Engineering
  • CS773 Software System Specification
  • CS774 Human-Computer Interaction
  • CS780 Software Reliability and Testing
  • CS790 Software Architecture and Integration
Electives

Four courses satisfying the following requirements:

  • Two CS750-level or above courses
  • At least one, but not more than two, approved graduate business (GB) course offered by the Sellinger School of Business and Management

Approved CS and GB electives are listed below. Alternate GB courses may be chosen with the approval of the department.

  • CS710 Fundamentals of Web Design
  • CS712 Web Application Development with Servlets and JavaServer Pages
  • CS713 Java Design Patterns and Best Practices
  • CS714 XML Technologies and Applications
  • CS715 Developing Rich Internet Applications with AJAX
  • CS716 Modern MVC Web Frameworks
  • CS718 Graphics
  • CS730 TCP/IP Architecture
  • CS732 Local Area Networks
  • CS734 Wide Area Networks
  • CS750 Special Topics in Computer Science or Software Engineering
  • CS751 Independent Study
  • CS760 Advanced Operating Systems
  • CS764 Network Security
  • CS771 Engineering Systems Analysis
  • CS772 Object-Oriented Analysis and Design
  • CS773 Software System Specification
  • CS774 Human-Computer Interaction
  • CS780 Software Reliability and Testing
  • CS790 Software Architecture and Integration
  • CS791 Cost Estimation and Management
  • CS792 Software Maintenance and Evolution
  • GB700 Ethics and Social Responsibility
  • GB701 Risk Assessment and Process Strategies
  • GB705 Leadership and Management
  • GB754 Introduction to Cybersecurity
Program of Study

A suggested course sequence is listed below. Students only interested in taking one course a semester complete the four courses of the first year in their first two years. An interactive webpage (www.cs.loyola.edu/grad-course-guide/index.html), which shows the expected offerings of the required and elective courses, is available to help students plan a course of study.

First Year

Fall Term

    CS770 Software Engineering
    CS773 Software System Specification

Spring Term

    CS774 Human-Computer Interaction
    Elective

Summer Term

    Elective
    Elective

Second Year

Fall Term

    CS762 Database Systems
    CS790 Software Architecture and Integration

Spring Term

    CS780 Software Reliability and Testing
    Elective

MASTER'S PLUS PROGRAM

Through the Master's Plus program, individuals holding master's degrees from accredited colleges or universities may take courses for which they have the background. Students may take an unlimited number of courses under the program, as long as they maintain good standing as a graduate student (GPA of 3.000 or higher, with no more than one grade of C). The Master's Plus does not lead to a degree.

Detailed admission information (application procedures, required documents, deadlines, etc.) can be found under Admission.

© Loyola University Maryland. All rights reserved. Send comments or questions to the catalogues webmaster.