Graduate Program

Graduate Catalog Description

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.

Admission Requirements

  • A baccalaureate degree in computer science or a baccalaureate degree in any other field and completion of one to three preparatory courses from among MATH263, COSC280, COSC501 as determined by the graduate program director.
  • An undergraduate grade point average of 3.00 for full admission, 2.5 for conditional admission, or 2.5 for provisional admission are required. All GPA calculations for admission are based upon the last 60 credits of undergraduate and post baccalaureate study. For international students, a TOEFL score of 550 for full admission and 524 for conditional admission is required.

Degree Requirements

  • Satisfactory completion of any assigned preparatory courses. (This only applies to those with no undergraduate degree in computer science.)   
  • Satisfactory completion of the requirements for the MS in Computer Science, or MS in Computer Science with the Software Engineering /Computer Security/E-Commerce Track. At least 24 credits of degree work must be at 600-800 levels.
  • Earn a grade of B or better in all required core courses listed in group A. Courses may be repeated once to satisfy this requirement.

MS 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.

MS in Computer Science: Software Engineering Track

(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.

MS in Computer Science: Computer Security Track

(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.   

MS 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) 

 Group C .Elective Courses 

(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.

Transfer Courses

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.

 Graduate Courses

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 605      HUMAN FACTORS AND HUMAN-COMPUTER INTERACTION (3)  Design of information systems interfaces.  Discussion of how information systems components and work environments can be constructed to make people more effective, productive, and satisfied with their work life.  Output and input design, arrangement of displays and controls, case studies in human factors.  Prerequisite:  TU Graduate standing or consents of instructor.

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 615      COMPILER DESIGN II (3)   Project-oriented course applying the theory to design a full compiler for a subset of a high-level language.  Parsing techniques, symbol table handling, intermediate code generation, run-time memory management, error handling and code optimization techniques.  Prerequisites:  COSC 600 and COSC 415 (553) or equivalent.

 COSC 617      ADVANCED WEB DEVELOPMENT (3)    Addresses technologies involved with distributed computing on the world-wide web (WWW). Topics to be discussed include review of TCP/IP protocols, HTML/Javascript, Java and Java applets, server-side Java, database connectivity, and security issues.  Prerequisites: COSC 457/578 and COSC 600.

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)   Reading and study in selected topics in the field of computer science. Emphasis is on an increased knowledge of computer science.  A project or paper is required.  Prerequisite:  COSC 600 or equivalent and consent of instructor.

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 686      Computer Graphics (3)   A presentation of the basic concepts in the field of computer and/or displayed graphics. The students will get an understanding of the basic mathematical and physical principles behind computer graphics and will learn a concrete programming package for computer graphics. Topics include animation, user interface, affine geometry and 3-D transformations, lighting and shading, texture mapping, rendering algorithms, ray tracing, and modeling. Prerequisite: COSC501

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.   

COSC 732      Wireless Networks and Mobile Communications  (3)  Principles of wireless networks and mobile communications. Wireless transmission, media access technologies, cellular networks, satellite networks, wireless LANs, wireless ATM, mobile IP, mobility and TCP, and the wireless application protocol (WAP).

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.


 

 

LatestNews | Admission | Programs Offered | Graduate Catalog Description | Assistantships
Graduate Projects/Thesis/Continuum
| Special Permits | ISSO Information | Forms