2015-2016 Graduate Catalog

This is an archived copy of the 2015-2016 catalog. To access the most recent version of the catalog, please visit http://catalog.callutheran.edu.

The Master of Science in Computer Science

The Master of Science in Computer Science (MSCS) program is a comprehensive master’s program providing in-depth professional training in a range of computer science subjects including database design, computer network and security, informatics, embedded systems, artificial intelligence and computer vision.

It is designed to provide computer professionals with advanced conceptual tools and a strong practical component and prepare students for positions in industry, academia and government. Upon completion, students will be well qualified for a career in a field where an unprecedented demand exists for highly trained men and women.

An important aspect of the MSCS program at CLU is the wealth of “hands-on” opportunities for students. Courses are carefully designed to combine the study of fundamental theory with sound practice, applying technologies to real-world problems in the comfort of the classroom. And, given the constant change that exists in the field, the program offers special topic courses that can keep students abreast of the newest technological advances as they are introduced.

Goals of the Program

The goals of the MSCS program are to produce graduates with a breadth of knowledge in state-of-the-art computer science technologies and depth of knowledge in a chosen field of interest. Such knowledge will allow graduates to make an immediate impact as professionals in their field of choice.

Students accomplish these by:

  1. Obtaining a broad understanding of the most current topics in computer science through a set of core courses.
  2. Obtaining a deep understanding of a specific topic in computer science through a sequence of elective courses designed to study various aspects of the chosen topic.
  3. Completion of a graduate project in a chosen area of interest under the guidance and supervision of a professor skilled in the area.

Upon completion of the MSCS program, graduates will possess the knowledge necessary to make an immediate impact on an institution’s needs in the field of computer science.

Academic Calendar

Four 11-Week Terms

CLU offers Master of Computer Science courses year round in four 11-week terms: Fall, Winter, Spring and Summer.

Completion Time

Newly admitted students may start the master’s program in any term (Fall, Winter, Spring or Summer). It is possible to complete the program in five terms for students with a bachelor’s degree in computer science or related areas when they take two courses per term. Eight units are considered a full load, although some students prefer one course per term. The degree must be finished within five years from the program starting date.

Admission Requirements

Candidates for admission to the MSCS program should apply at least 45 days prior to the start of the term. Admission decisions for regular graduate standing are based on a review of the following materials in the candidate’s file:

  1. A completed application form and non-refundable application fee;
  2. Evidence of an admission interview;
  3. Meeting with admission counselor and approval from program director;
  4. Official transcripts showing a bachelor’s degree from a regionally accredited institution. Normally, a grade point average of approximately 3.0 or higher in upper division undergraduate work is expected;
  5. Three letters of recommendation;
  6. A personal statement;
  7. Test scores. Applicants whose undergraduate records do not satisfy the criteria set forth in paragraphs A-C below must include Graduate Record Examination (GRE) scores in their admission portfolio. The GRE may be waived for candidates who present an official transcript of previous college work from a regionally accredited college or university reflecting any one of the following criteria:
    1. An undergraduate, upper division grade point average of 3.0 or higher (on a 4.0 scale); or
    2. A combined grade point average of 3.0 or higher for the most recent 60 credits of study consisting of any of the following: graduate course work, upper division postbaccalaureate course work (exclusive of extension or continuing education work), and upper division undergraduate course work: or
    3. A minimum of nine credits of graduate course work completed and a 3.5 grade point average

International Students

International students have unique admission requirements. They should refer to the admission requirements for international students listed in the general admission section of this catalog.

CS Specific Admission Requirements

  • Students who have a bachelor’s degree in computer science or related areas must include one semester in each of the following subject areas in their undergraduate degree: C+ +/Java programming, Operating Systems, Database, Computer Networks, and Discrete Math.
  • For students with a bachelor’s degree in other disciplines, additional course work may be required or recommended as a condition of admission. These students generally take the following undergraduate courses before they can take any graduate level courses in the CS department. Required courses are:
CSC 501Foundations of Discrete Math & Programmg4
CSC 502Foundations of Computer Network And Operating Systems4
CSC 503Foundations of Database Management4
Total Hours12

