Course Listing

Courses

Please be sure to check that you have completed all pre-requisites before attempting to enroll in a course.

Course ID Name Description
CS 5100 Advanced Computer Science Internship This course provides advanced training supervised by computer scientists in internship programs approved by the department. Course cannot be counted toward any graduate degree, is open only to majors in the Department of Computer Science. May be repeated once but not for credit and requires approval of the department Chair.
CS 5199B Thesis This course represents a student’s continuing thesis enrollment. The student continues to enroll in a Thesis B course until the thesis is submitted for binding. Graded on a credit (CR), progress (PR), no-credit (F) basis.
CS 5299B Thesis This course represents the continuing thesis enrollments for a student. The student continues to enroll in this course until the thesis is submitted for binding. Graded on a credit (CR), no-credit (F) basis.
CS 5300 Professional Development of Graduate Assistants This course is designed to develop and enhance the professional and technical skills of graduate teaching and instructional assistants. Topics covered may include, but are not limited to, teaching skills, technical skills, ethical and legal issues, and laboratory management. This course cannot be counted toward any degree.
CS 5301 Advanced Programming Practicum Intensive review of programming through data structures. Includes syntax, semantics, problem solving, algorithm development, and in-class exercises. May be repeated once. Does not count for credit toward any graduate degree.
CS 5306 Advanced Operating Systems A study of modern operating systems including network, distributed, or real-time systems.
CS 5310 Network and Communication Systems A study of network and communication systems. Verification and/or implementation of protocols will be required.
CS 5316 Data Mining This course covers fundamental concepts and techniques plus recent developments in data mining and information retrieval. Provides relevant research training and practice opportunities. May not be taken for credit if student received credit for CS 4315.
CS 5318 Principles of Programming Languages This course focuses on the principles of programming languages. Topics covered include programming paradigms, concepts of programming languages, formal syntax and semantics, and language implementation issues.
CS 5326 Advanced Studies in Human Factors of Computer Science Professional level presentation of techniques and research findings related to human-computer interaction.
CS 5329 Algorithm Design and Analysis Introduction to algorithm design and analysis, computational complexity, and NP-completeness theory.
CS 5331 Crafting Compilers Overview of the internal structure of modern compilers. Research on compilation techniques. Topics include lexical scanning, parsing techniques, static type checking, code generation, dataflow analysis, storage management, and execution environments.
CS 5332 Data Base Theory and Design Computer system organization for the management of data; data models, data model theory, optimization and normalization; integrity constraints; query languages; intelligent database systems.
CS 5334 Advanced Internet Information Processing Integration of popular scripting languages (Perl, Javascript, PHP, and other CGI capable languages) and database programming languages (embedded database programming languages, JavaServlets, and PHP) to provide advanced information processing for Internet applications that demand both database support and sophisticated, application specific information processing.
CS 5335 Research in Object-Oriented System Development The course covers the object-oriented methodologies for system analysis, design, implementation, testing, and other aspects of systems development. Emphasis will be on using OO methodologies to manage the complexity of complicated software. Other topics like modeling, OODB, and OO languages will also be covered.
CS 5338 Formal Languages Advanced topics in automata theory, grammars, Turing machines, decidability, and algorithmic complexity.
CS 5341 Advanced Network Programming Study of advanced concepts and programming skills in computer networks: advanced TCP/IP API, multicasting and broadcasting, reliable communications, advanced I/O functions and options.
CS 5343 Wireless Communications and Networks Study of the fundamental aspects of wireless communications and wireless/mobile networks, introduction of wireless/mobile networking APIs.
CS 5346 Advanced Artificial Intelligence Knowledge representation; knowledge engineering; reasoning; parallel and distributed AI; connectionist models; machine learning and intelligent databases; implementation of systems in high-level AI languages.
CS 5351 Parallel Processing Introduction to the design and analysis of parallel algorithms, parallel architectures and computers.
CS 5352 Distributed Computing Study of advanced topics in distributed systems: concurrency control and failure recovery, management of replicated data, distributed consensus and fault tolerance, remote procedure calls, naming and security.
CS 5369D Advanced Digital Forensics This course provides a comprehensive understanding of the techniques and tools used in criminal and civil investigations that involve computing systems, digital devices and media, and communication networks. The course covers recent research material published in the field. Hands-on experience will be acquired through case studies and projects.
CS 5369G Web Service Engineering This course introduces concepts, principles, and methodology enabling development of a software as a service according to Service-Oriented Architecture; methodology of SOA-based systems development; main technologies used in achieving SOA; and challenges and opportunities that SOA provide. In SOA, software applications are constructed based on independent component services with standard interfaces.
CS 5369J Advanced Human Computer Interaction This course will cover state of the art Human Computer Interaction topics such as perceptual compression, eye-gaze, and brain computer interfaces with emphasis on the human visual system, eye-tracking, and electroencephalography.
CS 5369L Machine Learning and Applications Provides broad introduction to machine learning, including learning theory, and recent topics like support vector machines and feature selection. Covers basic ideas, intuition, and understanding behind modern machine learning methods. Discusses applications like face recognition, text recognition, biometrics, bioinformatics, and multimedia retrieval.
CS 5369M Software Evolution and Maintenance Software evolution and maintenance is one of the most important and complex activities in software engineering. Programmers rarely build software from scratch but often modify existing software to fix defects or add new features. This course studies the fundamentals of cutting-edge techniques and tools for software evolution and maintenance.
CS 5369Q Recommender Systems This course covers various concepts of recommender systems, including personalization algorithms, evaluation tools, and user experiences. Discussion of how recommender systems are deployed in business applications, design of new recommender experiences, and how to conduct and evaluate research in recommender systems. Cannot take for credit if already took CS 4379Q.
CS 5369R Research in Digital Forensics Students will design and implement computer based forensic tools applicable to an instructor chosen domain.
CS 5369Y Green Computing Reducing mobile device, cloud computing platform, and supercomputer energy consumption is a paramount, daunting problem. This course covers state-of-the-art green computing research, including energy-efficient hardware and software design, power-aware resource management and storage solutions, green data centers and mobile computing. Cannot be taken for credit if received CS 4379Y credit.
CS 5374 Neural Networks A study of neural computing, including basic concepts, algorithms, and applications; back propagation and counter propagation networks; Hopfield networks; associative memories; massively parallel neural architectures; adaptive resonance theory; optical neural networks; connectionist approaches.
CS 5375 Multimedia Computing A study of digital representation and processing of the major multimedia data types: image, audio, and video. Compression techniques for the three data types, standards, and storage media.
CS 5376 Enterprise Application Integration Introduction to the integration of all services available on the Web. It emphasizes component-based integration frameworks based on J2EE specification (EJB, Servlets, JMS), inter-organization workflow integration frameworks, and XML framework. Students must have knowledge of object-oriented design, object-oriented programming language, databases, and networking.
CS 5378 Advanced Computer Security This course covers various aspects of producing secure computer information systems that provide guaranteed controlled sharing. Emphasis is on software models and design, including discovery and prevention of computing systems security vulnerabilities. Current systems and methods are examined and critiqued.
CS 5388 Advanced Computer Graphics A study of the algorithms and data structures used in representing and processing visual data.
CS 5389 Graphical User Interfaces Covers both abstract and practical treatments of using graphics to implement interactive computer/human interfaces. Includes a survey of the major GUI standards and tools.
CS 5391 Survey of Software Engineering A study of the software life cycle with emphasis on system analysis and design. Methodologies based on data flows and on objects will be surveyed. A component on professional ethics is included.
CS 5392 Formal Methods in Software Engineering The use of design and specification languages in producing software systems. Emphasis is placed on proving correctness of designs and implementations.
CS 5393 Software Quality The latter half of the software life cycle is discussed. Topics include testing, performance evaluation, and software metrics. Appropriate software tools are studied and used.
CS 5394 Advanced Software Engineering Project Students produce a software project of significant size in a team environment. All aspects of the software engineering course sequence are integrated and put into practice.
CS 5395 Independent Study in Advanced Computer Science Open to graduate students on an independent basis by arrangement with the faculty member concerned. Course is not repeatable for credit.
CS 5396 Advanced Software Engineering Processes and Methods The essentials of software engineering processes methods, and tools for the evolutionary design of complex interactive software are discussed. Overviews of other topics like quality concepts, the SEI CMM, information technology, and network technology are covered. Student completes a literature survey of the latest software engineering analysis and design processes, methods, and tools.
CS 5399A Thesis This course represents the initial thesis enrollment for the student. No thesis credit is awarded until student has completed the thesis in CS 5399B. Graded on a credit (CR), no-credit (F) basis. Requires approval of department advisor and/or department Chair.
CS 5399B Thesis This course represents the continuing thesis enrollments for a student. The student continues to enroll in this course until the thesis is submitted for binding. Graded on a credit (CR), no-credit (F) basis. Requires approval of department advisor and/or department Chair.
CS 5599B Thesis This course represents the continuing thesis enrollments for a student. The student continues to enroll in this course until the thesis is submitted for binding. Graded on a credit (CR), no-credit (F) basis. Requires approval of department advisor and/or department Chair.
CS 5999B Thesis This course represents a student’s continuing thesis enrollment. The student continues to enroll in a Thesis B course until the thesis is submitted for binding. Graded on a credit (CR), progress (PR), no-credit (F) basis. Requires approval of department advisor and/or department Chair.