M.S. in Computer Science (CISC)

Introduction
Curriculum
Course Descriptions

Introduction

The M.S. in Computer Science is a 36 credit-hour program. It is designed to give students advanced knowledge of the field and to provide an enduring foundation for future professional growth. The program blends theory and practice into a learning experience that develops skills applicable to complex real-world problems. Its formats offer full-time students the opportunity to earn the master’s degree in 12 months and working professionals the opportunity to earn the degree in 16–24 months.

Graduates are able to: (1) communicate computer science concepts, designs, and solutions effectively and professionally; (2) apply knowledge of computing to produce effective designs and solutions for specific problems; (3) identify, analyze, and synthesize scholarly literature relating to the field of computer science; and (4) use software development tools, software systems, and modern computing platforms.

Program Formats

Students select a preferred format (online or on-campus) in their admission applications, but once admitted may take courses in either format (except for the courses in the M.S. in information technology in education program, which are offered only online). Students electing the online format may participate in online classes from anywhere in the world where Internet access is available. On-campus classes are held on the main campus in Fort Lauderdale. Each class meets once a week from 6:00 p.m. to 8:00 p.m. for 16 weeks in the fall and winter terms and 14 weeks in the summer term. All degree programs include an optional six-credit thesis (the six credits for thesis are in lieu of course credit hours).

GSCIS students are provided NSU computer accounts but must obtain their own Internet service providers and use their own computer systems. Online students use the web to access course materials, announcements, email, distance library services, subscription library databases, and other information, and for interaction with faculty and fellow students. Online, interactive learning methods are based on the use of WebCT as a course management system. Online activities facilitate frequent student-to-faculty and student-to-student interaction. They are supported by threaded discussion boards, white boards, chat rooms, email, and multimedia presentations. In addition, WebCT enables students to submit assignments online in multimedia formats and to receive their professors’ reviews of assignments online in the same formats.

Attendance Policy

Master’s degree students are expected to be present at each meeting of their classes on campus. Exceptions to this rule may be made in the case of illness and possibly in other instances when approved by the course professor. Students should advise their course professors in advance of any anticipated absences. Additional work may be required by a course professor for any absence. Excessive absences will result in a failing grade. For online master’s courses, participation/attendance policies will be covered in the syllabus of each course.

Early Admission into the Ph.D. Program

This option provides the school’s M.S. students the opportunity to earn the Ph.D. in a shorter time. Minimum requirements for early admission are the completion of 24 credits in the M.S. program with a GPA of 3.5 or higher and the completion of specific master’s courses (see master’s program sections in the graduate catalog for details). If admitted into the Ph.D. program, students will take the remaining 12 credits for the M.S. degree in the Ph.D. program. Master’s students may apply for early admission no sooner than during the term in which they will be completing 24 credits. The application for early admission must be submitted to the Office of Admissions and must include the items listed under the Minimum Admission Requirements section for the Ph.D. program (the Office of Admissions will supply the Admissions Committee with the student’s current transcripts). The applicant is encouraged to request evaluation forms from GSCIS professors familiar with his/her academic capabilities and potential. Upon successful completion of 12 credits in the Ph.D. program, the student may apply for the master’s degree (contact the program office for a degree application).

The Curriculum

Core courses and electives are listed below. Students must take all nine core courses and three electives. If the thesis option is elected, students must take all nine core courses, one elective, and six thesis credits. Students who wish to take an additional elective beyond those specified above must request approval from the program office prior to registration. Plans for the thesis option must be made with and approved by the program office.

Core Courses (three credits each)
CISC 610   Programming Languages    (cross-listed with MCIS 611)
CISC 615   Design and Analysis of Algorithms
CISC 630   Compilers
CISC 631   Theory of Computation
CISC 640   Operating Systems    (cross-listed with MCIS 615)
CISC 650   Computer Networks    (cross-listed with MCIS 650)
CISC 660   Database Management Systems
CISC 665   Distributed Systems
CISC 680   Software Engineering    (cross-listed with MCIS 645)

Electives (three credits each)
CISC 647   Computer Architecture
CISC 654   Information Security
CISC 670   Artificial Intelligence    (cross-listed with MCIS 670)
CISC 681   Computer Graphics
CISC 683   Object-Oriented Design
CISC 685   Human-Computer Interaction
CISC 690   Special Topics in Computer Science

Course Descriptions

CISC 610  Programming Languages  (3 credits)
The study of the organization and types of programming languages including analysis of imperative, object-oriented, functional, and declarative language paradigms. Other topics include formal languages and language hierarchies, syntactic and semantic specification, context-free languages, abstraction, modularity, program structure and fundamental programming language concepts. (Cross-listed with MCIS 611)

CISC 615  Design and Analysis of Algorithms  (3 credits)
Principles and techniques used in the design and analysis of computer algorithms. Topics include sorting, algorithms for tree structures, dynamic programming, greedy methods, advanced data structures, divide and conquer, graph algorithms, arithmetic operations, algorithms for parallel computers, matrix operations, string/pattern matching, network problems, approximation algorithms, and NP-completeness.

CISC 630  Compilers  (3 credits)
Application of language theory to the design of compilers and interpreters for high-level programming languages. Lexical, syntactic, and semantic analysis, and code generation. Other topics include storage allocation, symbol table management, optimization, and the use of modern compiler generation tools. Prerequisites: CISC 610 and CISC 631.

CISC 631  Theory of Computation  (3 credits)
Automata and language theory: regular and context free languages; finite state automata and pushdown automata; regular expressions; pumping lemmas. Computability theory: Turing machine and its variants; decidability and reductions; recursive, recursively enumerable (r.e.), and non-r.e. languages. Complexity theory: time complexity and NP-completeness; a survey of NP-complete problems; space complexity and PSPACE-completeness.

