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:
- to give students the opportunity to study
and attain knowledge in current computer science
specialties;
- to develop student ability to apply
computer science problem solving methods and
tools to realistic research and industry-related
problems;
- to equip students with the tools and knowledge
necessary for contributing to the needs of
a high-technology society through preparation
for continued learning;
- 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.
(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)
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.
|