
Ellis University Home | About Ellis | Request Information
Master of Science in Computer Science
Ellis University is not currently accepting applications for this program.
The Master of Science in Computer Science program is designed to serve a wide range of professional interests and thus takes a broad-based approach to practical computer applications. The curriculum emphasizes the relationship between computers and their areas of application. The program is designed for individuals interested in systems analysis and systems engineering, application software, software engineering, systems programming, data communications, microprocessors or computer graphics. Its curriculum is consistent with the recommendations of the Association for Computing Machinery.
Objectives
Specific objectives of this program provide students with a comprehensive background in:
- Theory and design of high-level languages and applications in design and development of systems software;
- Development of algorithms, data organization and process optimization;
- Theory and design of assemblers, compilers, and operating systems:
- Architecture and operation of a variety of computer systems including microprocessors and large-scale computer systems; and
- Other topics specific to the student's particular area of specialization such as software; engineering, computer graphics and artificial intelligence.
Admission Requirements
The Master of Science in Computer Science is principally designed for graduates of baccalaureate programs in computer science, engineering, operations research, mathematics and related areas. Students who are admitted to the program with insufficient background in mathematics or computer science may be required to take one or more of the following undergraduate prerequisite courses:
| CSC 120 | Computer Programming I |
| CSC 130 | Computer Organization |
| CSC 170 | Computer Architecture |
| CSC 180 | Computer Programming II |
| CSC 260 | Data Structures |
| CSC 330 | Operating Systems |
| MAT 170 | Calculus I |
| MAT 180 | Calculus II |
| MAT 310 | Linear Algebra |
Curriculum Requirements
The curriculum requirements for the Master of Science in Computer Science include:
Required Core Courses
Fundamental Courses
- CSC 541 Computer Architecture
The study of the software/hardware boundary as defined in the Von Neumann Architecture. Review of the technological framework. Effects on machine instructions and formats, addressing techniques, microprogramming, fast arithmetic, and advanced memory and 110 practices. (3 Credits).
Prerequisite: Undergraduate Computer Architecture. - CSC 551 Algorithm Concept
Abstract Data Structures and their algorithms for implementation are reviewed. The study and analysis of various topics such as storage and execution time requirements, graph algorithms, minimum spanning trees, shortest paths, maximal matchings, internal sorting, asymptotic analysis of recursive procedures, divide-and conquer, dynamic programming, local search algorithms, external sorting and large-scale storage organization, memory management, and complexity classes. (3 Credits).
Prerequisite: Undergraduate course in data structures. - CSC 600 Project
Independent research project. (3 Credits).
Prerequisite: Approval of the Dean.
Computation
Select one course from the following:
- CSC 510 Theoretical Concept of Computer and Computation
Selected topics in set theory, Boolean Algebra, graph theory, and combinatorics. Formal languages, regular expressions and grammars. Automata and Turing machines. Algorithms and computability. (3 Credits).
- CSC 535 Probability and Stochastic Processes
Elements of probability theory. Random variables, distributions, densities, moments, characteristic functions, functions of random variables and limit theorems. Correlation, spectral density, ergodicity and applications in linear systems. Normal, Poisson and Wiener processes, mean square estimation and Markov processes. Applications to electrical engineering-noise analysis. (3 Credits).
Prerequisite: Knowledge of undergraduate probability theory. - CSC 545 Numerical Analysis I
Real and complex zeros of a function and polynomials, interpolation, roundoff error, optimization techniques, least square techniques, orthogonal functions, Legendre and Chebyshev polynomials, numerical integration and differentiation, numerical solution of differential equations with initial and boundary values. The numerical methods developed will emphasize efficiency, accuracy and suitability to high-speed computing. Selected algorithms may be flowcharted and programmed for solution on a computer. (3 Credits).
System Programming
Select two courses from the following:
The basic structure as well as the framework for the analysis and design of operating systems is developed. The operating system is viewed as a manager of resources (memory, processors, devices and information). The techniques and issues involved in managing these resources are discussed with examples. (3 Credits).
Prerequisite: Knowledge of probability and statistics; CSC 651 and an undergraduate course in operating systems.
- CSC 521 Programming Languages
The general principles of modern programming language design: Imperative (as exemplified by Pascal, C and Ada), functional (Lisp), and logical (Prolog) languages. Data management, abstract data types, packages, and object-oriented languages (Ada, C + +). Control structures. Syntax and formal semantics. While some implementation techniques are mentioned, the primary thrust of the course is concerned with the abstract semantics of programming languages. (3 Credits).
- CSC 531 Compiler Theory I
Review of general structures of a compiler. Finite state automata, regular expressions and lexical analysis. Review of BNF and context free syntax, recursive descent and operator precedence parsing. General table drive, top-down and bottom-up parsing methods. Syntax directed translation. Type checkings. Run-time environments. Introduction to intermediate code-generation. A compiler project is required. (3 Credits).
Prerequisite: CSC 551 and an undergraduate course in compilers.
Application
Select two courses from the following:
- Artificial Intelligence I
State-space representation in problem-solving, problem-reduction and searching methods. Application of the predicate calculus in problem-solving, resolution, production systems, LISP. (3 Credits)
Prerequisite: CSC 551
- CSC 560
Database Systems
Design and implementation of databases. Hierarchal and network concepts; relational databases systems; entity-relationship model: query languages; relational design theory, security and authorization; access methods; concurrency control back-up and recovery. (3 Credits)
Prerequisite: CSC 551
- CSC 565
Software Engineering
Techniques for the development and implementation of high quality digital computer software are presented. Major areas covered in the course include software quality factors and metrics, software development outlines and specification languages, top-down vs. bottom-up design and development, complexity, testing and software reliability. (3 Credits)
Prerequisite: knowledge of data structures
- CSC 570
Computer Graphics
Introduction to display system parameters; comparison of information retrieval and document retrieval; digitizing as an input process; picture models and data structures; display software; applications, hands-on laboratory experience. (3 Credits)
Prerequisite: knowledge of data structures
- CSC 590
Computer Networks
Connection of multiple systems in a networked environment. Topics include physical connection alternatives, error management at the physical level, commercially available protocol support, packet switching, LANs, WANs and gateways. (3 Credits)
Prerequisite: knowledge of probability and statistics
Electives
Select 9 additional credits from the Computer Science curriculum.