Computer Science Home | Graduate Course Description


Computer Science Graduate Courses

The number between parentheses indicates course credit hours.

CSCI 5011 Internet Technology I (3)
Prerequisite(s): Graduate Standing. This course is meant to be a comprehensive study of the design and implementation of web sites. The course is organized into three major segments: HTML programming, user interface design, and information architecture design. This course is designed to take the user from creating web pages to designing a large web site. Emphasis will be on the use of existing software applications that generate web-ready code. Other topics will include HTML, multi-media integration, and browser plug-ins. Laboratory use of software and team participation is an integral part of this course.

CSCI 5012 Internet Technology II (3)
Prerequisite(s): CSCI 5011. This course is intended to build upon a student's background in HTML web page and site design by addressing the skills such as advanced web page and site design, web site management, usability, accessibility, marketing principles, optimization for search engines, outsourcing, and emerging technologies.

CSCI 5100 Computer Architecture: Advanced Concepts (3)
Prerequisite(s): CSCI 4717 or 5717 or consent of the instructor. A detailed view of recent advances in computer architecture. Topics include: shortcomings of the classic Von Neumann model; language-directed architectures; object-oriented architectures; data-flow architectures; RISC architectures; parallel processing; basic classification schemes (SISD, SIMD, MISD, MIMD, etc. ); pipeline, vector, and array processing supercomputers; special-purpose architectures; associative memory and associative processors; microprogramming concepts; fault-tolerant computers; interrupts and I/O processing; computer systems performance measurement and evaluation. Laboratory use of the computer in designing, coding, debugging, and executing programs is an integral part of the course. (variable)

CSCI 5150 Topics in Distributed Systems (3)
Prerequisite(s): CSCI 4727 or 5727 or consent of the instructor. Also recommend: programming experience in C/C++, and a prior course in networking and data communications. Issues in the design and implementation of distributed systems. Topics include the importance of distributed systems; salient features of distributed systems architectures; characteristics of distributed computations; mechanisms for activating computations, message-passing, synchronization, and scheduling in distributed systems; distributed file systems; distributed shared memory; cooperation and consensus; fault tolerance; and replicated data management. (fall, alternate years)

CSCI 5200 Software Systems Engineering (3)
Prerequisite(s): Admission to the computer science master's degree program. Permission of the instructor must be obtained for non-computer science graduate students. This course exposes students to the development of software systems at the very highest level. It introduces the system aspect of development and the related trade-offs required when software and hardware are developed together. An overview of software development life cycles is presented. The course exposes students to requirements analysis techniques to develop a system from those requirements. (fall)

CSCI 5210 Specification of Software Systems (3)
Prerequisite(s): CSCI 2210 and MATH 2710 or consent of instructor. Specification occurs at many levels in software engineering. High-level specifications often attempt to capture user requirements, while detailed functional specifications often describe implementation decisions. This course covers several different models of and languages for specification of software systems. The role of documents and standards is also covered. (variable)

CSCI 5220 Software Verification and Validation (3)
Prerequisite(s): CSCI 2210 and MATH 2710 or consent of the instructor. This course addresses the theory and practice of ensuring high-quality software products. Topics covered include quality assessment, proof of correctness, testing, and limitations of verification and validation methods. (spring, alternate years)

CSCI 5230 Software Project Management (3)
Prerequisite(s): Admission to the master's program. Co-requisite: CSCI 5200. This course deals with process considerations in software systems development. It provides advanced material in software project planning, monitoring and controlling mechanisms, leadership, and team building. (fall)

CSCI 5250 Database Design (3)
Prerequisite(s): An undergraduate database management course, or consent of the instructor. Database design serves as a unifying mechanism for the seemingly diverse fields of data semantics, database management software, and physical design. Different methods for expressing designs at appropriate levels of abstraction are covered. Evaluation criteria for design assessment are introduced and design methods are evaluated according to these criteria. This course attempts to integrate theoretical and practical aspects of database design. (spring, alternate years)