Students must obtain a B or above in each course.

Or these students may  take the following intensive foundations courses before they can take any graduate level courses in the CS department. Foundations courses are: CS501 Foundations of Discrete Math and Programming(4 cr), CS502 Foundations of Computer Network and Operating Systems (4 cr) and CS503 Foundations of Database Management Systems(4 cr). Students must obtain a B or above in each course.

Note: All applicants who have completed their undergraduate work at an institution outside of the United States must have their transcripts evaluated for equivalency to a U.S. bachelor’s degree and submit GRE and TOEFL scores.

Provisional Admission

Under some conditions, after meeting with an admission counselor, a student may register for classes before completing the entire admission process; however, the Application for Admission, the $50 application fee, and a copy of a transcript showing a bachelor’s degree with an acceptable GPA and/or acceptable standardized test score must be on file in the Graduate and Adult Programs Office before the class registration can be accepted. Students are expected to complete all admission requirements before they start taking graduate courses. Provisionally admitted students are not eligible for financial aid.

Requirements for the Master of Science in Computer Science

The program leading to the Master of Science degree requires 40 semester credits which must be completed within a five-year period. Additional course work may be required for individuals whose academic records reflect the need for preparation as determined during the academic advisement interview. For students conditionally admitted, successful completion of required undergraduate courses removes conditional admission status.

Project Option: Total 40 credits

CSC 599AGraduate Project (two semesters)4
CSC 599BGraduate Project4
Select three of the following:12
Advanced Algorithm and Data Structure
Advanced Database Systems
Advanced Computer System Architecture
Advanced Operating Systems
Advanced Network and Data Communication
Electives 120
Total Hours40

1

Two remaining courses from the required course list above and all other electives except CSC 590.

Non Project Option: Total 40 credits

Select three of the following:12
Advanced Algorithm and Data Structure
Advanced Database Systems
Advanced Computer System Architecture
Advanced Operating Systems
Advanced Network and Data Communication
Electives 128
Advanced Computer Graphics
Computer Vision
Intelligent Information System
Embedded Systems
Object Oriented Software Development
Web-Based Database Application
Advanced Computer System Security
Creative Technology
Artificial Intelligence and Expert System
Special Topics 2
Seminar
Independent Study
Total Hours40

1

Two remaining courses from the required course list above and all other electives including Independent Study.

2

Examples are:

  • Pattern Recognition
  • Parallel programming/architecture
  • VLSI CAD Techniques
  • Game Development

Courses

CSC 500. Advanced Algorithm and Data Structure. (4).

Explores fundamental techniques such as recursion, dynamic programming for efficient algorithm, graph, pattern matching, sorting, searching algorithm. Includes use of time complexity in evaluating algorithms; review of composite data types such as arrays, records, strings and sets; definition, implementation, and application of data structures such as stacks, queues, linked lists, trees and graphs.

CSC 501. Foundations of Discrete Math & Programmg. (4).

An introduction to topics of discrete math used in the digital world, number systems, Boolean algebra matrices, sets, logic and an introduction to computer programming to solve such mathematic problems in an algorithmic way. The course provides an understanding of the mathematical underpinnings of computer science foundation.

CSC 502. Foundations of Computer Network And Operating Systems. (4).

Discusses the major functionality and principles behind all major operating systems tasks, including user interface, hardware sharing among users, data sharing among processes, user protections, resources scheduling among users, multi-user environment, multi-processing and real-time systems, communication techniques, wide-area and local-area networks, integrated services digital network, open-systems interconnection, security and network management.

CSC 503. Foundations of Database Management. (4).

Studies the concepts and structures necessary to design and operate a database management system. Topics include data modeling, relational database design, and database querying.

CSC 505. Advanced Computer Graphics. (4).

This course covers the theory, design, implementation and applications of advanced computer graphics environment. 3D computer games, scientific visualization. Includes transformation, shading, lighting, rasterization, texturing and other topics.

CSC 506. Compiler Fundamentals. (4).

