Graduate Courses- CIS 501 Data Structures and Algorithm Analysis: This course studies the implementation of abstract data structures and the efficiency analysis of algorithms. There will be required programming projects in C++. Topics will include algorithm analysis, recursion, sorting, randomization, graph algorithms, hash tables, and the implementation of abstract data structures (lists, stacks, queues and trees). (3 credits)
- CIS 502 Computer Organization: This course studies the organization and architecture of modern computers. The course will present the fundamentals of computer organization and investigate the role of performance-driven computer design. Various computer organization paradigms will be studied, including CISC, RISC and parallel machines. Particular processors will serve as concrete examples for the general concepts addressed in class. (3 credits)
- CIS 503 Database Theory and Design: This course introduces students to the systems-oriented aspects of database systems design. Topics will include a review of relational databases, functional dependencies, normal forms, data manipulation languages, and query languages. Advanced topics may include object-oriented modeling, database administration, physical database design, semi-structured data, distributed database management, transaction processing, concurrency control, recovery, and logic-based systems. (3 credits)
- CIS 504 Data Communications: This course studies the technology, architecture, applications and management of data communication systems. Topics will include data transmission and encoding, the ISO reference model, TCP/IP, packet-switched and circuit-switched networks, local area networks, Intranet and Internet, the mathematical foundations of data communications (including queuing theory and performance modeling), and network security issues. (3 credits)
- CIS 505 User Interface Design: Students will explore the theory and design of computer interfaces. Topics will include human elements of interface design and operation, command interfaces, menu types, direct manipulation techniques, windowing, interactive peripheral devices, physiological and psychological responses to interfaces, documentation and tutorials, and development and testing methods. Students will design, program, and implement several sample Windows interfaces using Visual Studio.NET compliant code. (3 credits)
- CIS 507 Software Engineering: Software engineering is a dynamic and expanding field. This course aims to give students practical experience and theoretical foundations in the following areas: software design, information systems and software quality, managing the software development process and human computer interaction. There is a strong emphasis on object orientation and the use of Unified Modeling Language for analysis and design. Suggested prerequisite: CIS 503 and CIS 505. (3 credits)
- CIS 508 Technical Communication: This course will focus on the skills necessary to communicate technical information effectively and to work effectively in groups. Guidelines for content and effective formatting and pitfalls to avoid will be discussed for various types of communication (ad hoc communications, technical writing, and formal presentations). This course will strive to improve the people skills of technical professionals through the study of team behavior, personality, and cultural influences. These skills will be reinforced through individual and group work. (3 credits)
- CIS 511 Game Design 1: This course focuses on developing projects with Flash animation tools. Topics will include traditional cel animation implemented on a timeline, motion tweening, shape tweening, embedded film clips, action scripting, sprite construction, and wire-frame and three-dimensional rendering. Both freestanding Flash film clips and interactions of Flash film clips with Windows executables will be developed. (3 credits)
- CIS 512 Game Design 2: This course focuses on the design of computer game interfaces. Some areas of concentration will include direct manipulation games (such as drag-and-drop picture puzzles), elements of traditional card games such as shuffling, dealing and manipulating hands, team board games such as checkers or Reversi, action games (“Super Pong”), and a programmable autonomous game (robot simulation). Code scaffolds for the various games will be developed in class, and students will be encouraged to enhance, modify and extend some of the games, with particular attention paid to the visible interface. Programming will be demonstrated largely with Visual Studio.NET compliant code. Some exposure to other animation systems may be available. Students may complete projects in any language they desire if they are able to demonstrate a source code version on a laptop computer or a college computer. (3 credits)
- CIS 513 Bioinformatics 1: Recent advances in fields such as molecular biology have brought about an enormous mass of data beyond which can be analyzed by traditional or manual methods. Fortunately, we have also seen profound advances in the area of computational power (i.e. processing speed and storage). In this course we will examine computational problems in molecular biology and methods for solving these problems using various machine learning techniques. Topics from the area of computer science will include computationally tractable and intractable problems, artificial neural networks, decision trees, Bayesian belief networks and hidden Markov models. Topics from the area of molecular biology will include DNA fragment assembly, pair-wise and multiple sequence alignment, motif recognition, phylogenetic tree construction, protein structure prediction, and existing software packages such as FASTA, BLAST, PSI-BLAST, and PHD. (3 credits)
- CIS 514 Bioinformatics 2: This course serves as a sequel to Bioinformatics 1, with an emphasis on bioinformatics theories and applied artificial intelligence. Students will develop and implement a machine learning model targeted at predicting protein secondary structure from amino acid sequence data. The class will review and discuss current literature in the field of machine learning, bioinformatics and phylogenetics. Prerequisite: CIS 513. (3 credits)
- CIS 515 Internet Programming 1: The focus of this course is on client-side programming using HTML and JavaScript, dynamic HTML, style sheets, design standard for web pages, server-side programming using either PHP or Perl, and AJAX. A significant programming project will be assigned. (3 credits)
- CIS 516 Internet Programming 2: The focus of this course is on server-side programming using Java. After a quick introduction to Java, we will study JDBC, servlets, JSP, JSTL, and struts. A significant programming project will be assigned. (3 credits)
- CIS 517 Embedded Systems 1: Hardware and software design of microprocessor-based systems. A study of the basic concepts and operations of on-chip components as related to digital system functionality. Programming is on the assembler level. Laboratory exercises and a group design project are required. Prerequisite: assembly language programming equivalent to CIS 332 or permission of the instructor. (3 credits)
- CIS 518 Embedded Systems 2: This course is a continuation of CIS 517 and builds on the knowledge of the on-chip components learning to increase the functionality of the processor by interfacing with external devices. Programming is in both C and assembly language. Prerequisite: CIS 517. (3 credits)
- CIS 520 Introduction to Database: This is an introduction to database management systems for MBA students. There will be a strong emphasis on the design and development of relational database systems using realistic business models. There will be a special focus on developing problem-solving skills. The class will build querying skills using SQL. Students will learn how to use state-of-the-art database management systems programs. Other topics will include database administration and data security issues. There is no prerequisite for this class. This course cannot be applied to the CIS Master’s degree. (3 credits)
- CIS 521 Introduction to Internet Development: This is an introduction to Internet development for MBA students. The major emphasis will be on building websites for businesses and non-profit organizations using state-of-the-art development tools. There will be an emphasis on the principles of good design, and a thorough coverage to accessibility issues. In addition, the class will learn how to incorporate JavaScript for simple client-side programs, including form validation. The class will also learn how to use and write simple server-side programs to help develop data-driven websites and to record client information in databases. There is no prerequisite for this course, but some knowledge of databases would be helpful. This course cannot be applied to the CIS Master’s degree. (3 credits)
- CIS 522 Object-Oriented Programming: This is a fundamental introduction to the concept of object-orientation and the universal characteristics of all computer programs. Topics will include statements in sequences, decision structures, iteration structures, functions, and decomposition. The first portion of the course will be taught with Alice, a highly visual system that requires a minimum of traditional programming syntax. Java, a contemporary object-oriented language in wide use will be introduced later in the course. This course cannot be applied to the CIS Master’s degree. (3 credits)
- CIS 530 Advanced Database: This class will expand on knowledge of SQL and teach students how to develop Oracle procedures and functions using PL/SQL. It will be appropriate for students seeking PL/SQL knowledge to solve simple business questions, or do maintenance on systems involving PL/SQL procedures. The course topics will include: basic syntax, variables and data types, cursors, creating procedures/functions, creating triggers, debugging, exception handling, dynamic SQL, intersession communication, external procedures, object types, and web application development. In addition, the class will discuss XML, including validation using schema and DTD, and constructing xslt files to convert XML files into HTML. (3 credits)
- CIS 531 Java Frameworks: Topics will include how to create a Hibernate project, mappings, POJOs, queries using HQL, updates using HQL, queries using the Criteria API, how to create a Spring project, DispatcherServlets, ControllerServlets, models and views, the spring tag library, validation, properties files, database persistence, and the form tag library. We will also see how Hibernate can be integrated with Spring, as our database persistence examples will be done using Hibernate. (3 credits)
- CIS 532 AJAX: The class will start with a review of JavaScript, CSS, XML, and dynamic HTML. The class will then cover the basics of AJAX, and the use of AJAX with XML, CSS, and dynamic HTML. We will look at existing AJAX libraries and learn how to make our own. We will also learn AJAX DWR. (3 credits)
- CIS 598 Graduate Independent Study (3 credits)
- CIS 999 Comprehensive Exam
|  Insert a content module here |