CSCI 5300 Principles and Applications of Software Design (3)
Prerequisite(s): CSCI 5200. Students should have a good working knowledge of programming-in-the-small. Experience in designing small systems is helpful. Design is a central activity of software development. This course covers several different methods and languages for expressing designs. Criteria for evaluating designs are introduced, and design methods are evaluated according to these criteria. The concepts of design verifiability and reusability are stressed. (spring)

CSCI 5360 Network and System Administration (3)
Prerequisite(s): CSCI 4417/5417. Selected intermediate-level topics in network and system administration. Topics include protocols and tools for network management; NAT, VPNs, and proxy servers; scripting techniques for automating system administration; performance tuning; LDAP administration; cluster administration; and miscellaneous standards and technologies. (spring, alternate years)

CSCI 5460 Network and Information Security (3)
Prerequisite(s): CSCI 4417/5417. A survey of concerns related to system security in a networked environment. Topics include threats to system security; common software vulnerabilities; tools for attaching system security; tools for defending system security, including cryptographic utilities; recovering from security episodes; and the ethics of incident response. (fall, alternate years)

CSCI 5520 Research Methods in Computer Science (1)
Prerequisite(s): Admission to the computer science master's program. An introduction to academic research, as conducted in the computer sciences. Topics include forces shaping CS research, types of research, quality in research, avenues for disseminating research, resources for locating published research, and expectations for theses and project reports. Students will be required to complete an application for [at least] one of the capstone sequences: i.e., one of software development projects to be offered in the next term; or a proposal for one of the thesis topics set by the department's faculty. (fall)

CSCI 5550 Directed Research 1 (3)
Prerequisite(s): CSCI 5500 and consent of advisory committee chair. In this course, the student, in consultation with the student's advisory committee chair, will conduct research on the problem suitable as a topic for a master's thesis. Successful completion of this course should prepare the student to begin writing a master's thesis. The student will be required to give an oral presentation of results obtained in this course to the graduate faculty. Course content and deliverables are defined by a written agreement signed by the student and the student's advisory committee chair. This agreement will be kept on file by the department with the student's graduate records. (every semester)

CSCI 5551 Directed Research 2 (3)
Prerequisite(s): CSCI 5550. The student, in consultation with the student's advisory committee chair, will continue the research undertaken in CSCI 5550 and begin writing of a thesis. An oral presentation to the graduate faculty is required. Content and deliverables are defined by a written paper. (every semester)

CSCI 5610 Formal Languages and Computational Complexity (3)
Prerequisite(s): MATH 2710, CSCI 2210 or consent of the instructor. Problem-solving is a fundamental aspect of computer science. This course teaches students how to reduce a computational problem to its simplest form and analyze the problem to determine its inherent computational complexity. Topics include formal languages and automata theory, Turing machines, computational complexity, and the theory of NP-completeness. (variable)

CSCI 5620 Analysis of Algorithms (3)
Prerequisite(s): Differential and integral calculus, discrete structures, data structures. This course covers basic techniques for analyzing the complexity of algorithms. It describes the design and analysis of a number of algorithms for solving important problems which arise often in applications of computer science, including sorting, selection, graph theory problems (e.g., shortest path, graph traversals), string matching, dynamic programming problems, NP-complete problems. (fall, alternate years)

CSCI 5710 E-Commerce Implementation (3)
Prerequisite(s): Admission to the computer science master's degree program. This course will give students the opportunity to become conversant in the major topics surrounding business-to-consumer (b2c) electronic commerce. Students will also gain experience implementing a large scale b2c Internet application. (fall, alternate years)

CSCI 5720 Enterprise and E-Business Integration (3)
Prerequisite(s): Admission to the computer science masters degree program. This course will give students the opportunity to become conversant in the major topics surrounding business-to-business (b2b) electronic commerce and enterprise application integration. Students will also gain experience implementing a b2b and enterprise application components. (spring, alternate years)

CSCI 5857 User Interface Programming (4)
Prerequisite(s): CSCI 1250 and 1260, or equivalent. The concepts and programming techniques used to create applications with modern user interfaces. The course will focus on current technology as it applies to a modern operating system and software development tools. The course will focus on the user interface rather than underlying applications. Course will not count toward graduate degree requirements in Computer Science. (variable)

