||Computer Programming and Data Structures
|Problem solving methods, object-oriented programming and algorithm development, data
abstraction and techniques for representing and processing information. This is an
accelerated course that covers programming fundamentals through data structure designs.
|This course covers important algorithms used in data processing including mathematical,
geometric, and graph algorithms. Prerequisite: CSC 505 or equivalent. 3 credits.
|An exposition of formal languages and automata theory and its practical application
to algorithms for recognizers, analyzers and generators. Prerequisites: CSC 505 or
equivalent. Scheduled every third semester. 3 credits.
||Advanced Operating Systems
|Advanced concepts in operating systems design and implementation. Topics include distributed
and multiprocessor system architectures, distributed and multiprocessor process management,
remote procedure calls, threads, distributed synchronization and deadlock detection,
agreement protocols, distributed file systems, distributed shared memory, security
and cryptography. Prerequisite: CSC 225 or equivalent. 3 credits.
||Advanced Software Engineering
|This course covers advanced topics of software engineering. Topics include the techniques,
tools, quality metrics and challenges of the various phases of the software life-cycle.
A team oriented term project is included. Prerequisite: CSC 505 or equivalent. 3 credits.
|A study of theory, techniques and methodologies for developing and maintaining relational
databases. A detailed analysis of performance issues of access methods in very large
databases. Computer projects are required. Prerequisite: CSC 505 or equivalent. 3
|Advanced image processing techniques, the mathematical rationale behind each technique
with major applications and limitations. Exposure to various processing strategies
for accessing and measuring information of image data. Computer lab work is required.
Prerequisite: CSC 212 and MAT 372 or equivalents. 3 credits.
|An in-depth study of methodology and practice utilized in today's advanced web sites.
A comprehensive analysis of current trends in software and programming techniques
developed especially for Internet applications. Concentration on programming languages
that include tools for high level of web site interaction. Managing the full software
cycle from web site visual design to server-client programming. Prerequisite: CSC
505 or equivalent. 3 credits.
||Advanced Database Systems
|This course covers advanced topics of database management systems design and applications.
Topics include query evaluation and optimization, transaction management and concurrency
control, database tuning, security and authorization, parallel and distributed databases,
object-database, data warehousing and decision support, data mining, information retrieval
and XML data, and internet applications. Programming work required. Prerequisite:
CSC 540 or equivalent. 3 credits.
||Fundamentals of Mobile Application Development
|An introduction to current practices and tools for the development of mobile applications.
Topics include mobile user interface design, multithreading, messaging and communication,
multimedia processing, data services, location awareness, and mobile security. Students
will be expected to propose and develop a mobile application. Prerequisites: CSC 543
or CSC 563. 3 credits.
|Theory and applications of statistical, neural and syntactical pattern recognition.
Topics include Bayesian decision theory, discriminant functions, parametric and non-parametric
techniques, multilayer neural networks, decision trees, algorithm-independent machine
learning and unsupervised learning and clustering. Prerequisite: MAT221 or equivalent.
|A study of principles and implementations of web security. Topics include client-side
security, digital certificates, cryptography, server-side security, digital payments,
and privacy issues associated with the world-wide-web. Prerequisite: CSC 225 or equivalent.
||Principles of Information Security
|An examination of security and threat models, risk analysis, authentication and authorization,
auditing, operating systems security, access control mechanisms, protection mechanisms,
distributed systems/network security, security architecture, electronic commerce security
mechanisms and security evaluation. Prerequisites: CSC 505 and CSC 565. 3 credits.
|This course will provide students with the fundamental security, technologies and
protocols of network security that are widely used in the real world. Topics include:
Internet Protocol Security (IPSec), Transport Layer Security (TLS) , X.509 Certifi
cates, Public Key Infrastructure (PKI), Virtual Private Networks (VPN), SSH, Email
security, DNS security, Firewalls, Kerberos, WEP, WPA, and IEEE802.11i Wireless LAN
security. Prerequisites: CSC 555 and CSC 565. 3 credits.
|This course covers the key concepts, strategies, methods and tools that can be employed
to measure and improve the quality of software. Topics include: Software Quality Attributes,
Quality Measurement and Metrics, Software Quality Standards and Continuous Software
Process Improvement. Prerequisites: CSC 535. 3 credits.
|Techniques of data presentation by digital computers for information perception, mathematical
and physiological rationale behind each technique, and its major applications and
limitations. Prerequisite: CSC212 and MAT372. 3 credits.
||Multithreaded Distributed Programming
|A study of techniques and methodologies for developing single and multithreaded distributed
application across computer networks. Topics include network programming, synchronization,
protocols, distributed objects, and architectures. Team projects are required. Prerequisite:
CSC 505 or equivalent. 3 credits.
|Study of computer networks and data communications technologies. Topics include Local
and Wide Area Networks, wireless LAN technology, digital transmission, OSI model,
Internet architecture and TCP/IP, transmissions system, modem technology, data encryption,
network security and multimedia information. 3 credits.
||Ethical Hacking and Penetration Testing
|Principles of network and system penetration, using the same methods as hackers, are
explored with the purpose of fi nding and fi xing security vulnerabilities and ensuring
the security of information assets. Legal and ethical issues associated with penetration
testing are emphasized. The lab-intensive exercises are used to gain practical experiences
in areas such as scanning and enumeration, access and exploitation, escalating privileges,
malware, buffer overfl ows, and other relevant topics. Prerequisites: CSC 555 and
CSC 565. 3 credits.
|Principles of securing, monitoring and protecting heterogeneous complex distributed
computer systems against cyber-attacks.The emphasis is placed on security related
activities before, during and after a system security breach. Topics include system
monitoring, intrusion detection and evidence collection, incident response, system
recovery, and incident prevention. Prerequisites: CSC 558 or CSC 568. 3 credits.
|A study of methods and algorithms that mimic biological systems. A comprehensive foundation
of life concepts such as evolution and survival of the fi ttest, and their computational
equivalents. Computational application of evolutionary concepts in science, engineering,
mathematics and other areas. Prerequisite: CSC 563 or equivalent. 3 credits.
||Parallel and Distributed Computing
|A study of programming techniques and algorithms that utilize multiple processors.
A comprehensive foundation of parallel programming paradigms such as messagepassing
interfaces, shared memory and threads. Computational applications of parallel programming
techniques in searching, optimization, image processing, and other areas. Prerequisite:
CSC 563. 3 credits.
||Computational Science of Simulation and Modeling
|A study of the behavior of complex systems by simulation of mathematical models on
digital computers. Modeling techniques for discrete-event and continuous systems,
deterministic and stochastic, will be introduced through projects which involve studentwritten
programs both in higher level programming languages and languages designed for the
purpose of simulation. Particular emphasis is given to the application of these techniques
to ongoing research in the fi eld of computer science. Prerequisites: CSC 505 or equivalent
course. 3 credits.
||Thesis I: Proposal Development
|Development of the thesis proposal including: introduction, review of literature,
statement of the problem, hypotheses and procedures. Prerequisite: departmental permission.
||Thesis II: Thesis Completion
|Completion of thesis including: products, results, discussion, summary, conclusions
and recommendations for future study. Prerequisites: CSC 590 and departmental permission.
|Prerequisite: departmental permission. 6 credits.