|
|
Department of Computer & Information Sciences Graduate Program |
This program provides a comprehensive approach to advanced study in computer science. It also prepares professionally responsible individuals to be capable of holding a variety of scientific and technical positions in the area of computing applications.
Such jobs are found in research and development departments; in federal, state and local government agencies; in computer software development companies; in computer security companies; in Internet, e-commerce and Web development companies; and in companies involved in development of hardware and software products for applications in aerospace, biological, chemical, medical, and genetic research. Graduates will also be prepared for further work at the doctoral level.
The main objectives of the program are: 1) to give students the opportunity to study and attain knowledge in current computer science specialties; 2) to develop student ability to apply computer science problem solving methods and tools to realistic research and industry-related problems; 3) to equip students with the tools and knowledge necessary for contributing to the needs of a high-technology society through preparation for continued learning; 4) to prepare students for advanced graduate work in computer science.
(33 credits)
Group A. Required courses (15-18 credits)
COSC519 Operating Systems Principles (3)
COSC578 Database Management Systems I (3)
COSC600 Advanced Data Structures and Algorithm Analysis (3)
COSC650 Computer Networks (3)
COSC880 Graduate Project/Internship (3)
Or
AIT880 Graduate Project (3)
Or
COSC897 Computer Science Thesis (6)
Group B. Elective courses (15-18 credits)
Any 500/600/700 level COSC courses that are not taken in “Group A” will be counted as electives. Note that students may NOT count
more than 9 credits of 500-level courses toward their graduation requirements.
(33 credits)
Group A. Required courses (21-24 credits)
COSC519 Operating Systems Principles (3)
COSC600 Advanced Data Structures and Algorithm Analysis (3)
COSC609 Software Project Management (3)
COSC612 Software Engineering I (3)
COSC614 Software Engineering II (3)
COSC716 Object-Oriented Methodology (3)
COSC880 Graduate Project/Internship (3)
Or
AIT880 Graduate Project (3)
Or
COSC897 Computer Science Thesis (6)
Group B. Elective Courses (9-12 credits)
Any 500/600/700 level COSC courses that are not taken in “Group A” will be counted as electives. Note that students may NOT count more than 9 credits of 500-level courses toward their graduation requirements.
(33 credits)
Group A. Core courses (15-18 credits)
Same as M.S in Computer Science
Group B. Required Courses (15 credits)
COSC645 Applied Cryptography (3)
COSC647 Application Software Security (3)
COSC683 Security and Internet Algorithms (3)
COSC734 Network Security (3)
COSC745 Advanced Topics in Computer Security (3)
Group C. Elective Courses (3 credits)
Any 600/700 level COSC courses that are not taken in “Group A” will be counted as electives.
Project/Thesis
Requirement. COSC880/Internship/AIT880
project or COSC897 thesis must be in the Computer Security area.
(33 credits)
M.S. in Computer Science: E-Commerce Track (33 credits)
Group A .Core Courses
(15-18 credits)
Same as M.S. in Computer Science
Group B .Required Courses (15 credits)
COSC641 Fundamentals of E-Commerce (3)
COSC612 Software Engineering I (3)
COSC617 Advanced Web Development (3)
COSC643 Internet Supply Chain Management (3)
COSC741 E-Commerce Case Studies (3)
(3 credits)
Any 600/700 level COSC courses that are not taken in Group A or
Group B will be counted as electives.
Project/Thesis Requirement. COSC880/Internship/AIT880 project or
COSC897 thesis must be in the E-Commerce area.
A student can transfer up to two graduate level courses from a recognized institution with the approval from the graduate program director.
Prerequisite Courses
MATH263 Discrete Mathematics (4)
COSC280 Assembly language and Computer Architecture(6)
COSC501 Fundamentals of Data Structures and Algorithms Analysis (6)
Both MATH263 and COSC280 can be taken together in the same semester; COSC 501 must be taken after successful completion of COSC280. These prerequisites are not required for students who have a baccalaureate degree in computer science. The MATH263 course is not required for students who have an engineering or mathematics baccalaureate degree. Students with no engineering, mathematics or computer science degree backgrounds must take all three prerequisites.
A grade of “B” or better is required for the successful completion of any prerequisite course. Students may repeat prerequisite courses no more than two times to be eligible to take graduate level courses.
COMPUTER SCIENCE (COSC)
Prerequisite Courses
MATH 263 DISCRETE MATHEMATICS (4) This course covers basic mathematical concepts utilized in computer science: proof techniques, prepositional and predicate logic, elements of combinatorics, discrete probability, basic number theory, sequences and series, elements of the theory of computation. Prerequisite: permit required from computer science; restricted to COSC graduate students.
COSC 280 ASSEMBLY
LANGUAGE AND COMPUTER ARCHITECTURE (6) This course is designed for graduate
students to learn programming and computer architecture. Software topics include: structured problem
solving, algorithm development, basic data structures and their
implementations, sort and search techniques,
and introduction to software development. Hardware topics include: digital
logic and digital systems, combinatorial and sequential logic, computer
arithmetic, the central processing unit, assembly level machine organization,
memory system organization, interfacing and communications. Co-requisite:
MATH263.
COSC 501 FUNDAMENTALS OF DATA STRUCTURES AND ALGORITHM ANALYSIS (6) This course is designed for graduate students to provide them with the necessary background in data structures and algorithm analysis. Topics include: objects and abstract data types, dynamic variables and pointers, recursion, sort and search algorithms, linear and non-linear structures such as linked lists, trees and graphs, hashing, algorithms time complexity analysis, object-oriented design and programming. Co-requisite: COSC 280.
COSC 519 OPERATING SYSTEMS PRINCIPLES (3) An overview of the principles of operating systems. Topics include multiple processes, process synchronization and intercommunication, resource allocation, memory management, processor scheduling, and I/O device management. Co-requisite: COSC 280.
COSC 553 COMPILER DESIGN I (3) Principles, techniques, algorithms and structures involved in the design and construction of compilers. Topics include lexical analysis, formal grammars, syntactic and semantic analysis, error recovery, code generation and optimization. Co-requisite: COSC 280.
COSC 571 COMPUTER PERFORMANCE EVALUATION (3) Computer system performance evaluation methodologies, techniques and tools including different types of monitors as a measurement, workload characterization, important performance indices, analytic modeling with particular emphasis on the application of the operational queuing network modeling techniques to performance analysis, and technical aspects of computer selection.
Co-requisites: MATH 363 and Pre- or Co-requisite: COSC 439 / COSC 519.
COSC 578 DATABASE MANAGEMENT SYSTEMS I (3) Build theoretical foundation for database management systems, study different database models, relational algebra, relational calculus, SQL, ER, EER models, structured query formulations, database design, analysis and modeling, functional dependencies and normalization, and overview of next generation database management systems. C0-requisite: COSC 280.
COSC 581 ARTIFICIAL INTELLIGENCE (3) A survey of the problems and techniques involved in producing or modeling intelligence in computers. Particular emphasis will be placed on representation of knowledge and basic paradigms of problem solving. Topics include game playing, theorem proving, natural languages and learning systems. Co-requisite: COSC 280.
COSC 583 DESIGN AND ANALYSIS OF ALGORITHMS (3) Algorithm design methods such as heuristics, backtrack programming, branch and bound, recursion, simulation, divide-and-conquer, balancing and dynamic programming. Efficiency of algorithms, NP-complete problems. Co-requisite: MATH 263 and COSC280.
COSC 600 ADVANCED DATA STRUCTURES AND ALGORITHM ANALYSIS (3) Data abstraction, linear data structures, file organization and access methods, memory management, advanced internal and external sort and search algorithms, and the trade-offs involved in the use of different data organization. Prerequisite: Computer Science Graduate Standing or COSC 501.
COSC 602 COMPUTER VISION AND IMAGE PROCESSING (3) The study of image acquisition, representation and pattern recognition, edge detection for computer vision. Topics to be covered include digital image formats, image storage and display, bi-level image processing, measurable properties of objects, gray-level image processing image classification and object recognition, etc. Prerequisites: COSC 501.
COSC 609 SOFTWARE PROJECT MANAGEMENT (3) Factors necessary for the successful management of information systems development or enhancement projects. Both technical and behavioral aspects of project management are discussed. Topics include project management concepts, needs identification, the software project manager, software teams, software project organizations, project communications, software project planning, scheduling, control, and associated costs. Project management software tools will be an integral part of the course. Prerequisite: COSC 501 or equivalent or consent of the instructor.
COSC 611 COMPUTER SIMULATION (3) Continuous and discrete event systems simulation application, implementation, role of modeling and languages, experimental design, data collection, verification, validation, object-oriented simulation, random variable generation, Monte Carlo methods for performance evaluation, sensitivity analysis and optimization. Prerequisite: COSC 501.
COSC 612 SOFTWARE ENGINEERING I (3) Formal software engineering principles and practices and their application to the development of computer based systems. Prerequisite: COSC600.
COSC 614 SOFTWARE ENGINEERING II (3) Formal process leading to requirements, design and test specifications, quantitative measures of useful software parameters, review of software systems components and complete design and test process. Prerequisite: COSC 612.
COSC 638 ADVANCED COMPUTER ARCHITECTURES (3) Design principles for multiprocessor and RISC machines, comparison between RISC and CISC architectures, multiprocessor interconnection networks, memory organizations, parallel algorithms for sorting, image processing, FFT and various applications, data flow computers and VLST computations. Prerequisite: COSC 280.
COSC 639 OPERATING SYSTEMS II (3) Implementation of operating systems for on-line multi-programming environment. Primary and secondary storage management techniques, file security, data integrity and a detailed study of operating systems such as UNIX. Prerequisite: COSC 439 (519) or equivalent.
COSC 641 FUNDAMENTALS OF E- COMMERCE (3) A broad overview and discussion of the technologies relevant to electronic commerce, including communication networks and the Internet, Web programming languages, computer security, electronic payments, multimedia databases and distributed transaction processing, and legal and ethical issues. Prerequisite: COSC 600 or equivalent.
COSC643 INTERNET SUPPLY CHAIN MANAGEMENT (3) Covers e-business strategies, web-based system architecture, collaboration techniques among buyers and sellers, business-to-business system requirements analysis in the context of supply chain management. The focus will be on the technical aspect of supply chain management. Prerequisite: COSC 600.
COSC645 applied CrYptography (3) A broad
introduction to cryptography and its application to computer-network security
services and mechanisms, such as confidentiality, digital signature, access
control, and electronic payments. Analysis of software implementations of
cryptographic algorithms and network-security protocols. Prerequisite: COSC
600.
COSC 647 Application Software Securities (3) A Study of security concepts in developing software applications ,discuss design principles for secure software development, and some of the security issues in current programming and scripting languages, database systems and web servers. Prerequisite: COSC 578 & COSC 600.
COSC 650 COMPUTER NETWORKS (3) Computer networking concepts and technologies. Architectures and protocols, LANs, internetworking, and applications. Prerequisite: COSC 501.
COSC 655 ADVANCED TOPICS IN PROGRAMMING LANGUAGES (3) Concepts and structures in design and implementation of widely used programming languages. Characteristics of different forms of programming languages such as functional, object-oriented, concurrent and logic programming. Prerequisite: COSC 501.
COSC 657 DATABASE MANAGEMENT SYSTEMS II (3) Query processing, transaction processing, concurrency control, recovery techniques, database security, enhanced data models, object-oriented databases, object-relational databases, object data models and CORBA, middle-ware and data integrators, distributed databases and client-server architectures, multimedia databases, and datawarehousing concepts and architectures. Prerequisite: COSC 457/ (578) or equivalent.
COSC 661 ARTIFICIAL INTELLIGENCE PROGRAMMING AND ADAPTIVE SYSTEMS (3) Major differences between AI and conventional programming, symbolic programming techniques and adaptive systems, PROLOG and LISP. Prerequisite: COSC 461 (581).
COSC 665 EXPERT SYSTEM DESIGN AND DEVELOPMENT (3) Approaches and methods employed in expert system design and development analysis of selected expert systems, prototyping and presentation. Prerequisite: COSC 581 or equivalent.
COSC 670-679 SPECIAL TOPICS IN COMPUTER SCIENCE
(3)
COSC 680 SEMINAR IN COMPUTER SCIENCE (1) Presentation and discussion of research trends and advanced topics in computer science. Students may enroll in this course up to three times for a total of 3 credit hours. Prerequisite: Consent of instructor.
COSC 682 ADVANCED TOPICS IN AI: MACHINE LEARNING (3) Learning approaches, methods, and designs, selected learning systems and survey of current literature. Prerequisite: COSC 661.
COSC 683 SECURITY AND INTERNET ALGORITHMS (3) Covers
algorithms utilized in real-life internet applications or relevant to computer
and network security such as network routing ,web search engine algorithms,
data compression algorithms, caching , on-line algorithms,
number-theoretical algorithms relevant in cryptography,
error-correcting codes, zero-knowledge protocols, secret-sharing protocols,
one-way functions, pseudo-random generators.
Prerequisite: COSC 600.
COSC 695 INDEPENDENT STUDY IN COMPUTER SCIENCE (3) Independent study in selected areas of Computer Science. Prerequisite: Nine hours at the graduate or upper division level.To download Proposal for COSC 695 ClickHere.
COSC 714 FUZZY LOGIC IN CONTROL APPLICATIONS (3) Control theory and dynamic systems are first studied, followed by fuzzy sets, fuzzy membership functions, fuzzy rules, fuzzy logic and use of neural nets to generate fuzzy rules. Two control applications are studied. Prerequisite: COSC 600 or equivalent.
COSC 715 ROBOTICS (3) Physical mechanisms or robotics, issues of modeling, planning, control and programming. Principles underlying the design and analysis or robotic systems. Prerequisite: COSC 600 or equivalent.
COSC 716 OBJECT-ORIENTED METHODOLOGY (3) Object-oriented approach to modeling, problem solving, requirement analysis, system design, system implementation, database design, system engineering and software engineering. Prerequisite: COSC 600 or equivalent.
COSC 720 COMPUTATIONAL COMPLEXITY (3) Computational complexity, time and storage cost of polynomial, Non-polynomial (NP) and NP complete problems, randomize computation, cryptography and approximability. Prerequisite: COSC 483/583.
COSC 725 PROCESS CONTROL AND REAL-TIME SYSTEMS (3) Analog to digital and digital to analog conversions, signal conditioning and processing, direct digital control of processes, adaptive control of non-linear systems, real-time programming considerations, response time, survival time, recovery time, and throughput, executive system calls, memory related system calls, task-synchronization system calls, multiprocessing, interrupts, task, scheduling and task concurrency. Prerequisite: Graduate Standing or a course in computer architecture.
COSC 730 NETWORK MANAGEMENT SYSTEMS (3) The study of various network management configurations, architectures, protocols, design complexities, their software implementation, and SNMP applications. Prerequisite: COSC 650 or equivalent.
Prerequisite: COSC 650 or equivalent.
COSC 734 NETWORK SECURITY (3) Covers the principles and practice of network security that includes authentication services, e-mail security, IP security, Web security, security systems and threats, wireless security and security applications.
Prerequisite: COSC 650 and COSC 645.
COSC 740 PARALLEL COMPUTING (3) Parallel computing and its applications including parallel computer models, parallel matrix algorithms, optimization algorithms, complexity of parallel algorithms, parallel programming environment, application of parallel algorithms in sorting, searching, matrix operations, system of linear equations and optimization. Prerequisite: COSC 600 or equivalent and a course in linear algebra.
COSC 741 E-COMMERCE CASE STUDIES (3) The key elements of E-commerce such as catalog, marketing, enterprise resource planning (ERP), web-based database, network security, Internet supply chain, XML. 2 or 3 E-business models will be analyzed and discussed in class. Prerequisite: COSC 643.
COSC 745 ADVANCED TOPICS IN COMPUTER SECURITY (3) An in-depth study of advanced topics in computer security. Topics will vary according to current trends and research directions in the field. Some possible topics include: secure file and mail systems, operating system vulnerabilities, firewall and intrusion detection, denial-of-service, and security in mobile environments. Prerequisite: COSC734.
COSC 750 NEURAL NETWORKS (3) Discussion of neural networks, architectures, algorithms and applications, including Hebbian, Hoffield, competitive learning, ART and Back-propagation neural nets. Prerequisite: COSC 600 or equivalent.
COSC 757 DATA MINING (3) Study data mining techniques, data mining tools, data visualization, and parallel data mining models. Focus on student projects with real world applications using current data mining tools. Prerequisite: COSC 578 or equivalent.
COSC 880 GRADUATE PROJECT/INTERNSHIP IN COMPUTER SCIENCE (3) Study an advanced computer-related topic, or undertake the analysis, design, and implementation of a real-world computer application. The application may be related to an industrial project sponsored by a company, or it may be of a mutual interest to a student and a supervising faculty member. Prerequisite: Completion of at least 18 graduate credit hours towards the MS degree in Computer Science. To download COSC880 proposal form Click here.
COSC 897 GRADUATE THESIS (6) An original investigation using an acceptable research method and design. Prerequisite: Completion of at least 21 graduate credit hours toward the MS degree in Computer Science.
COSC 885 PROJECT CONTINUUM (1) All the International students who have registered their project in the previous semester and did not complete it, they must register for this course to be eligible for F-1 status. They can only register this course for one semester. This course is not required for domestic students.
COSC 899 THESIS CONTINUUM (1) All the students who have not completed their thesis must register this course to continue their thesis work.