CSCI 5900 Independent Study (1-9) (every semester)

CSCI 5910 Software Development Project I (3)
Prerequisite(s): Completion of CSCI 5520 and acceptance of Capstone Project Application by the graduate committee. Students who are conditionally admitted to the graduate program must remove all conditions before enrolling in this course. The Design Studio course sequence (CSCI 5910, CSCI 5920, CSCI 5930) provides an opportunity for students to demonstrate their ability to apply the knowledge and skills gained in other courses to synthesize a solution to a significant, realistic and ultimately practical problem. Students are expected to complete all three courses consecutively (spring, fall, spring). The planning phase of the project will be conducted in this course. A planning document describing the various subtasks that will be carried out, their deadlines, configuration management, testing and evaluation procedures will be produced. (spring)

CSCI 5920 Software Development Project II (3)
Prerequisite(s): CSCI 5300 with a grade of B- or better and completion of 5910 during the previous spring with a grade of B or better. The detailed design and implementation of the project begun in CSCI 5910 will take place during this course. This work will be accomplished by the project teams in collaboration with the users of the proposed system and with the instructor. The instructor will assume the role of the master designer in a master/apprentice relationship. (fall)

CSCI 5930 Software Development Project III (3)
Prerequisite(s): CSCI 5920. The evaluation and revision of the project which was implemented in CSCI 5920 will take place during this course (a ten-week summer session). This phase of the project and teaches students to be critical of their own work and to be realistic about their plans. The main purpose of this phase is to determine to what degree the original plans were realized and to discover the shortcomings of the production process and the end product. It also includes an analysis of possible improvements and some attempts to revise the product accordingly. The end result of this work is a document of the character of a master's thesis that describes an analysis of various project aspects rather than just system design. Each student shall take a final oral examination, in the spirit of a master's thesis defense, in which the student will be expected to articulate to a faculty jury what they have learned as part of the design studio project process. (spring)

CSCI 5960 Thesis in Computer and Information Sciences (3)
Prerequisite(s): CSCI 5551, completion of the pre-capstone courses for the student's concentration, and consent of student's advisory committee chair. A major research project is conducted and reported according to university and departmental thesis standards. (every semester)

CSCI 5989 Cooperative Education (1-3) (every semester)

CSCI 5990 Readings and Research (1-3)
Students who are not enrolled in other coursework but require the use of university facilities and/or faculty guidance for studies, research, or preparation of a prospectus MUST enroll for Readings and Research. Variable credits (1-3) of Readings and Research may also be used, as approved by student's advisory committee in conjunction with other coursework, to document such activities as development of research and scholarly skills that would not be appropriately covered by other types of independent study. Readings and Research credits do not count toward degree requirements. Grading of Readings and Research will be either satisfactory completion (S), satisfactory progress (SP), or unsatisfactory (U).

CSCI 5999 Cooperative Education (1-3) (every semester)

Courses Co-listed in Undergraduate Catalog

CSCI 5017 Introduction to Information Assurance (3)
Prerequisite(s): CSCI 1100; Corequisite(s): Senior or graduate standing. The course provides an introduction to information assurance for non-Computer Science majors, so that they understand security risks of personal computers and computing environments, understand the needs and mechanisms for preserving information assurance. The course includes both lecture and hands-on instruction.

CSCI 5027 Information Management (3)
Prerequisite(s): Permission of instructor. Provide an overview of DBMS concepts and topics appropriate to professionals who will be concerned with the management of DBMS servers and their use within a corporate setting.

CSCI 5057 Advanced Internet Technologies (3)
Prerequisite(s): Permission of instructor. This course is intended to give computer science professionals training in state-of-the-art Internet design tools by building upon their existing background as programmers. Topics will address advanced issues in design, optimization, and maintenance of web pages and web sites, the latest in server and client-side programming, and other emerging technologies.

CSCI 5067 Networking Essentials (3)
Prerequisite(s): Permission of instructor. This course is designed to provide students with general concepts of data communication and networking using popular conceptual models. It will also cover the system administration aspect of networking by focusing on the latest developments and the current operating systems.

