Course Descriptions
COMP
620
-
ANALYSIS OF ALGORITHMS
This course covers various algorithm design paradigms, mathematical analysis of algorithms, empirical analysis of algorithms and NP-completeness.
COMP
630
-
ISSUES IN DATABASE MANAGEMENT
This course focuses on the fundamental design considerations in designing a database. Specific topics include performance analysis of design alternatives, system configuration and the administration of a popular database system. The course also offers an in-depth analysis of the algorithms and machine organizations of database systems.
COMP
645
-
TOPICS IN SOFTWARE DEVELOPMENT
This course surveys current practices in software development and software design, especially in the area of object-oriented design. The course will examine and contrast current and leading edge methodologies and practices, including agile, extreme programming, test-driven design, patterns, aspect-oriented programming, model-driven architecture, Unified Modeling Language, and integrated development environments.
COMP
650
-
SYSTEM ARCHITECTURE AND ENGINEERING
This course covers topics in software systems engineering. Its scope is the design of the overall architecture for software systems with emphasis on distributed architectures. The issues in an architecture centered software development cycle and project management are addressed.
COMP
655
-
OPERATING/DISTRIBUTED SYSTEMS
This course covers the concepts and design of distributed computing systems and distributed application programming. Topics include: the basic concepts of distributed systems (e.g., transparency, heterogeneity, network process communication), CORBA and related OMG technologies, and front-end development tools.
COMP
660
-
COMM STRATEGIES FOR TECH PROFESSIONALS
This course focuses on the problems, principles and techniques of communicating technical and scientific information. Types of communication addressed include: proposals, reports and manuals. The course uses a case-study approach to give students both the theoretical foundations and hands-on practice they need to work effectively in heterogeneous corporate groups.
COMP
665
-
PROJECT MGMT OF INFORMATION SYSTEMS
This course examines various issues related to the management of information systems. Topics include: strategic planning, organizing the technology resources, means of prioritizing and selecting information technology, staffing, personnel management, and assessment.
COMP
670
-
APPLICATION OF ARTIFICIAL INTELLIGENCE
This course focuses on the use of artificial intelligence tools and techniques in industry. Topics include cognitive psychology topics, foundation material (e.g., search algorithms, knowledge representation and AI languages) and tools (e.g., expert systems, natural language interfaces and neural networks).
COMP
671
-
VERIFICATION AND TESTING
This course focuses on the issues of delivering high quality software, especially in large complex systems. Topics covered include testing strategies (black box, white box, regression, etc.), unit testing, system integration, system verification and support tools. It also will reinforce the need for requirements that are testable and traceable from the early design stages.
COMP
672
-
HUMAN FACTORS
This course provides a broad overview of human-computer interaction (HCI) as a sub-area of computer science and explores user-centered design approaches in information systems. Topics include user interface and software design strategies, user experience levels, interaction styles, usability engineering and assessment models.
COMP
674
-
PARALLEL/HIGH PERFORMANCE COMPUTING
This course focuses on the design, analysis and performance evaluation of parallel algorithms on different computer architectures. The course will cover a variety of parallel programming models and portable software libraries. It will familiarize students with shared-memory and data parallel models. Special emphasis will be given to distributed memory parallel programming in particular to message passing over a collection of networked workstations. Models and techniques for programming vector-type supercomputers will also be covered.
COMP
676
-
COMPUTER SECURITY
This course covers the fundamentals of security in the networked environment. Included are coverage of risks and vulnerabilities, threat modeling and policy formation, controls and protection methods, encryption and authentication technologies, personnel and physical security issues, as well as ethical and legal issues.
COMP
680
-
ST:GRADUATE COMPUTER SCIENCE
A variable content course in an advanced topic in the field of computer science in which students may pursue current topics or subjects not found in the regular curriculum. A complete description will be published online in the Course Schedule for the trimester the course is offered. This course counts as an elective in the graduate program.
COMP
691
-
CAPSTONE PROJECT
This course challenges the student to complete a major project that integrates ideas from the other graduate courses. Projects may take many forms and may either include or exclude programming effort. The student will submit a prospectus to the Program Chair crystallizing the topic before entering the course. The final outcome is an introduction to the topic and a final statement of the student?s plan and objectives.
COMP
699
-
IND STUDY IN GRADUATE COMPUTER SCIENCE
Independent studies courses allow students in good academic standing to pursue learning in areas not covered by the regular curriculum or to extend study in areas presently taught. Study is under faculty supervision and graded on Pass/No Credit basis. For international students, curricular practiced training may be used as an independent study with approval of program chair. (See the "Independent Studies" section of the Academic Bulletin for more details.)