Online Master's in Software Engineering Online Master’s & Bachelor’s Degree Programs – Online MBA Degrees at Drexel.com
Drexel Online.  A Better U.

Online Master of Science in Software Engineering - Computer Science Track

DEADLINE ALERT!
Applications for the next term must be submitted by:

December 10, 2008
Sidebar Divider

ONLINE OPEN HOUSE!

Drexel University Online recently held an Engineering online open house.  Click here to listen... 
Sidebar Divider
TUITION REDUCTION
Does your organization provide tuition benefits through Drexel University Online?

Sidebar Divider


Print | Email To A Friend

Curriculum

The Computer Science track welcomes students who are interested in a variety of technical topics pertaining to the development of software systems such as databases, networks, operating systems, graphics and animation systems, compilers, expert systems, and systems for scientific computing. Students will learn and apply a variety of programming languages and techniques to specify, design, implement, test, and maintain software systems. 

Students in the Computer Science track take the required six core courses (core courses cover topics that are essential for the practicing software engineer) and six courses and a three-term project (equivalent to three courses) from the Computer Science track course offerings.

Core Courses - 18 credits

CS 544

Computer Networks 

3 credits

CS 575

Software Design

3 credits

CS 576

Dependable Software Systems

3 credits

INFO 627

Requirements Engineering & Management

3 credits

INFO 631

Information Technology Integration

3 credits

INFO 638

Software Project Management

3 credits

Sample Computer Science Track Courses

CS 559

Formal Language Theory 

3 credits

CS 560

Programming Languages 

3 credits

CS 590

Artificial Intelligence 

3 credits

CS 720

Operating Systems I 

3 credits

CS 721

Operating Systems II 

3 credits

CS 740

Computer Networks I 

3 credits

CS 741

Computer Networks II 

3 credits

CS 750

Database Theory I 

3 credits

CS 751

Database Theory II 

3 credits

Core Course Descriptions

CS 544 - Computer Networks

Computer networks and computer communication; network topologies; local area networks and store-and-forward networks; circuit, message, and packet switching; CBX vs. LAN; network protocols and OSI reference model; performance analysis; and distributed systems. Includes case studies.

Back to course list

CS 575 - Software Design
(Prerequisite: CS 580 or an undergraduate course in software engineering or systems analysis and design. Intended for CS and MSSE students; others must obtain departmental permission to enroll. Minimum Grade: C) 

Introduces techniques and notations with formal (mathematical) underpinnings for specifying the structural and behavioral properties of software systems. Covers these systems at various levels of abstraction, from architecture to subsystem decompositions to module/class dependencies and interfaces. Students analyze, synthesize, and express software designs using a variety of special-purpose design notations, and obtain practical experience with a team project. Topics include software architecture, architectural styles, module interconnection languages, modularity and information hiding principles, object-oriented design patterns (structural and behavioral), Petri nets, state charts, state transition diagrams, and Z notation.

Back to course list

CS 576 - Dependable Software Systems
(Prerequisite: CS 580 or an undergraduate course in software engineering or systems analysis and design. Intended for CS and MSSE students; others must obtain departmental permission to enroll. Minimum Grade: ) 

Offers an in-depth treatment of software testing and software reliability, two components of developing dependable software systems. Testing topics include path testing, data-flow testing, mutation testing, program slicing, fault interjection and program perturbation, paths and path products, syntax testing, logic-based testing, testing within the software development process, test execution automation and test design automation tools. Reliability topics include reliability metrics, fault avoidance, cleanroom software development, fault tolerance, exception handling, N-version programming, recovery blocks, formal methods, functional specifications, and Z notation.

Back to course list

ECE 500 - Foundations of Computer Hardware 

Covers computer organization and architecture; elements of computer hardware, processors, control units, and memories; hardware for basic mathematical operations; tradeoffs between speed and complexity; examples of embedded systems; microcontrollers; systems modeling.

Back to course list

ECE 600 - Fundamentals of Computer Networks 

Fundamentals design principles of ATM, Internet and local area networks; protocol layers and the Internet Architecture; medium access protocols; application protocols and TCP/IP utilities; basic principles and virtual circuit switching; naming and addressing; flow and congestion control protocols; routing algorithms; Quality-of-Service in computer networks; security issues in networks.