CSCI 5097 Emerging Technologies (3)
Prerequisite(s): Permission of instructor. The course is designed to cover the most up-to-date topics in the computer science and technology field. Due to the ever-changing nature of technology, the topics covered in this class will change on semester bases in order to keep up with the current development.

CSCI 5127 Database Management Systems I (3)
Prerequisite(s): CSCI 2210 and 2230, or 2910. A study of the use and underlying principles of database management systems, and approaches for database design with an emphasis on the relational approach. Students will learn how to use good design techniques and implement methods for both small and large databases. Laboratory use of database software for designing, implementing, debugging, and maintaining database systems will be an integral part of this course.

CSCI 5157 Interactive Graphics (3)
Prerequisite(s): CSCI 2210 and MATH 2250 or permission of the instructor. Point plotting, vector generation, interactive techniques, two- and three-dimensional transformations, perspective depth, hidden line elimination, shading, colors, and mapping. Development and use of graphics software packages. Laboratory use of the computer will be an integral part of the course. (variable)

CSCI 5217 Ethical Issues in Computing (3)
Prerequisite(s): CSCI 3250. A study of the ethical issues facing computer users and computer professionals, including an examination of the techniques for the analysis and resolution of these issues consistent with standards of the computing profession. (spring)

CSCI 5317 Law and the Internet (3)
Prerequisite(s): Completion of 60 credits or approval of the instructor. A multi-disciplinary overview of the relationship between the Internet and the laws of privacy, right to accurate information, access to information, first amendment, patents, trade secrets, trademarks and unfair business practices, jurisdiction, e-commerce, telecommunication, and antitrust.

CSCI 5417 Introduction to System Administration (3)
Prerequisite(s): CSCI 3400 and 2235. A survey of concerns related to management and design of local area networks. Topics include the practice of system administration; overview of network operating systems; best practices for system administration; fundamentals of Unix and Windows system administration; routing; network design; and remote network access. The course will provide hands-on experience with setting up and administering Unix and Windows network operating systems. (most semesters)

CSCI 5517 Essentials of Multimedia (3)
Prerequisite(s): Senior standing or permission of instructor. A study of the basic elements of multimedia including text, graphic art, sound, animation, and video. This course will cover the methods of creating each of the elements of multimedia, and how to combine them into meaningful units for maximum effect. The instruction will be interactive and project-oriented. Teamwork and good design will be emphasized.

CSCI 5527 Computer-Based Authoring Systems (3)
Prerequisite(s): Senior standing or permission of instructor. A survey of methods in computer-based authoring systems. This course will cover the design, implementation, and evaluation of computer-based training modules using one or more authoring systems. Emphasis will be on the use of hypermedia and multimedia tools, analysis of instructional goals and their evaluation, and using the World Wide Web for delivery of instruction. Laboratory experiences and group projects will be integral parts of this course.

CSCI 5717 Computer Architecture (3)
Prerequisite(s): CSCI 2210, CSCI 2160, or consent of the instructor. Does not apply toward credit for computer science M. S. degree. Computer systems are viewed as consisting of a series of layers or levels, one on top of the other. Topics of computer architecture are presented, including microprogramming, stack computers, parallel computers, pipeline processing, multiprocessors, virtual storage, cache storage, addressing schemes, I/O and interrupt structure. (spring)

CSCI 5727 Operating Systems (3)
Prerequisite(s): CSCI 2210, CSCI 2160. Does not apply toward credit for computer science M. S. degree. The study of computer operating systems, the primary resource managers of computer hardware. The main features provided by operating systems, including process management, storage management, processor management, and auxiliary storage management are studied in detail. Related topics of networking and security are introduced. Case studies of representative commercial operating systems highlight the main features common to all operating systems. Laboratory use of the computer is an integral part of the course. (spring)

CSCI 5957 Special Topics in Computer Science (1-6)
Prerequisite(s): Permission of the instructor. Special topics not covered in other courses. May be repeated for credit with departmental approval if the topics are significantly different. (variable)

Close Window