Computer Science (COSC)
COSC 501 FUNDAMENTALS OF DATA STRUCTURES AND ALGORITHM (6)
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. Prerequisite: Admission to COSC MS program.
COSC 502 COMPUTER ORGANIZATIONAL AND ASSEMBLY LANGUAGE FOR NON CS/CIS MAJOR (3)
Computer organization and architecture including computer arithmetic, digital logic, assembly language, memory system organization, and computer interfacing. This course is a preparatory course for the Masters in Computer Science Program. Course is S/U grading. Prerequisites: Graduate Standing.
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. Prerequisites: COSC 501 or equivalent; COSC 502 or equivalent; and MATH 263 or equivalent; or consent of the instructor.
COSC 571 COMPUTER PERFORMANCE EVALUATION (3)
Computer system performance evaluation methodologies, techniques and tools including different types of monitors as a measurement tool, 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. Prerequisite: 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. Prerequisites: COSC 501 or equivalent; COSC 502 or equivalent; and MATH 263 or equivalent; or consent of the instructor.
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 language and learning systems. Prerequisite: COSC 501 or equivalent.
COSC 583 DESIGN AND ANALYSIS OF ALGORITHMS (3)
Algorithm design such as heuristics, backtrack programming, branch and bound, recursion, simulation and conquer, balancing and dynamic programming. Efficiency of algorithms-NP-complete problems. Prerequisite: COSC 501 or equivalent.
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. Prerequisites: COSC 501 or equivalent; COSC 502 or equivalent; and MATH 263 or equivalent; or consent of the instructor.
COSC 601 SOFTWARE REQUIREMENTS ENGINEERING (3)
Introduces the basic concepts and principles of software requirements engineering, and is designed to expose student to common tools and techniques, established methods for modeling software systems and various approaches to requirements engineering (structured, object oriented and formal). Intends to cover in its entirety the process of requirements engineering. Prerequisites: AIT 624/COSC 612-Software Engineering.
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, bilevel image processing, measurable properties of objects, grey-level image processing, image classification and object recognition. Prerequisite: COSC 501 or equivalent.
COSC 603 SOFTWARE TESTING AND MAINTENANCE (3)
A comprehensive survey of software maintenance and testing, principles, methodologies, management strategies, techniques and tools. Software testing at the unit, subsystem and system levels using various test design techniques, as well as integration, regression, and system testing methods, and software testing tools. Designing and implementing software technologies to increase maintainability and testability; evaluating software for change and validating software changes. Prerequisites: AIT 624/COSC 612-Software Engineering.
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 consent 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. Prerequisites: COSC 501 or equivalent, COSC 502 or equivalent, and MATH 263 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 or equivalent.
COSC 612 SOFTWARE ENGINEERING I (3)
Formal software engineering principles and practices and their application to the development of computer-based systems. Prerequisites: COSC 501 and COSC 502 (required for any student who has been assigned these courses by the department at the time of admission).
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 processes. Prerequisite: COSC 612.
COSC 617 ADVANCED WEB DEVELOPMENT (3)
Design and implementation of distributed information systems involving the technologies developed for the World Wide Web (WWW). Emphasis will be given to server architectures, database connectivity and the enterprise packages provided by web development languages. Prerequisites: COSC 600 and COSC 457/ COSC 578.
COSC 618 ENTERPRISE ARCHITECTURE (3)
Provides a set of latest approaches in designing IT infrastructures aligning them with enterprise business activities at the architectural level, including business architecture, information architecture, solution architecture, and technology architecture. Institutionalization of enterprise architecture frameworks and standards will be discussed. Topics include the fundamentals of business functions and IT infrastructure of an enterprise including definitions, frameworks, business process modeling, process institutionalization using CMMI, EA implementations through service-oriented architecture, (SOA), and the various networking technologies in LAN/MAN/WAN as the enablers for EA. Prerequisites: AIT 624 or 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. Prerequisites: COSC 501 or equivalent and COSC 502 or equivalent.
COSC 639 OPERATING SYSTEMS II (3)
Implementation of operating systems for online multiprogramming environment. Primary and secondary storage management techniques, file security, data integrity and a detailed study of operating systems such as UNIX. Prerequisite: COSC 439/ COSC 519 or equivalent.
COSC 641 INTRO TO 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.
COSC 643 INTERNET SUPPLY CHAIN MANAGEMENT (3)
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. Focus on the technical aspects of supply chain management system, which include message passing framework, XML, DTD, XSL, XSLT, XPath, Web-based database manipulation, and VPN. Managerial aspects of e-business as well, which include the integration of e-business systems and back-end systems such as enterprise resource planning ERP systems and business security. Student will implement a B2B site as a team project. Prerequisite: COSC 600.
COSC 644 INTRODUCTION TO INFORMATION ASSURANCE (3)
Principles, mechanisms, and implementation of information assurance. Emphasis on human and technological aspects of information assurance and issues relevant to the risks in which information systems are exposed and methods of dealing with such risks. Not open to students who have taken IHSM 620. Prerequisites: COSC 600 or equivalent or consent of instructor.
COSC 645 APPLIED CRYPTOLOGY (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 SECURITY (3)
Security concepts in developing software applications. Discusses design principles for secure software development, and some of the security issues in current programming and scripting languages, database systems and Web servers. Prerequisites: COSC 578 and COSC 600.
COSC 650 COMPUTER NETWORKS (3)
Computer networking concepts and technologies. Architectures and protocols, LANS, Internet working, and applications. Prerequisites: COSC 501 or equivalent; COSC 502 or equivalent; and MATH 263 or equivalent; or consent of the instructor.
COSC 657 DATABASE MANAGEMENT SYSTEMS II (3)
Relational database systems application, implementation, management, administration, design, advanced data modeling, object-oriented databases, deductive databases, query optimization, functional dependencies, concurrency, security and integrity. Prerequisite: COSC 457/ COSC 578 or equivalent.
COSC 661 ARTIFICIAL INTELLIGENCE PROGRAMMING AND ADAPTIVE SYSTEMS (3)
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 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 credits. Prerequisite: Consent of instructor.
COSC 683 SECURITY AND INTERNET ALGORITHMS (3)
State of the art trends in designing algorithms for the Internet and security. Typical topics include network routing, Web search engine algorithms, data compression algorithms, caching, online
algorithms, number theoretical algorithms relevant in cryptology, error-correcting codes, zero-knowledge protocols, secret-sharing protocols, one-way functions, pseudo-random generators. Prerequisite: COSC 600.
COSC 685 INFORMATION SECURITY AND RISK MANAGEMENT (3)
Explores approaches for performing risk assessment of information systems. Foundational concepts in risk management will be introduced, as well as approaches and tools for monitoring, identifying, analyzing, and responding to risks. Students will become knowledgeable of general information security risk management frameworks, know how to identify and model security risks, and know how to conduct thorough business impact analyses to provide recommended action plans. Prerequisite: COSC 600 (or AIT 500) or with permission from the instructor or department.
COSC 686 COMPUTER GRAPHICS (3)
A presentation of the basic concepts in the field of computer generated 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: COSC 501 or equivalent.
COSC 695 INDEPENDENT STUDY IN COMPUTER SCIENCE (3)
Independent study in selected areas of computer science. Prerequisite: 9 credits at the graduate or upper-division level.
COSC 697 GRADUATE INTERNSHIP (3)
Gives MS COSC students the opportunity to be involved in a computing facility, at an industrial setting. Each student will be assigned to a specific facility associated with a local business or industry and will be supervised by the appropriate supervisor of the computing facility and by the faculty member in charge of the course. MS COSC majors can count one 3-unit internship course towards their units that apply to the major. Graded S/U. Prerequisites: minimum of 18 hours of graduate level Computer Science courses, GPA of 3.0 or above, and consent of MS COSC Program Director.
COSC 710 SOCIAL NETWORK ANALYSIS (3)
Covers the concepts, structures and analysis of large social and information networks. Hands-on techniques will explore how to analyze large-scale social network data, explore social behavior, and apply the techniques to real-world problems. Students will work on cases on actual social network data and present strategic recommendations based on analysis of the data. Prerequisite: COSC 600 or permission of instructor.
COSC 714 FUZZY LOGIC IN CONTROL APPLICATIONS (3)
Control theory and dynamical systems are first studied, followed by fuzzy sets, fuzzy memberships functions, fuzzy rules, fuzzy logic and use of neural nets to generate fuzzy rules. Two control applications are studied in department. Prerequisite: COSC 600 or equivalent.
COSC 715 ROBOTICS (3)
Physical mechanisms of robotics, issues of modeling, planning control and programming. Principles underlying the design and analysis of 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 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 nonlinear systems and 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)
Principles and practice of network management including architectures, protocols and tools.
COSC 732 WIRELESS NETWORKS AND MOBILE COMMUNICATIONS (3)
The principles and practice of wireless networks and mobile communications. Wireless transmission and media access technologies, study of a typical cellular system, satellite networks, wireless LANs, wireless ATM, mobile IP, mobility and TCP, and the wireless application protocol (WAP). Prerequisite: COSC 650.
COSC 734 NETWORK SECURITY (3)
Principles and practice of network security. Topics include authentication services, email security, IP security, Web security, security systems and threats, wireless security, and security applications. Prerequisite: COSC 650.
COSC 735 ADVANCED TOPICS ON COMPUTER NETWORKS (3)
Advanced networking, covering various aspects of new technologies and current topics in computer networks. Topics will include design architecture, network threats and monitoring, network anonymity, sensor/actor networks, cyber-physical systems (CPS), networks visualization, and other current topics. Prerequisite: COSC 650.
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. Prerequisites: COSC 600 or equivalent and a course in linear algebra.
COSC 741 E-COMMERCE CASE STUDIES (3)
Key elements of E-commerce such as catalog, marketing, enterprise resource planning (ERP), Web-based database, network security, Internet supply chain, XML, two or three e-business models will be analyzed and discussed in class. The analysis includes system structure and technology review, marketing strategy review, and is followed by presentations and discussions. Based on the e-commerce concepts studies, students will examine the advantages and the disadvantages of various e-commerce systems. Class can choose an e-commerce model (a B2B model) as a class project. The class project will be divided into several small group projects (buyers and sellers, B2B models) so that each group of students can take each piece. Each group will design and implement the part of e-business model of their choice and integrate with other group's project at the end of the semester. Prerequisite: COSC 641.
COSC 745 ADVANCED TOPICS IN COMPUTER SECURITY (3)
In-depth study of advanced topics in computer security. Topics will vary according to current trends and research directions in the field. Possible topics include: secure file and mail systems, operating system vulnerabilities, firewall and intrusion detection system design, denial of service attack issues, malicious code, virus detection and removal, router security, password attacks, Internet security mechanisms, spoofing, session hijacking, sniffers, scanners, logging and auditing techniques, and security in mobile environments. A project that requires security tools and software, and a paper based on a research topic in computer security is required. Prerequisite: COSC 645.
COSC 750 NEURAL NETWORKS AND DEEP LEARNING (3)
Discussion of neural network and deep learning, architectures, algorithms and applications, including feedforward neural networks, backpropagation, convolutional neural networks, recurrent neural networks, LSTM, deep belief networks, autoencoders, generative models, and Boltzmann machines. Prerequisites: COSC 600 and COSC 757.
COSC 757 DATA MINING (3)
Designed to provide students with a broad background in data mining techniques and related topics. Real-world applications including Web mining will be emphasized. Current data mining tools will be used in student projects. Prerequisite: COSC 578 or equivalent.
COSC 760 BIG DATA ANALYTICS (3)
Study of big data analytics, including the management of various public and private datasets from business, health care, multimedia, cyber-physical systems (CPS), Internet of Things (IoTs), and social media. Hands-on experience with managing the collection, ingestion, storage, analytics, and interpretation of big data using various cloud-based big data frameworks and NoSQL databases such as Hadoop, MongoDB, CouchDB, Elasticsearch, and Spark. Introduction to various big data analytics methods using distributed machine learning libraries. Current research and future trends in big data analytics from the current literature will be explored. Prerequisite: COSC 578.
COSC 795 RESEARCH SEMINAR (1)
Students will be exposed to, and share, research findings in information technology. May be repeated for a maximum of 3 units. It is expected that all doctoral candidates will register for this course; all other graduate students are encouraged to register as well. Graded S/U.
COSC 880 COSC PROJECT/INTERNSHIP (3)
Enables students to conduct a study in an advanced computer-related topic or undertake the analysis, design and implementation of a real-world application. The application may be related to an industrial project sponsored by a company or it may be of mutual interest to the student and a supervising faculty member. Prerequisites: Completion of at least 18 graduate credits toward M.S. in Computer Science.
COSC 885 PROJECT CONTINUUM (1)
Continuing work on previously started project. Prerequisites: Previous registration for project work.
COSC 897 COMPUTER SCIENCE THESIS (6)
An original investigation using an acceptable research method and design. Prerequisites: Completion of at least 21 graduate credits toward an M.S. degree in Computer Science.
COSC 898 COMPUTER SCIENCE THESIS (3)
The previous course, COSC 897, taken over two consecutive semesters.
COSC 899 THESIS CONTINUUM (1)
Continuation of graduate thesis. Prerequisite: Previous registration for graduate thesis.