MSCS Course Descriptions
| Course ID | Course Description |
|---|---|
CSC 501 |
Intermediate Programming Workshop (3,0,3)Intensive review of programming and data structures from an object-oriented perspective using the C++ language. Intended for students whose computer programming skills need refreshing or updating. PREREQ: graduate standing; background in computer programming and data structures. |
CSC 502 |
Advanced Programming Methods (3,0,3)High-performance OO and generic programming in C++; concurrent and distributed programming; STL; multi-paradigm design patterns; extensive practice with sophisticated programming projects. PREREQ: Regular admission to MSCS program. |
CSC 507 |
Concepts of Programming Languages (3,0,3)History of high-level languages; grammars and the compilation process; axiomatic semantics; language design and implementation issues; procedural, object-oriented, functional, and logic programming paradigms; case studies in important contemporary languages. PREREQ: Regular admission to MSCS program. |
CSC 510 |
Compiler Construction (3,0,3)Lexical analysis; parsing; code generation; compiler project. PREREQ: Regular admission to MSCS program. |
CSC 525 |
Artificial Intelligence (3,0,3)Concepts and techniques of artificial intelligence; heuristic search, expert systems, AI languages, natural language processing, and elementary neural networks. PREREQ: Regular admission to MSCS program. |
CSC 533 |
Computer Networks (3,0,3)Direct link networks, packet switching networks, internet working (IP), end-to-end protocols (TCP), Windows socket programming. PREREQ: Regular admission to MSCS program. |
CSC 539 |
Software Testing and Maintenance (3,0,3)Techniques in computer software implementation, testing, configuration management and maintenance. Testing and maintenance of a large-scale software engineering project by students working in teams. PREREQ: Regular admission to MSCS program. |
CSC 540 |
Software Engineering (3,0,3)History of software development paradigms and methodologies; techniques in computer software specification, design and implementation; software engineering ethics; development of a large-scale software project by students working in teams. PREREQ: Regular admission to MSCS program and a C or better in CSC 502. CSC 502 |
CSC 550 |
Database Management Systems (3,0,3)Database design, normal forms, concurrent processing, recovery, security, relational model, Structured Query Language, hierarchical and network models. PREREQ: Regular admission to MSCS program. |
CSC 560 |
Operating Systems (3,0,3)Internal structures and algorithms for file systems, I/O memory management and process scheduling; examples drawn from contemporary operating systems such as Unix and Windows. PREREQ: Regular admission to MSCS program. |
CSC 562 |
Computer Architecture (3,0,3)Implementation of control unit and arithmetic-logic unit, microprocessor organization and design, main memory and cache organizations, I/O subsystem; RISC vs. CISC instruction sets, pipelining, parallel processing; mechanisms for evaluating computer architectures and microprocessor performance. PREREQ: Regular admission to MSCS program. |
CSC 564 |
Design and Analysis of Algorithms (3,0,3)Proofs of time and space bounds on important algorithms; advanced algorithms on graphs, sequences and sets; divide-and-conquer and dynamic programming; randomized algorithms; parallel algorithms. PREREQ: Regular admission to MSCS program. |
CSC 580 |
Computer Graphics (3,0,3)Basic concepts of two- and three-dimensional graphics including incremental methods, geometric transformations, windowing and clipping, hidden line and surface algorithms, and animations. PREREQ: Regular admission to MSCS program and MAT 234 or equivalent. MAT 234 |
CSC 582 |
Computer Security (3,0,3)Theory and algorithms of computer security, including security policies, access control, secure programming, identity and authentication, information flow, and information assurance techniques. PREREQ: Regular admission to MSCS program. |
CSC 584 |
Cryptography (3,0,3)Cryptology of classical ciphers, DES and AES, public key cryptosystems, authentication and cryptographic hash functions. PREREQ: consent of instructor. |
CSC 585 |
Theory of Computation (3,0,3)Regular and context-free grammars; Turing machines; recursive and recursively enumerable languages; uncomputability; the Chomsky hierarchy; complexity classes such as P, NP, and NP-complete. PREREQ: Regular admission to MSCS program. |
CSC 593 |
Research Seminar: Computer Science (1-3,0,1-3)Examination and presentation of contemporary research work in computer science. PREREQ: Regular admission into MSCS program. |
CSC 594 |
Intermediate Graduate Topics: Computer Science (3,0,3)Various advanced topics. PREREQ: Regular admission to MSCS program and consent of instructor. |
CSC 599 |
Intermediate Independent Study (1-3,0, 1-3)PREREQ: Regular admission to MSCS Program, consent of instructor. |
CSC 601 |
Advanced Programming Workshop (3,0,3)Practitioners workshop on creative approaches to challenging, realistic programming problems; advanced object-oriented and generic design patterns; use of appropriate tools and critical evaluation of solutions. PREREQ: CSC 502. CSC 502 |
CSC 625 |
Advanced Artificial Intelligence (3,0,3)In-depth study of current topics in artificial intelligence such as machine learning, pattern recognition, intelligent agents, data mining, and natural language understanding. Specific topics may vary by semester. PREREQ: CSC 525. CSC 525 |
CSC 633 |
Advanced Computer Networks (3,0,3)Content distribution, routers and queue management, multicast routing, mobility and the network layer, wireless links, multimedia networking. PREREQ: CSC 502, CSC 533, and CSC 560. CSC 502, CSC 533, CSC 560 |
CSC 640 |
Advanced Software Engineering (3,0,3)Effective software development methods: software design, quality management, improving the software process. PREREQ: CSC 540. CSC 540 |
CSC 645 |
Software Interface Design and Human Factors (3,0,3)Graphical user interfaces for computer applications; usability engineering research and practice; software tools; design and implementation projects. PREREQ: CSC 540. CSC 540 |
CSC 650 |
Advanced Database Systems (3,0,3)Continuation of CSC 550; advanced database programming and data modeling; object- based systems; parallel systems; data warehousing and other advanced topics. PREREQ: CSC 502 and CSC 550 or equivalent. CSC 502, CSC 550 |
CSC 660 |
Advanced Operating Systems (3,0,3)Advanced operating system capabilities such as concurrency, networking, distributed file systems, clustering, and multiprocessing; case studies in design and internal organization of contemporary operating systems. PREREQ: CSC 560 and CSC 502. CSC 502, CSC 560 |
CSC 666 |
Secure Software Engineering (3,0,3)Secure software development processes, threat modeling, security requirements and policies, secure architecture and design, secure coding principles, verification and validation of software security. PREREQ: CSC 540 and CSC 582. CSC 540, CSC 582 |
CSC 670 |
Social Implications of Computing (3, 0, 3)Social, ethical, and legal issues arising in development and dissemination of computer software and its associated technologies; critical thinking and written expression. Assumes experience in professional software development. PREREQ: 6 hours of graduate level coursework in the MSCS or MBI program, or consent of instructor. |
CSC 680 |
Advanced Computer Graphics (3, 0, 3)Representing curves and surfaces; using color, illumination, shading; visible-surface determination; advanced modeling techniques; collision detection and intersection geometry; virtual physics; real-time rendering, scene graph architectures, and high-performance game engine design. PREREQ: CSC 480 and CSC 502. CSC 480, CSC 502 |
CSC 682 |
Advanced Computer Security (3,0,3)Advanced topics in computer security including selections from the following areas: access control, cryptology of modern ciphers, critical infrastructure protection, information warfare, intrusion detection, language-based security, security protocols, software security, steganography, and usable security. PREREQ: CSC 582. CSC 582 |
CSC 685 |
Logic and Computation (3,0,3)Introduction to formal reasoning applied to computer science; propositional and predicate logic; algebraic specification of abstract data types; program correctness; survey of computability theory. PREREQ: CSC 485 and CSC 601. CSC 485, CSC 601 |
CSC 691 |
Thesis Direction (1-6,0,1-6)Guided thesis direction for students electing the thesis option for the MS in Computer Science. PREREQ: Consent of MSCS program director. |
CSC 694 |
Advanced Graduate Topics in Computer Science (3,0,3)Various topics. May be repeated for credit when topics vary. PREREQ: regular admission to MSCS program and consent of instructor. |
CSC 699 |
Directed Readings/Independent Study (1-3 semester hours)PREREQ: consent of instructor |