Compiler is a software utility that translates source codes written in various computer programming languages into executable codes for the host machine. The design of compiler has evolved as that of modern programming language. While not too many computer scientists will build a compiler for any major programming languages, the concept and practice of compiler has been proven extremely valuable in advanced fields such as software patterns, static code analysis, detection of irregular network activities, etc. This course will introduce the foundations to serve the needs in the aforementioned tasks.

CSC 508. Computer Vision. (4).

Methods of computer processing of image data. Description and recognition of objects, shape, analysis, edge and region segmentation, texture, image understanding. Overview of image processing, pattern recognition: image formation, binary images, edge detection. Prerequisite: MATH 241, CSC 220 or equivalent.

CSC 510. Advanced Database Systems. (4).

This course provides students with advanced skills in the development of medium to very large database applications in a multi-user environment using relational database. It includes topics such as multi-user database issues, database application tuning and optimization. Query optimization, data warehousing, data mining, transaction processing, concurrency control and recovery.

CSC 512. Intelligent Information System. (4).

Knowledge discovery in database, knowledge base maintenance, knowledge base and database integration architectures and scale-up issues and applications to cooperative database systems, intelligent decision support systems, and intelligent planning and scheduling systems.

CSC 521. Advanced Computer System Architecture. (4).

Machine organization and design, formal descriptions, comparative study of machine instruction sets and formats, data representation and floating point, address structures, mechanization of procedure calls, memory organization and management, microprogramming, I/O processing and interrupts, and reliability aspects.

CSC 522. Embedded Systems. (4).

Students learn how to design, code, debug and build detailed low-level embedded application systems using several embedded system tools.

CSC 535. Object Oriented Software Development. (4).

Fundamentals of object-oriented modeling. In-depth study of object-oriented development methods. Object-oriented software requirements analysis and modeling.

CSC 540. Advanced Operating Systems. (4).

Introduction to design and evaluation of modern operating systems. Organization of multiprogramming and multiprocessing systems. Dynamic memory allocation, memory management, virtual memory, I/O control and file systems. Resource allocation, scheduling, synchronization, protection, process model, interlocks and deadlocks.

CSC 544. Web-Based Database Application. (4).

Course includes architectural concepts, database application programming, and interfacing on the Web. Server-side Web development. Database driven application development using Internet communications and server-side script technologies.

CSC 550. Advanced Network and Data Communication. (4).

The principles, techniques and application of networking and data communications. State-of-the-art practical technology, WAN, standards, protocols, topologies, electronic/voice mail systems, electronic bulletin boards, and network performance.

CSC 560. Advanced Computer System Security. (4).

Security techniques in operating systems, data bases and computer networks. Encryption/Decryption. Supporting techniques such as auditing, risk, analysis and cost benefit tradeoffs are discussed. Security analysis of network protocols and network vulnerabilities. Analysis of scanning, spoofing, hijacking and denial of service attacks. Authentication and access control in computer networks. Firewalls and network monitoring tools. Intrusion detection techniques.

CSC 570. Creative Technology. (4).

Introduction to state-of-the-art technology for networked multimedia systems. Current media-related issues, algorithms, data handling, networking and deployment for modern distributed multimedia systems; efficient design and standards for multimedia.

CSC 580. Artificial Intelligence and Expert System. (4).

An exploration of the use of computers to perform computations associated with intelligence. Game playing, search, problem solving, knowledge representation, planning, learning. Introduction to the concepts and techniques of expert systems.

CSC 582. Special Topics. (4).

Special Topics, see class syllabus.

CSC 585. Seminar. (1-4).

Research methods in computer science. Student presentation covering current topics in research, updating of concepts and verification of principles of computer science and its applications. (Graded P/NC).

CSC 590. Independent Study. (1-4).

CSC 593. Practicum. (1).

This course provides an opportunity to enhance competency in practical computer science skills that can be applicable in a competitive IT environment.

CSC 599A/599B. Graduate Project. (4,4).

Integrating computer system and information system technologies: development of an integrated technical architecture (hardware, software, networks, and data) and implementation of the system in a rapidly changing competitive and technological environment. Prerequisite: Three required courses and four electives.