CISC 640  Operating Systems  (3 credits)
Concepts of computer operating systems are presented with an emphasis on structured design. Topics include operating systems structure, multiprocessing, synchronization and communication, task management, virtual memory management, file systems, protection and security, operating system extension techniques, fault tolerance, and systems programming. Recent developments in operating systems theory and implementation are covered. (Cross-listed with MCIS 615)

CISC 647  Computer Architecture  (3 credits)
Characteristics and organization of modern processors are presented with an emphasis on the concepts and design of architecture for computer systems and subsystems (personal computers, servers, and embedded devices). Topics include processor fundamentals, instruction set principles, instruction-level parallelism, cache hierarchies, memory organization, virtual memory, multiprocessors and parallel architectures, thread-level parallelism, I/O and storage systems, performance evaluation, fault-tolerance, and clusters.

CISC 650  Computer Networks  (3 credits)
The concepts of computer networks and network services, communication protocols, network and protocol architectures, packet switching techniques, the Internet architecture, topology, internetworking, TCP/IP, network design and analysis methods, switching, and routing. Topics include wired and wireless Ethernet, software and conceptual models, error detection, error correction, transfer and routing protocols, congestion and flow control, quality-of-service, network programming, security, current and future applications. (Cross-listed with MCIS 650)

CISC 654  Information Security  (3 credits)
Theory and principles of information security and data protection. Topics include formal models for computer security, secure operating systems, mechanisms for mandatory and discretionary access controls, distributed secure system architectures, encryption and authentication, integrity models and mechanisms, secure protocols and vulnerability analysis.

CISC 660  Database Management Systems  (3 credits)
Concepts of three levels of database architectures and their relationships, DBMS internals and their functions with associated API interfaces, various types of data models and their implementations in both internal  and external perspectives, principles and techniques for database design and implementation,  organizations of data and file structures and access methods, theory of query processing and optimization, mechanisms of concurrency control and transaction processing, and other new trends of database technologies.

CISC 665  Distributed Systems  (3 credits)
Concepts and design of distributed systems and applications with an emphasis on protocols and distributed state. Topics include distributed systems architecture (system models, communication, and peer-to-peer systems); middleware (distributed objects, security, directory services, and web services); distributed systems infrastructure (distributed file systems, and distributed shared memory); distributed state coordination (time and global states, coordination, transactions, concurrency control, and replication); mobile and ubiquitous computing and future research directions. This course extends the foundation of operating systems and computer networking. Prerequisites: CISC 640 and CISC 650.

CISC 670  Artificial Intelligence  (3 credits)
Theory and practice of artificial intelligence and knowledge-based expert systems. Topics include knowledge representation and inference, heuristic and adversary search, genetic algorithms, machine learning, neural computing, reasoning under uncertainty, symbolic programming using Lisp, logic programming using Prolog, and expert systems. Development and implementation of algorithms for intelligent systems is emphasized. Examples from current application areas such as robotics, planning, machine vision, natural language processing, and intelligent agents are used to reinforce the concepts. (Cross-listed with MCIS 670)

CISC 680  Software Engineering  (3 credits)
The development of software-intensive systems; software quality factors; software engineering principles; system life-cycle models and paradigms; requirements definition and analysis; behavioral specification; software design; implementation; software testing techniques; verification and validation; system evolution; software project management. (Cross-listed with MCIS 645)

CISC 681  Computer Graphics  (3 credits)
Principles of computer graphics, including fundamental raster operations including scan conversion, fill methods, and anti-aliasing. Coordinate systems, transformations, scene graphs and other 3D modeling methods. Rendering, hidden surface removal and ray tracing. Animation; graphical user interfaces. Modern computer graphics languages.

CISC 683  Object-Oriented Design  (3 credits)
Principles and concepts of the object-oriented paradigm. Notation and techniques for the analysis, design, and implementation of object-oriented systems. Mechanisms for reuse, including composition, inheritance, design patterns, and application frameworks.  Object-oriented programming.

CISC 685  Human-Computer Interaction  (3 credits)
Focuses on the dynamics of human-computer interaction (HCI). Provides a broad and comprehensive overview of HCI as a sub-area of computer science and implements user-centered design approaches to computer systems including Internet and web-based environments. Areas to be addressed include the user interface and software design strategies and methodologies, user experience levels, interaction styles, and usability engineering. Students will design, evaluate, implement, and test user interfaces using appropriate computer science concepts and methodologies using current programming language environments.

CISC 688  Continuing Thesis in Computer Science  (1.5 credits)
Students who have not completed the thesis by the end of the second thesis registration must register for continuing thesis. This allows the student to receive faculty and administrative advice and support related to the thesis. Prerequisite: Completion of second thesis registration.

CISC 690  Special Topics in Computer Science  (3 credits)
This seminar focuses on the professor’s current research interests. Prerequisite: Consent of the course professor and program director based on student’s qualifications.

CISC 699  Master’s Thesis in Computer Science  (3 credits)
The student develops a framework within which research will be conducted and offers evidence of qualifications to pursue the research. Concepts and theories underlying the student’s thesis research are articulated; the problem is clearly stated; specific, measurable goals are specified; a literature review is presented; the methods of conducting research are delineated; and strategies to achieve the goal are supplied. Registration for CISC 699 must be repeated for three more credits, for a total of six thesis credits. Prerequisite: Completion of eight courses at the 600-level.

Request / Apply Now

To receive more information about the Graduate School of Computer and Information Sciences or to apply now, use one of the options below.

Request Information

Apply Now

Quick Bytes



Live chat by Hobsons
Live Help Hours
Monday - Friday
8:30 AM - 5:00 PM (EST)


Connect with GSCIS on: