(MCST) COURSE DESCRIPTIONS
REQUIRED CORE COURSES
CST 5321 Advanced Operating Systems Credit: 3 hrs
Covers issues related to the design of operating systems. Process management, memory management, file management, input/output device management and distributed systems are also covered. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5322 Advanced Software Engineering Credit: 3 hrs
The methodologies required to control the complexity involved in the development of large software systems. Students are given the opportunity to practically apply software engineering techniques taught in this course through programming problems and a large-scale development project. Emphasis is on the use of requirements and prototyping for design and software reliability, reuse and development management, building, testing and debugging; performance evaluation, maintenance. Methods for software specification and design are emphasized. Additional topics include design for change, configuration management, reliability, maintenance and software tools. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 6306 Advanced Database Management Systems Credit: 3 hrs
Covers theoretical and implementation issues in advanced database systems. Topics and systems include object-oriented databases, deductive databases, spatial databases, temporal databases and multimedia databases. Also discusses recent advances in database systems such as data mining, data warehousing, on-line analytical processing, declarative and visual query languages, multimedia database tools, web and unstructured data sources, and client-server and heterogeneous systems. The course will include hands-on assignments and a course project. Prerequisite: Admission to the MCST graduate program and advisor approval.
COMPUTER SCIENCE CONCENTRATION—REQUIRED COURSES
CST 5320 Design and Analysis of Algorithms Methods Credit: 3 hrs
Covers the design and analysis of efficient algorithms and algorithmic paradigms. The orientation of the course is toward algorithms likely to be of practical use. These algorithms cover fundamental and more advanced methods along with analytic results. Applications include sorting, searching dynamic structures, graph algorithms, parallel algorithms, computationally hard problems, and NP completeness. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 6301 Advanced Computer Architecture Credit: 3 hrs
Advanced topics in computer architecture with the emphasis being on the design and evaluation of modern uniprocessor computing systems and high performance computers. Topics include: evaluation methodology/metrics and caveats, instruction set designing, advanced pipelining, instruction level parallelism, prediction-based techniques, alternative architectures (VLIW, Vector and SIMD), memory hierarchy design and I/O, high-level language machines, application-directed machines, systolic arrays, associative processors, technology and application trends and their impact on processor design. Several case studies illustrating how and why some of these techniques are implemented in modern processors. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 6302 Programming Languages and Compilers Credit: 3 hrs
This course studies theory and practice of design and implementation of programming languages. The course covers the principle models and techniques used in the design and implementation of compilers, interpreters, and assemblers. The emphasis is on theoretical and practical aspects of constructing compilers for programming languages such as syntactic and semantic analysis, static type checking, dataflow analysis and compile-time error handling. Topics include also lexical analysis, parsing, syntax specification, and algorithms for syntax analysis, object code generation and code optimization. Prerequisite: Admission to the MCST graduate program and advisor approval.
INFORMATION TECHNOLOGY CONCENTRATION—REQUIRED COURSES
CST 5325 Electronic Commerce Technology Credit: 3 hrs
Exploration of technological issues and challenges underlying electronic commerce. Distributed systems; network infrastructures; security, trust, and payment solutions; transaction and database systems; and presentation issues. Project required. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5328 Computer Networks Credit: 3 hrs
Explores the principles of computer networking and its role in client-server and distributed computing. The course addresses both Local Area Networks and Wide-Area Networks. Detailed discussion of the Internet Protocol suite (i.e., IP, TCP, UDP) are provided. The emphasis is on fundamental concepts, requirements and design tradeoffs, particularly as related to scheduling, congestion control, routing, traffic management, and applications. The course discusses how networking may evolve in the future to provide ubiquitous support for quality-of-service in heterogeneous environments. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 6305 Internet Technology Systems Credit: 3 hrs
Presents principles, structures, functionality and issues underlying connectivity through interconnection of autonomous networks. Internet architecture and protocols of today and future evolutions are discussed. Application of fundamental Internet principles applied in practice to support client-server computing, group communication, and e-commerce. Project required. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5130 Special Topics Credit: 1-3 hrs
Topics of current interest in computer science and information technology not covered in existing courses. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5323 Systems Concepts Credit: 3 hrs
Covers topics in programming systems, including: programming languages, operating systems, compilers, architecture, finite mathematics, and database concepts. For students who do not hold the BS in computer science, this course provides the foundation for the graduate core courses. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5324 Information Technology Ethics, Policy, & Privacy Credit: 3 hrs
Exploration of values and guidelines through which technologies are responsibility admitted, acquired, and used. The interaction between policy privacy, and technology as it relates to information technology, the Internet, and the evolving struggles for control. Topics include: intellectual property and copyright control, privacy and government surveillance, and freedom of expression and content control. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5326 Human-Computer Interaction Credit: 3 hrs
An introduction to human-computer interaction with an emphasis on user interface design. Covers relevant materials on each of the three major components of HCI, the human aspects (psychological aspects of the user), technology aspects (computer peripherals and tools), and interaction (analysis, design, and evaluation of human- machine interfaces). A significant portion of the course focuses on graphical user interface (GUI) design, including principles and guidelines for good interface design, and the evaluation of user interfaces. A hands-on approach with multiple assignments. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5327 Database Management Credit: 3 hrs
Fundamental concepts in database theory, and database application design and development. In particular, topics include logical design and conceptual modeling, physical database design strategies, relational data model and query languages, query processing and optimization, transaction management and distributed databases. Selected topics from the current database research literature will be touched upon as well. The course has a significant hands-on component, including a database design and implementation project using client/server database application development software. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5329 Internet Protocols Credit: 3 hrs
This course covers the most common application layer protocols on the Internet and studies the general principles and methods used in these protocols along with extensibility in distributed applications. The focus is on methods and solutions in design of distributed application layer protocols. The Internet protocols covered in the course include transport, network, routing, network management, and other important protocols. Advanced topics such as Mobile IP, QoS architecture for the Internet, IP multicast and network security (firewalls) are also covered. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5330 Distributed and Parallel Computing Credit: 3 hrs
This course investigates fundamental problems in writing efficient and scalable parallel applications with emphasis on operating systems support and performance evaluation techniques. Part of the course involves designing, writing, and comparing parallel programs written using message-passing and shared-memory models while considering the support for effective design, implementation, debugging, testing, and performance evaluation of parallel applications and operating systems. The course also covers other advanced topics such as: scheduling parallel programs, parallel troops, parallelizing sequential programs, parallel programming support environments, and design and analysis of parallel algorithms. Prerequisite: CST 5320
CST 5331 Software Testing and Quality Assurance Credit: 3 hrs
An introduction to processes, methods, and tools of software testing associated with the production of robust, high-quality software. Prerequisite: CST 5322
CST 5332 Computational Methods for Biotechnology Systems Credit: 3 hrs
Exploration of computer algorithms and high performance computing methods used to support biotechnology, including: genomic research, combinatorial methods, mapping, bioinformatics, simulation, and modeling. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5333 Scientific Visualization and Image Processing Credit: 3 hrs
This course describes and demonstrates advanced rendering techniques, concepts, and algorithms. Focuses on a number of application areas: scientific visualization, image processing, medical imaging, visual simulation, etc. Projects required. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5334 Fundamentals of Geographic Information Systems Credit: 3 hrs
Covers fundamental Geographic Information Systems (GIS) concepts and terminology, the role of GIS in spatial data management and digital mapping, the multipurpose resources of GIS, methods of data collection and input, data modeling and representation, storage and retrieval of spatial data, concepts of database systems, manipulation and analysis features of GIS. Prerequisite: Admission to the MCST graduate program, advisor approval.
CST 5335 Cryptography Credit: 3 hrs
This course provides a thorough background in cryptography. It will cover the history of cryptography, the mathematics which underlies major cryptographic schemes, basic cryptographic primitives, advanced cryptographic primitives and applied cryptography.
CST 5340 Hardware and Media Security Credit: 3 hrs
This course provides a survey of security topics related to hardware security and digital media security. It covers aspects of how computer hardware is designed or modified to prevent hacking, both for desktop computers and also for digital video and video gaming systems. It also covers security and privacy issues in low-power computer settings such as smart cards and RFID.
CST 5350 Intelligent Information Organization & Retrieval Credit: 3 hrs
This course is an introduction to the intellectual foundations of information organization and retrieval: conceptual modeling, semantic representation, vocabulary and metadata design, classification, and standardization, as well as information organization and retrieval practices, technologies, and applications. Special attention will be paid on formal and informal systems and standards for organizing Web information including ontologies, the Semantic Web languages and standards, folksonomies, and tagging (social bookmarking). Students will read and discuss research papers in the field and will complete a research project.
CST 6303 Artificial Intelligence Methods Credit: 3 hrs
Presents the AI techniques necessary for an agent to act intelligently in the “real” world. The theory of artificial intelligence, and application of the principles of artificial intelligence to problems that cannot be solved, or cannot be solved efficiently, by standard algorithmic techniques. Emphasizes the formal basis of automated reasoning and includes an introduction to programming in Prolog. Fundamentals covered include neural networks, pattern recognition, search, knowledge representation, automated inference, planning, machine learning, uncertainty reasoning, reasoning about belief and vision. Applications include agent architectures, expert systems and natural language processing. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 6304 Principles of Information Technology Credit: 3 hrs
Introduction to information technology tools that make it easier to create, use, manage, and exchange information. Introduces technologies (particularly operating systems, network protocols, and programming tools) used for supporting data, sound, music, images, voice, video, and graphics on computer. Physical and perceptual qualities, methods, standards, and techniques associated with the creation, collection, storage, manipulation, retrieval, and dissemination of information. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 6307 Data Mining Credit: 3 hrs
The study of algorithms and computational paradigms that allow computers to find patterns and regularities in databases, perform prediction and forecasting, and generally improve their performance. Covers knowledge discovery that deals with extracting useful knowledge from raw data using processes including: data selection, cleaning, coding, statistical analysis, pattern recognition, machine learning techniques, reporting and visualizing generated structures. Important related technologies such as Data Warehousing and On-line Analytical Processing (OLAP) are also discussed. Processes are illustrated by examples of practical applications. Prerequisite: CST 5327 or equivalent.
CST 6308 Network Design, Performance and Evaluation Credit: 3 hrs
Covers advanced topics in the theory, design, performance, and evaluation of computer and communications networks. Topics include: methods and concepts of computer and communication network modeling, system performance evaluation, work load characterization, queuing models of networks, stochastic processes, measurement techniques, statistical analysis of performance experiments, and simulation models. Prerequisite: CST 5328.
CST 6309 Network Security Credit: 3 hrs
The course examines topics related to the security of computer systems and communication networks, focusing in particular on the security aspects of the web and Internet. Topics include: system security issues, fundamentals of cryptography, security for Internet protocols, security for operating systems and mobile programs, and technology for electronic commerce. The basics of the mathematics of cryptography and its applications, conventional or symmetric encryption and public key, electronic mail security, web security, and protocols for secure electronic commerce are also covered. Prerequisite: CST 5328.
CST 6310 Neural Networks Credit: 3 hrs
Artificial neural network models are inspired by biological neural networks. Neural networks provide a model of computation drastically different from traditional computers. The aim of this course is to give a broad overview of the theory, design, and applications of artificial neural networks. Basic neural network architectures and learning algorithms are covered. Paradigms for both unsupervised and supervised learning are introduced and applications of these are discussed. Topics in learning, competitive learning, computational capability, elements of statistical pattern recognition. Architectures covered include single and multilayer Perceptrons, Hopfield nets, and Kohonen’s self-organizing maps. Applications in pattern recognition, classification, control, and prediction will be discussed. Prerequisite: CST 6303.
CST 6311 GIS Technologies Credit: 3 hrs
Examines the technologies associated with the acquisition and modeling of primary coordinate data for GIS base maps. Topics include coordinate systems and map projections, mapping systems, global positioning systems (GPS), and accuracy of spatial data. Covers issues related to the acquisition, implementation, and management of computer systems for CAD/CAM applications; drawing files management; hardware and software selection, networking, security and maintenance. Introduces GIS software, such as ArcGIS, ArcCatalog, ArcMap, ArcInfo, and ArcToolbox for data set creation, editing, analysis, and map production. Project required. Prerequisite: CST 5334.
CST 5101 Computer Science Graduate Orientation Credit: 1 hrs
This seminar is designed to introduce new graduate students to information about the graduate program, department, university resources, and research projects conducted by computer science faculty. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 6130 IT Project Credit: 1-3 hrs
Allows students to implement and manage a major independent project. Students will research project topics, present a project proposal, implement and complete the goals of the project, and present the project. Focuses on developing skills for solving problems using the latest computer systems and technologies. Prerequisite: Permission of advisor.
CST 6312 Master’s Project Credit: 3 hrs
For students in the project master’s program option who are completing the project and preparing for the presentation under the direction of member(s) of the graduate faculty. Prerequisite: Permission of advisor.
CST 6601 Master’s Thesis Research Credit: 6 hrs
For students in the thesis master’s program option who are writing and defending their thesis. Individual investigation of topics under the direction of member(s) of the graduate faculty. Prerequisite: Permission of advisor.
CST 6000 Master’s Examination Credit: 0 hrs
For students in the non-thesis master’s program option who have completed all other requirements of the degree except preparing for and taking the final master’s exam. Prerequisite: Permission of advisor.
CST 5301 Parallel Computing Credit: 3 hrs
This specific course is an introduction to the practical and theoretical foundations of parallel processing. Topics include data and control parallelism, the PRAM model of parallel computation, parallel processor organization, parallel programming languages and paradigms, scheduling, and a variety of parallel algorithms. Laboratory projects include design and implementation of parallel algorithms on a network or a parallel simulator. Prerequisite: Admission to the MCST graduate program and advisor approval.
CST 5302 Organization of Programming Language Credit: 3 hrs
This course covers theoretical and practical study of the definition, application and implementation of programming languages. It includes linguistic concepts of syntax and semantics, translation of high-level languages to executable form. Data structuring