---

* Academics

Graduate Program

M.S. in Computer Science with a specialization in Computational Science and Engineering

Applicants apply to this program in the usual manner. However, student backgrounds are expected to include courses in calculus, elementary linear algebra, elementary differential equations, discrete mathematics, data structures, and numerical computing. Courses in computer organization and computing languages are recommended. Students lacking some of this material may be admitted but will be expected to acquire this knowledge during their studies. This may require taking courses beyond the normal degree requirements.

Students must complete a Plan of Study that includes 30 credits at the 4000 and 6000 levels with 1) at least six credits in numerical analysis and/or scientific computation; 2) at least six credits in an area of natural science or engineering; 3) at least one course in each of software and hardware systems; and 4) a six-credit master's thesis. At least 18 credits must be at the 6000 level and students should attend the computer science colloquium and the scientific computation seminars.

Courses which may be counted for the hardware and software requirements are as follows:

Hardware

Catalog courses

CSCI-4220 Network Programming (could be counted as either, but not both)
CSCI-4250 Computer Architectures
CSCI-4650 Networking Laboratory I
CSCI-4660 Networking Laboratory II
CISH-6230 Network Management (could be counted as either, but not both)
ECSE-4670 Computer Communication Networks (could be counted as either, but not both)
ECSE-4690 Experimental and Simulation Techniques for Computer Networking (could be counted as either, but not both)
ECSE-4770 Computer Hardware Design
ECSE-4780 Advanced Computer Hardware Design
ECSE-4790 Microprocessor Systems
ECSE-6600 Internet Protocols (could be counted as either, but not both)
ECSE-6660 Broadband and Optical Networking
ECSE-6670 Local Computer Networks and Multiaccess Communication
ECSE-6730 Fault-Tolerant Digital Systems

Special topics courses (course number subject to change each semester)

CSCI-4961 Network Flows
CSCI-6963 Cryptography and Network Security (could be counted as either, but not both)

Software

Catalog courses

CSCI-4220 Network Programming (could be counted as either, but not both)
CSCI-4320 Parallel Programming
CSCI-4430 Programming Languages
CSCI-6140 Computer Operating Systems (Can only be used by students who have used CSCI-4210 to fulfill their operating systems requirement.)
CSCI-6360 Parallel Computing
CSCI-6480 Theory of Compiler Design
CISH-6230 Network Management (could be counted as either, but not both)
ECSE-4670 Computer Communication Networks (could be counted as either, but not both)
ECSE-4690 Experimental and Simulation Techniques for Computer Networking (could be counted as either, but not both)
ECSE-4760 Computer Applications Laboratory
ECSE-6740 Introduction to Parallel Computation
ECSE-6600 Internet Protocols (could be counted as either, but not both)
ECSE-6770 Software Engineering I
ECSE-6780 Software Engineering II

Special topics courses (course number subject to change each semester)

CSCI-4966 Software Construction
CSCI-4967 Open Source Software
CSCI-4968 Software Architecture
CSCI-6961 Network Programming
CSCI-6962 Distributed Computing over Internet
CSCI-6963 Network Security
CSCI-6963 Building Large C++ Systems
CSCI-6963 Cryptography and Network Security (could be counted as either, but not both)
CSCI-6964 High Performance Parallel and Distributed Computing
CSCI-6964 Software Engineering II
CSCI-6964 Distributed Software Components
CSCI-6964 Object Oriented User Interface Development
CSCI-6965 Algorithms for Compiler Construction
CSCI-6967 Program Analysis for Software Tools and Engineering
CSCI-6969 Object Oriented Programming and Design

* Return to main Graduate Program page


---

---