Back to course list

INFO 627 - Requirements Engineering & Management
(Pre-Requisites: INFO 620 Minimum Grade: C) 

Provides students with an opportunity to explore and experience methodologies, tools, and techniques for eliciting, analyzing, specifying, and managing requirements in modern software development organizations. Focuses on the intersection of requirements engineering, strategic IS and business planning, and business process reengineering. Students will also learn about change management in requirements engineering context in response to a fast- paced, changing world. Upon completion of the course, each student should have new skills and insights that are immediately applicable to the performance of the requirements engineering project function.

Back to course list

INFO 631 - Information Technology Integration
(Pre-Requisites: INFO 503 Minimum Grade: C and (INFO 532 Minimum Grade: C or INFO 601 Minimum Grade: C ) and INFO 605 Minimum Grade: C and (INFO 534 Minimum Grade: C or INFO 614 Minimum Grade: C ) and BUSN 501 Minimum Grade: C )

Focuses on integration of information technologies from an organizational perspective. Coverage includes IT Product and service selection and evaluation, impact of emerging technologies, standards, and vendor strategies. Emphasizes financial considerations including return on investment, time cost of money, depreciation, and system life.

Back to course list

INFO 638 - Software Project Management
(Pre-Requisites: INFO 620 Minimum Grade: C) 

Focuses on first-line management of software system development. Covers major themes including estimation (software cost factors, estimation models, and risk management), planning (work breakdown, scheduling, staffing, resource allocation, and creation of a project plan), and execution (team building, leadership, motivation, process tracking, control recovery, and communication within and outside the project).

Back to course list

Sample Computer Science Track Courses 

CS 559 - Formal Language Theory 

Covers regular languages and finite automata with applications to string matching and lexical analysis; context-free languages and pushdown automata with applications to parsing; and recursive and recursively enumerable languages and Turing machines and the Church- Turing thesis.

Back to course list

CS 560 - Programming Languages 

Covers basic concepts of the description and implementation of computer languages, including data representation and types, operations and functions, sequence control, environments, block structure, subroutines and coroutines, storage management, and syntactic metalanguages. Emphasizes language features and implementation, not mastery of any particular languages.

Back to course list

CS 590 - Artificial Intelligence 

Introduces heuristic programming, search algorithms, game theory, and symbolic logic and theorem proving. Covers adaptive systems for information retrieval and decision support. Includes programming in traditional AI languages.

Back to course list

CS 720 - Operating Systems I  

Covers the classical internal algorithms and structures of operating systems, including CPU scheduling, memory management, and device management. Considers the unifying concept of the operating system as a collection of cooperating sequential processes. Covers topics including file systems, virtual memory, disk request scheduling, concurrent processes, deadlocks, security, and integrity.

Back to course list

CS 721 - Operating Systems II
(Pre-Requisites: CS 720 Minimum Grade: C) 

Covers the terminology of distributed operating systems and the concepts and algorithms behind their design and implementation, including communication, synchronization, processes and processors, and distributed file systems. Includes case studies.

Back to course list

CS 740 - Computer Networks I 

Covers computer networks and computer communication; network topologies; local area networks and store-and- forward networks; circuit, message, and packet switching; CBX vs. LAN; network protocols and OSI reference model; performance analysis; and distributed systems. Includes case studies.

Back to course list

CS 741 - Computer Networks II
(Pre-Requisites: CS 740 Minimum Grade: C) 

Continues CS 740.

Back to course list

CS 750 - Database Theory I
(Pre-Requisites: CS 557 Minimum Grade: C) 

Introduces relational and knowledge-base data models and contrasts the expressiveness of the two models. Covers semantics of knowledge bases, negation, dependencies, Armstrong's axioms, decompositions, and normal forms.

Back to course list

CS 751 - Database Theory II
(Pre-Requisites: CS 750 Minimum Grade: C) 

Covers topics in database theory and implementation, varying yearly. May include physical data organization, transaction management, concurrency, distributed data- bases, and semantics.

Back to course list