CSC - Computer Science


CSC 100Computer LiteracyUNITS: 2
Survey of computer hardware and software systems, how programs are created, how computers are used in organizations, and the effects of the computer society. Four written assignments and a final exam. Credit for CSC 100 is not allowed if student has prior credit in another computer science course or computer-related course. Offered only through Independent study by Extension.


CSC 112Introduction to Computing-FORTRANUNITS: 3 - Offered in Fall and Spring
Prerequisite: E 115, MA 141
Problem solving through writing FORTRAN programs. Particular elements include: careful development of FORTRAN programs from specifications; documentation and style; appropriate use of control structures, data types and subprograms; abstractions and verification; engineering applications.


CSC 114Introduction to Computing-C++UNITS: 3 - Offered in Fall Spring Summer
Corequisite: MA 121 or 131 or 141
An introductory course in computing in C++. Emphasis on algorithm development and problem solving. Particular elements include: careful and methodical development of C++ programs from specifications; documentation and style; appropriate use of control structures, data types and subprograms; data abstraction and verification; numeric and nonnumeric applications; introduction to object-oriented programming and design.


CSC 116Introduction to Computing - JavaUNITS: 3 - Offered in Fall and Spring
Prerequisite: E 115, Corequisite: MA 121 or 131 or 141
An introductory course in computing in Java. Emphasis on algorithm development and problem solving. Careful and methodical development of Java applications and applets from specifications; documentation and style; appropriate use of control structures; classes and methods; data types and data abstraction; object-oriented programming and design; graphical user interface design.


CSC 200Introduction to Computers and Their UsesUNITS: 3 - Offered in Fall Spring Summer
Survey of basic principles of computer hardware, communications, operating systems, microcomputer issues, security, impact on society, system development, and use in organizations. Hands-on use of software, including operating system commands, wordprocessing, spreadsheets, and database managers. Demonstration and application of current end-user applications. May not be used by CSC major as a restricted elective.


CSC 214Programming ConceptsUNITS: 3 - Offered in Fall Spring Summer
Prerequisite: CSC 114 with a grade of C- or better
Software design in a high-level language: abstract data types, modular programming, management of large programs. Dynamic memory management: linked lists, pointers, allocation and deallocation. Alternate programming paradigms: recursive list processing, object-oriented programming.


CSC 216Programming Concepts - JavaUNITS: 3 - Offered in Fall and Spring
Prerequisite: C- or higher in CSC 116
The second course in computing, intended for majors. Emphasis is placed on interpretation of inductive definitions (functions and data types); testing strategies; specification and implementation of finite-state machine; encapsulation; polymorphism; inheritance; class invariants; and resource management


CSC 224Applied Discrete MathematicsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 114 and MA (121 or 131 or 141)
Formal logic. Methods of proof including induction. Introduction to grammars and finite state machines. Recurrence relations and asymptotic behavior of functions. Sets and counting. Boolean expressions and logic networks. Graphs and relations.


CSC 226Discrete Mathematics for Computer ScientistsUNITS: 3 - Offered in Fall and Spring
Prerequisite: MA 101 or equivalent completed in high school ; CSC,CSU,CPE,CPU Majors
Propositional logic and the predicate calculus. Logic gates and circuits. Methods of proof. Elementary set theory. Mathematical induction. Recursive definitions and algorithms. Solving recurrences. The analysis of algorithms and asymptotic growth of functions. Elementary combinatorics. Introduction to graph theory. Ordered sets, including posets and equivalence relations. Introduction to formal languages and automata.


CSC 230C and Software ToolsUNITS: 3 - Offered in Fall Spring Summer
Prerequisite: CSC 216 ; CSC Majors
Details of C programming as compared with Java; Lexical structure, syntax, semantics, and pragmatics (idioms, common uses) of C; Stages of compliation, linking and execution; Strings, arrays, structures, pointers, and memory management; C libraries;Tools for design, maintenance, and debugging of programs; Separate compliation, modular programming; Integrated development environments.


CSC 234Computer Organization and Assembly LanguageUNITS: 3 - Offered in Fall Spring Summer
Prerequisite: CSC 214 with a grade of C- or better
Number systems, von Neuman machines, instruction sets and machine code, data representation, assemblers and assembly language programming, compilers, external and internal processor organization, memory, I/O organization and devices. Detailed study of a contemporary processor architecture.


CSC 236Computer Organization and Assembly Language for Computer ScientistsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 216 with grade of C- or better ; CSC Majors
Computer architecture topics required by professional software developers, including binary and hexadecimal numbers, hardware component organization, machine instruction sets, assembler language programming, linking assembler language with high-level languages, program testing, computer hardware design issues, computer software design issues, and trends in current computer design.


CSC 244Concepts and Facilities of Operating SystemsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 234
The history and evolution of operating systems, concepts of process management, memory addressing and allocation, files and protection, deadlocks and distributed systems.


CSC 246Concepts and Facilities of Operating Systems for Computer ScientistsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 230 ; CSC,CPE Majors
Fundamental concepts of computer operating systems for computer scientists, including memory management, file systems, process management, distributed systems, deadlocks, and basic security and system accounting.


CSC 251Web Page DevelopmentUNITS: 1 - Offered in Spring Only
Prerequisite: E 115 or equivalent knowledge of EOS/Unity system
Syntax and semantics of HTML (HyperText Markup Language). Students will learn necessary skills to develop web pages on their EOS/Unity account. In addition to mechanics, design aspects and bandwidth conservancy are covered. Several pages will be created including a final project.


CSC 252Introduction to Software TestingUNITS: 1 - Offered in Fall Spring Summer
Prerequisite: CSC 112 or CSC 114 or CSC 116
Introduction to software testing provides an understanding of what software testing is and its key role in determining the quality of a software application for the customer. It covers the software test life cycle phases; test planning, acquisitionand execution, how the software test life cycle aligns with the software development life cycle, and the different levels of software testing.


CSC 253C and C++ for Java ProgrammersUNITS: 1 - Offered in Fall and Spring
Prerequisite: CSC 116
Programming in the C and C++ languages. Concentrates on aspects of the language that differ from the Java language, with the assumption that students already have a basic knowledge of programming, so builds upon an understanding of loops, conditional logic, and a basic understanding of objects.


CSC 254Visual C ++UNITS: 1 - Offered in Fall Only
Prerequisite: CSC 214 or CSC 216
Programming in Windows 95/NT using the Visual C++ compiler and tools. The focus is on using the Microsoft Foundation Classes (MFC), understanding the Win32 API, and modern operating systems concepts.


CSC 255String Processing LanguagesUNITS: 1
Prerequisite: Programming knowledge
Syntax and semantics of a string manipulation language, currently SNOBOL 4. Application of the language to programming problems in non-numeric areas. Discussion of other string processing languages such as PERL.


CSC 256Leadership in TechnologyUNITS: 1 - Offered in Fall Only
Prerequisite: CSC Majors, Junior standing or Senior standing
This "executive seminar" course provides CSC students exposure to highly successful technology leaders, introduces them to the essential leadership skills required to be successful in their own careers in technology, and exposes them to a proven approach and road map for effectively managing change. Development of sound business communications skills.


CSC 257Introduction to JavaUNITS: 1 - Offered in Fall Only
Prerequisite: CSC 214
Introduction to the Java programming language. Object-oriented techniques and language syntax. Java class libraries including strings, graphical interfaces, events, exceptions, arguments, threads, file i/o, and networking.


CSC 295Special Topics in Computer ScienceUNITS: 1-3
Special topics in CSC at the early undergraduate level.


CSC 302Introduction to Numerical MethodsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 116 and MA 305, CSC Majors or 2.75 GPA
Numerical computations with digital computers; floating point arithmetic and implications of round-off error. Algorithms and computer techniques for the numerical solution of problems in: function evaluation; zeros of functions; interpolation; numerical differentiation and integration; linear systems of equations; curve fitting; solutions of non-linear equations; numerical solutions of ordinary differential equations.


CSC 312Computer Organization and LogicUNITS: 4 - Offered in Fall and Spring
Prerequisite: CSC 236 and a grade of C- or better in CSC 226
Combinational logic circuits and their relation to Boolean algebra. Functional properties of combinational and sequential components and their realizations in integrated circuit forms. Organization of digital computer components; processors, controlunits, memories, switches, and peripherals. Architecture of computer systems. Computer arithmetic. Microprogrammed control. Interrupt mechanisms. Laboratory exercises involve logical, functional, and electrical properties of components from gates tomicroprocessors.


CSC 314Data StructuresUNITS: 3 - Offered in Fall Spring Summer
Prerequisite: CSC 214 and CSC 224 with a grade of C- or better
A survey of fundamental abstract data types along with efficient implementations for each. Emphasizes asymptotic running time as a measure of program performance. Lists, stacks, queues, sparse arrays, binary trees, heaps, balanced search trees, and hash tables. Illustrative applications such as graph, text-processing, or geometric algorithms.


CSC 316Data Structures for Computer ScientistsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 216 and CSC 226 with a grade of C- or better, CSC Majors of CPE Majors
Abstract data types; abstract and implementation-level views of data types. Linear and branching data structures, including stacks, queues, trees, heaps, hash tables, graphs, and others at discretion of instructor. Best, worst, and average case asymptotic time and space complexity as a means of formal analysis of iterative and recursive algorithms.


CSC 326Software EngineeringUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 230 and either CSC 314 or CSC 316
Application of product engineering methods to software: quality assurance, project management, requirements analysis, specifications, design, development, testing, production and maintenance.


CSC 333Automata, Grammars, and ComputabilityUNITS: 3 - Offered in Fall and Spring
Prerequisite: Grade of C- or better in CSC 226, CSC Majors or 2.75 GPA
Study of three classical formal models of computation--finite state machines, context-free grammars, and Turing machines--and the corresponding families of formal languages. Power and limitations of each model. Parsing. Non-determinism. The Halting Problem and undecidability. The classes P and NP, and NP-completeness.


CSC (BUS) 340Information Systems ManagementUNITS: 3 - Offered in Fall and Spring
Prerequisite: M 200
Fundamentals of information systems development and use in organizational setting. Information systems (IS), concepts, hardware, software, telecommunications, database management. IS development, applications and management in telecommunications,database management, various business processes, global issues, security and ethical challenges.


CSC 342Applied Web-based Client-Server ComputingUNITS: 3
Prerequisite: C- or better in CSC 216
This course explores client-server computing on the World Wide Web. The course focuses on the architecture of web-based client-server applications and accepted industry practices. Students work in teams to develop web applications with dynamic content delivery.


CSC 370Computing: Professionalism and Social ResponsibilityUNITS: 3
Prerequisite: CSC major or 2.7 minimum GPA
Professional and social issues associated with computing, and their ethical dimensions. Basics of ethical theory, including utilitarianism and duty-based ethics. Codes of ethics and professional responsibility. Intellectual property, privacy and security, software safety. Malware, including viruses and worms. Hacking and cracking. The impact of new technologies such as artificial intelligence and virtual reality. Social impacts, including depersonalization, accessibility, gender issues and the "digital divide." Credit may not be earned in both CSC 370 and CSC 379. CSC 370 does not carry CSC restricted elective credit.


CSC 379Ethics in ComputingUNITS: 1 - Offered in Spring Only
Prerequisite: Junior standing, CSC Majors or 2.7 minimum GPA
Discussion of the concern for the way in which computers pose new ethical questions or pose new versions of standard moral problems and dilemmas. Study of ethical concepts to guide the computer professional. Computer professional codes of ethics. Use of case studies to relate to ethical theory. Ethical and legal use of software. Conflicts of interest.


CSC 401Data and Computer Communications NetworksUNITS: 3 - Offered in Fall and Spring
Prerequisite: ST 370 and CSC 246
Basic concepts of data communication networking and computer communications architectures, including packet/circuit/virtual-circuit switching, layered communication architecture and OSI layers, general description of DLC, network and transport layers, some detailed protocol study of Ethernet, ATM and TCP/IP. Credit is not allowed for both CSC 401 and ECE 407.


CSC 402Network ProjectsUNITS: 3
Prerequisite: CSC 401
Under the supervision of faculty members, students engage in projects that may include communication architecture implementation, networking technology assessment, network performance evaluation, and network administration. Comprehensive written and oral project report required. No auditing.


CSC 405Introduction to Computer SecurityUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 246
Basic concepts and techniques in information security and management such as risks and vulnerabilities, applied cryptography, program security, malicious software, authentication, access control, operating systems security, multilevel security, trusted operating systems, database security, inference control, physical security, and system assurance and evaluation. Coverage of high-level concepts such as confidentiality, integrity, and availability applied to hardware, software, and data.


CSC 411Introduction to Artificial IntelligenceUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 316
Overview and definitions of Artificial Intelligence (AI). Search, including depth-first and breadth-first techniques with backtracking. Knowledge representation with emphasis on logical methods, Horn databases, resolution, quantification, unification, skolemization and control issues; non-monotonic reasoning; frames; semantic nets. AI systems, including planning, learning, natural language and expert systems. An AI programming language may be taught at the instructor's discretion.


CSC 413Electronic Commerce TechnologyUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 314 or 316
An introduction to the technologies underlying electronic commerce. Topics include Web protocols and languages, Web mining, product ontologies, security anonymity, privacy, recommendation systems, personalization, auctions, trading agents, and intellectual property.


CSC (MA) 416Introduction to CombinatoricsUNITS: 3 - Offered Alternate Years, Offered in Spring Only
Prerequisite: MA 225 or CSC 226
Basic principles of counting: addition and multiplication principles, generating functions, recursive methods, inclusion-exclusion, pigeonhole principle; basic concepts of graph theory: graphs, digraphs, connectedness, trees; additional topics from:Polya theory of counting, Ramsey theory; combinatorial optimization - matching and covering, minimum spanning trees, minimum distance, maximum flow; sieves; mobius inversion; partitions; Gaussian numbers and q-analogues; bijections and involutions; partially ordered sets.


CSC 417Theory of Programming LanguagesUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 314 or CSC 316
Theory of programming languages with emphasis on programming language semantics and implementation issues. Formal models of syntax and semantics. Static versus dynamic scoping. Parameter passing mechanisms. Garbage collection. Programming in alternate paradigms such as applicative, functional, logic, and object-oriented programming languages.


CSC 422Automated Learning and Data AnalysisUNITS: 3 - Offered in Spring Only
Prerequisite: ST 370 and MA 305, and a grade of C- or better in either CSC 226 or LOG 201
Introduction to the problems and techniques for automated discovery of knowledge in databases. Topics include representation, evaluation, and formalization of knowledge for discovery; classification, prediction, clustering, and association methods.Selected applications in commerce, security, and bioinformatics. Students cannot get credit for both CSC 422 and CSC 522.


CSC 423Information Resources ManagementUNITS: 3
Prerequisite: CSC/BUS 340
Information Resources Management as a process that encompasses strategic planning, the implementation of new technology, dramatic changes to both the corporate Management Information Services and traditional information systems architecture, and theemerging role of end user computing to enable a business enterprise to operate effectively. May not be used as a CSC restricted elective.


CSC (MA) 427Introduction to Numerical Analysis IUNITS: 3 - Offered in Fall Only
Prerequisite: MA 301 and programming language proficiency
Theory and practice of computational procedures including approximation of functions by interpolating polynomials, numerical differentiation and integration, and solution of ordinary differential equations including both initial value and boundary value problems. Computer applications and techniques.


CSC (MA) 428Introduction to Numerical Analysis IIUNITS: 3 - Offered in Fall and Spring
Prerequisite: MA 405 and programming language proficiency; MA (CSC) 427 is not a prerequisite
Computational procedures including direct and iterative solution of linear and nonlinear equations, matrices and eigenvalue calculations, function approximation by least squares, smoothing functions, and minimax approximations.


CSC 431File Organization and ProcessingUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 230 and either CSC 314 or CSC 316
Hardware characteristics of storage devices. Basic file organizations including sequential, direct, and indexed sequential; hashing and collision resolution; perfect hashing; signatures; bloom filters; sorting and other bit level structures. Tree structures including binary search trees, B-trees, and tries. Dynamic hashing techniques. Structures including grid files. Applying file structures to practical problems.


CSC 440Database Management SystemsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 316, CSC Majors
Introduction to database concepts. This course examines the logical organization of databases: the entity-relationship model; the relational data model and its languages. Functional dependencies and normal forms. Design, implementation, and optimization of query languages; security and integrity, concurrency control, transaction processing, and distributed database systems.


CSC (ISE) 441Introduction to SimulationUNITS: 3 - Offered in Fall and Spring
Prerequisite: MA 242, ST 372, programming proficiency
Discrete-event stochastic simulation for the modeling and analysis of systems. Programming of simulation models in a simulation language. Input data analysis, variance reduction techniques, validation and verification, and analysis of simulation output. Random number generators and random variate generation.


CSC 450Web ServicesUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 314 or CSC 316
Concepts, theories, and techniques for Web services. This course examines architectures for Web applications based on the classical publish, find, and bind triangle. It considers the description, discovery, and engagement of Web services. It emphasizes Web service composition. Key topics include semantics, transactions, processes, agents, quality of service, and compliance.


CSC 451Operating SystemsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 246, CSC 253 and CSC 316
Design and implementation of operating system internals. Structure of an operating system kernel, process synchronization primitives, interrupt handlers, and device drivers. Details of the run-time environment supporting high level languages for concurrent programming. Programming required.


CSC 453Software for Wireless Sensor SystemsUNITS: 3 - Offered in Spring and Summer
Prerequisite: (CSC 246 or ECE 306), CSC 253, and CSC 316
Development of software for wireless computer systems. Software designs for applications and networking in this environment, including algorithms for ad hoc discovery, routing, and secure data transfer. Software interface to related sensors and subsystems including global positioning system. Algorithms for power management. Programming required.


CSC 454Human-Computer InteractionUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 314 or CSC 316
A survey of concepts and techniques for user interface design and human computer interaction. Emphasizes user-centered design, interface development techniques, and usability evaluation.


CSC 456Computer Architecture and MultiprocessorsUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 236 and CSC 316
Major components of digital computers and the organization of these components into systems. Begins with single processor systems and extends to parallel systems for multiprocessing. Topics include computer organization, instruction set design, cache memory, pipelined processors, and multiprocessors. Recent developments in PC and desktop architectures are also studied.


CSC (ECE) 460Digital Systems InterfacingUNITS: 3 - Offered in Fall and Spring
Prerequisite: A grade of C- or better in either ECE 206 or CSC 312
Concepts of microcomputer system architecture and applications to fundamental computer hardware. Theoretical and practical aspects of interfacing and a variety of microprocessor peripheral chips with specific microprocessor/microcomputer systems from both hardware and software points of view.


CSC 461Computer GraphicsUNITS: 3 - Offered in Fall Only
Prerequisite: MA 305, CSC 230 and CSC 316
Principles of computer graphics with emphasis on two-dimensional and aspects of three-dimensional raster graphics. Topics include: graphics hardware devices, lines and polygons, clipping lines and polygons to windows, graphical user interface, vectors, projections, transformations, polygon fill. Programming projects in C or C++.


CSC 462Advanced Computer Graphics ProjectsUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 461, CSC Majors
Principles of computer graphics with emphasis on three-dimensional graphics. Topics include: 3-D projections and transformations, curves and surfaces, color and texture, animation, visualization, and global illumination techniques. Programming project required.


CSC 467Multimedia TechnologyUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 244 or CSC 246
Methods of creating, recording, compressing, parsing, editing and playing back on a computer the following media: sound, music, voice, graphics, images, video, and motion. Introduction to basic principles: signal processing, information theory, real-time scheduling. Also includes discussion of standards, programming tools and languages, storage and I/O devices, networking support, legal issues, user interfaces, and applications. Includes significant hands-on experience.


CSC 471Software Process and Development ToolsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 244, CSC 314
A study of project software management, development and computer-based software engineering tools. Topics include: team-work, software standards and processes, personal software process, computer-based software engineering (CASE) tools (e.g., CASEtools for classical and object-oriented software specification, analysis, design, verification, validation, testing, and maintenance.)


CSC 474Information Systems SecurityUNITS: 3 - Offered in Spring Only
Prerequisite: Programming experience in C/C++ or Java
Basic concepts and techniques in information security and management such as risks and vulnerabilities, applied cryptography, authentication, access control, multilevel security, multilateral security, network attacks and defense, intrusion detection, physical security, copyright protection, privacy mechanisms, security management, system assurance and evaluation, and information warfare. Coverage of high-level concepts such as confidentiality, integrity, and availability applied to hardware, software, and data. Credit not allowed for both CSC 474 and CSC 574.


CSC 481Computer Game Design and DevelopmentUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 316
An introduction to the technologies and practices underlying computer and console game development and the principles involved in effective game design and production. Topics include computer game graphics, sound and audio, level design, principlesof gameplay, interactive storytelling, character control and artificial intelligence, user interface design. Programming project required.


CSC 482Advanced Computer Game ProjectsUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 481
Principles of computer game development with emphasis on 3D first-person game engines. Topics include: advanced character behavior control, procedural content generation, large scale mulit-player game design and infrastructure, serious games for education, training and other applications, the game production pipeline and project built on top of a commercial game engine. Consideration of the game production pipeline, including project pitches, requirements and design detail. Programming project with written and oral reporting is required. Enrollment open to CSC majors only.


CSC 485Innovating in TechnologyUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 316 or CSC 314
Importance of innovation to the success of the technical individual, State, and Nation. Techniques for becoming more innovative. Innovations important to recent generations. Innovations needed to help humankind. Applying new technologies, e.g. search engines and the Internet, to innovation. Strategies for innovation. Why ideas fail. Why failures are important to successes. Factors influencing success, especially the human interface. Students will develop proof-of-concept prototype or requirements document, write proposal for potential funding, and make oral presentation of innovation. Team work encouraged.


CSC 489Fundamentals of Computer ScienceUNITS: 3 - Offered in Fall Only
Prerequisite: Higher level computer language. Not available to majors in Computer Science
Provides the background for graduate students who do not have an undergraduate degree in computer science to take selective, graduate-level computer science courses. Computer organization from both hardware and software viewpoints is discussed. Includes computer system organization, digital logic, microprogramming, conventional machine language, operating systems, assembly language, advanced computer architectures, and data structures.


CSC 492Senior Design ProjectUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 326 ; CSC majors
Application of software engineering principles and basic computer science to the total development of a software system. Consideration of the software system design process, including requirements and design detail. Development and evaluation of aprototype accomplished through design team activity. Comprehensive written and oral project report is required.


CSC 495Special Topics in Computer ScienceUNITS: 1-6 - Offered in Fall Spring Summer
Used for the following types of study: readings in the literature of computer science, introductory research projects, major computer programming projects, seminars, or new course development. Work may be done in any CSC area such as software, hardware utilization, programming languages, numerical methods or telecommunications. Departmental Approval Required.


CSC 499Independent Research in Computer ScienceUNITS: 1-6 - No Course Evaluation, Offered in Fall Spring Summer
Independent investigation of a research problem under faculty supervision. Departmental Approval Required.


CSC 501Operating Systems PrinciplesUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 244, CSC 314 and MA 421
Fundamental issues related to the design of operating systems. Process scheduling and coordination, deadlock, memory management and elements of distributed systems.


CSC 503Computational Applied LogicUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 333 of LOG 335 or LOG 435
Introduction to the conceptual and formal apparatus of mathematical logic, to mathematical concepts underlying the process of logical formalization, and to the applications of various logics across a broad spectrum of problems in computer science and artificial intelligence.


CSC 505Design and Analysis Of AlgorithmsUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 314 and CSC 224
Algorithm design techniques: use of data structures, divide and conquer, dynamic programming, greedy techniques, local and global search. Complexity and analysis of algorithms: asymptotic analysis, worst case and average case, recurrences, lower bounds, NP-completeness. Algorithms for classical problems including sorting, searching and graph problems (connectivity, shortest paths, minimum spanning trees).


CSC (ECE) 506Architecture Of Parallel ComputersUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 312, or CSC 456, or ECE 406.
The need for parallel and massively parallel computers. Taxonomy of parallel computer architecture, and programming models for parallel architectures. Example parallel algorithms. Shared-memory vs. distributed-memory architectures. Correctness and performance issues. Cache coherence and memory consistency. Bus-based and scalable directory-based multiprocessors. Interconnection-network topologies and switch design. Brief overview of advanced topics such as multiprocessor prefetching and speculative parallel execution.


CSC 510Software EngineeringUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 314 and CSC 224
An introduction to software life cycle models; size estimation; cost and schedule estimation; project management; risk management; formal technical reviews; analysis, design, coding and testing methods; configuration management and change control; and software reliability estimation. Emphasis on large development projects. An individual project required following good software engineering practices throughout the semester.


CSC 512Compiler ConstructionUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 314 and 333
Theory and practice of compiler writing. Lexical analysis, table driven LL(1), LR(1) and LALR(1) parsers, code generation, flow analysis, run-time storage organization and optimization. Writing a compiler using software tools a significant part of course.


CSC 513Electronic Commerce TechnologyUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 501
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. No Audits.


CSC (BUS) 516E-Commerce PracticumUNITS: 3
Prerequisite: BUS 510 and 511 or CSC 510 and 513
Semester-long team project to prototype a secure e-commerce system to address a real problem furnished by an organization. Students will be organized into teams including invididuals of varying backgrounds, majors and skill sets to cover both the business and technical aspects of the problem.


CSC (ECE) 517Object-Oriented Languages and SystemsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 316
Object-oriented languages and systems built with object-oriented software components. Object-oriented design methodologies, such as CRC cards and the Unified Modeling Language (UML). Requirement analysis. Design patterns. Agile methods. Object-oriented programming environments, such as the Eclipse platform. Platforms for Web services, such as J2EE. Project required.


CSC 520Artificial Intelligence IUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC 316 and either CSC 224 or LOG 201 or LOG 335 or background in symbolic logic
Introduction to and overview of artificial intelligence. Study of AI programming language such as LISP or PROLOG. Elements of AI problem-solving technique. State spaces and search techniques. Logic, theorem proving and associative databases. Introduction to knowledge representation, expert systems and selected topics including natural language processing, vision and robotics.


CSC 521Artificial Intelligence ProgrammingUNITS: 3 - Offered Alternate Even Years, Offered in Spring Only
Introduction to techniques for developing AI systems and programming in a language for AI, Common Lisp. Implementation and extension of systems for problem solving, pattern matching, rule-based processing, machine learning, and related areas.


CSC 522Automated Learning and Data AnalysisUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 226 or LOG 201, ST 370, MA 305
Introduction to the problems and techniques for automated discovery of knowledge in databases. Topics include representation, evaluation, and formalization of knowledge for discovery; classification, prediction, clustering, and association methods.Selected applications in commerce, security, and bioinformatics. Students cannot get credit for both CSC 422 and CSC 522.


CSC 530Computational Methods for Molecular BiologyUNITS: 3 - Offered Alternate Odd Years, Offered in Fall Only
Prerequisite: CSC 314, Corequisite: CSC 505
Computer algorithms supporting genomic research: DNA sequence comparison and assembly, hybridization mapping, phylogenetic reconstruction, genome rearrangement, protein folding and threading.


CSC 540Database Management concepts and SystemsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 316
Advanced database concepts. Logical organization of databases: the entity-relationship model; the relational data model and its languages. Functional dependencies and normal forms. Design, implementation, and optimization of query languages; security and integrity, consurrency control, transaction processing, and distributed database systems.


CSC 541Advanced Data StructuresUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 314
Complex and specialized data structures relevant to design and development of effective and efficient software. Hardware characteristics of storage media. Primary file organizations. Hashing functions and collision resolution techniques. Low level and bit level structures including signatures, superimposed coding, disjoint coding and Bloom filters. Tree and related structures including AVL trees, B*trees, tries and dynamic hashing techniques.


CSC (ISE) 546Management Decision and Control SystemsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 423 or BUS 541
Planning, design, and development and implementation of comprehensive computer-based information systems to support management decisions. Formal information systems principles; information requirements analysis; knowledge acquisition techniques; information modeling. Information resource management for quality operational control and decision support; system evaluation, process improvement and cost effectiveness.


CSC 548Parallel SystemsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 246 or CSC 451 or CSC 501
Basic concepts of parallel computation; parallel programming models and algorithm design; load balancing and performance optimization; parallel I/0 and high-end storage systems; high performance parallel applications.


CSC 554Human-Computer InteractionUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 314
Basic theory and concepts of human-computer interaction. Human and computational aspects. Cognitive engineering. Practical HCI skills. Significant historical case studies. Current technology and future directions in user interface development.


CSC 557Multimedia Computing and NetworkingUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 501 and CSC/ECE 570
An introduction to the technologies that support the creation of sound, images, and video on the computer, and transmission across networks. Physical and perceptual properties of each media type. Operations on multimedia, including recording, processing, and playback. Important compression methods and standards, such as JPEG and MPEG. Techniques for providing low-latency, bounded-error, multicast transmission in packet-switched networks.


CSC 562Computer GraphicsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC Majors
Principles of computer graphics with emphasis on three-dimensional graphics. 3-D progjections and transformations, curves and surfaces, color and texture, animation, visualization, and global illumination techniques. Programming project required.


CSC (MA) (OR) 565Graph TheoryUNITS: 3 - Offered Alternate Even Years, Offered in Fall Only
Prerequisite: CSC 224 or MA 351.
Basic concepts of graph theory. Trees and forests. Vector spaces associated with a graph. Representation of graphs by binary matrices and list structures. Traversability. Connectivity. Matchings and assignment problems. Planar graphs. Colorability. Directed graphs. Applications of graph theory with emphasis on organizing problems in a form suitable for computer solution.


CSC (ECE) 570Computer NetworksUNITS: 3 - Offered in Fall and Spring
Prerequisite: ECE 206 or CSC 312, ST 371, CSC 258 and Senior standing or Graduate standing
General introduction to computer networks. Discussion of protocol principles, local area and wide area networking, OSI stack, TCP/IP and quality of service principles. Detailed discussion of topics in medium access control, error control coding, and flow control mechanisms. Introduction to networking simulation, security, wireless and optical networking.


CSC (ECE) 573Internet ProtocolsUNITS: 3 - Offered in Fall Only
Prerequisite: CSC/ECE 570
Principles and issues underlying provision of wide area connectivity through interconnection of autonomous networks. Internet architecture and protocols today and likely evolution in future. Case studies of particular protocols to demonstrate how fundamental principles applied in practice. Selected examples of networked clinet/server applications to motivate the functional requirements of internetworking. Project required.


CSC (ECE) 574Computer and Network SecurityUNITS: 3 - Offered in Fall and Spring
Prerequisite: (CSC 316) and (CSC 401 or CSC/ECE 570)
Security policies, models, and mechanisms for secrecy, integrity, and availability. Basic cryptography and its applications; operating system models and mechanisms for mandatory and discretionary controls; introduction to database security; securityin distributed systems; network security (firewalls, IPsec, and SSL); and control and prevention of viruses and other rogue programs.


CSC (ECE) 575Introduction to Wireless NetworkingUNITS: 3 - Offered in Spring Only
Prerequisite: ECE/CSC 570
Introduction to cellular communications, wireless local area networks, ad-hoc and IP infrastructures. Topics include: cellular networks, mobility mannagement, connection admission control algorithms, mobility models, wireless IP networks, ad-hoc routing, sensor networks, quality of service, and wireless security.


CSC (ECE) 576Connection-Oriented NetworksUNITS: 3 - Offered in Fall and Spring
Prerequisite: CSC/ECE 570
Topics related to connection-oriented packet network architectures, such as: frame relay, the asynchronous transfer mode(ATM), multi-protocol label switching (MPLS), and generalized multi-protocol label swiching (GMPLS), signalling protocols, and related quality-of-service issues. Restricted to students in CSC,CPE,CNE,CNC,ORC,ORE.


CSC (ECE) (OR) 579Introduction to Computer Performance ModelingUNITS: 3 - Offered in Fall Only
Prerequisite: CSC 312 or ECE 206 and MA 421
Workload characterization, collection and analysis of performance data, instrumentation, tuning, analytic models including queuing network models and operational analysis, economic considerations.


CSC (MA) 580Numerical Analysis IUNITS: 3 - Offered in Fall and Spring
Prerequisite: MA 405; MA 425 or MA 511; high-level computer language
Algorithm behavior and applicability. Effect of roundoff errors, systems of linear equations and direct methods, least squares via Givens and Householder transformations, stationary and Krylov iterative methods, the conjugate gradient and GMRES methods, convergence of method.


CSC 582Computer Models of Interactive NarrativeUNITS: 3 - Offered in Fall Only
A theoretical and practical study of the computational models supporting the creation of interactive narrative systems. Topics include basic introductions to cognitive, linguistic and film theoretic models of narrative; representations and reasoning techniques from artificial intelligence related to the creation of storylines, dialog, camera control and other features of narrative in text-based and/or 3D virtual worlds; mechanisms for controlling character behavior in multi-agent multi-user stories; and applications of these techniques ranging from interactive entertainment to educational software to training simulations.


CSC (MA) 583Introduction to Parallel ComputingUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 302 or MA 402 or MA/CSC 428 or MA/CSC 580
Introduction to basic parallel architectures, algorithms and programming paradigms; message passing collectives and communicators; parallel matrix products, domain decomposition with direct and iterative methods for linear systems; analysis of efficiency, complexity and errors; applications such as 2D heat and mass transfer.


CSC 591Special Topics In Computer ScienceUNITS: 1-6 - Offered in Fall and Spring
Prerequisite: B average in technical subjects
Topics of current interest in computer science not covered in existing courses.


CSC 600Computer Science Graduate OrientationUNITS: 1 - No Course Evaluation, Offered in Fall Only
Introduction for new graduate students to (a) information about graduate program, department, and university resources, and (b) research projects conducted by CSC faculty.


CSC 630Master's Independent StudyUNITS: 1-3 - No Course Evaluation, Offered in Fall Spring Summer
Individual investigation of topics under the direction of member(s) of the graduate faculty.


CSC 685Master's Supervised TeachingUNITS: 1-3 - No Course Evaluation
Prerequisite: Master's student
Teaching experience under the mentorship of faculty who assist the student in planning for the teaching assignment, observe and provide feedback to the student during the teaching assignment, and evaluate the student upon completion of the assignment.


CSC 688Non-Thesis Masters Continuous Registration - Half Time RegistrationUNITS: 1 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Master's student
For students in non-thesis master's programs who have completed all credit hour requirements for their degree but need to maintain half-time continuous registration to complete incomplete grades, projects, final master's exam, etc.


CSC 689Non-Thesis Master Continuous Registration - Full Time RegistrationUNITS: 3 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Master's student
For students in non-thesis master's programs who have completed all credit hour requirements for their degree but need to maintain full-time continuous registration to complete incomplete grades, projects, final master's exam, etc. Students may register for this course a maximum of one semester.


CSC 690Master's ExaminationUNITS: 1-6 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Master's student
For students in non thesis master's programs who have completed all other requirements of the degree except preparing for and taking the final master's exam.


CSC 693Master's Supervised ResearchUNITS: 1-9 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Master's student
Instruction in research and research under the mentorship of a member of the Graduate Faculty.


CSC 695Master's Thesis ResearchUNITS: 1-9 - No Course Evaluation, Offered in Fall and Spring
Prerequisite: Master's student
Thesis research.


CSC 696Summer Thesis ResearchUNITS: 1 - Offered in Summer
Prerequisite: Master's student
For graduate students whose programs of work specify no formal course work during a summer session and who will be devoting full time to thesis research.


CSC 699Master's Thesis PreparationUNITS: 1-3 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Master's student
For students who have completed all credit hour requirements and full-time enrollment for the master's degree and are writing and defending their thesis.


CSC 707Automata, Languages and Computability TheoryUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 224 required, CSC 333 recommended
Formal models of language and computation; finite automata and regular languages, pushdown automata and context-free languages, Turing machines. Relative power of models, Chomsky hierarchy. Inherent complexity of problems: undecidability, computational complexity, intractable problems.


CSC 712Software Testing and ReliabilityUNITS: 3 - Offered Alternate Even Years, Offered in Fall Only
Prerequisite: CSC 510
An advanced introduction to software testing and reliability. The course is a balanced mixture of theory, practice, and application. Methods, techniques, and tools for testing software and producing reliable and secure software are used and analyzed. Software reliability growth models and techniques for improving and predicting software reliability are examined, and their practical use is demonstrated. Good knowledge of C++ or Java. Knowledge of the basics of statistics, calculus, and linear algebra.


CSC 714Real Time Computer SystemsUNITS: 3 - Offered Alternate Years, Offered in Spring Only
Prerequisite: CSC 451 or CSC 501
Design and implementation of computer systems required to provide specific response times. Structure of a real-time kernel, fixed and dynamic priority scheduling algorithms, rate monotonic scheduling theory, priority inheritance protocols, real-timebenchmarks, case study of a real-time kernel.


CSC 715Concurrent Software SystemsUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 501
Concepts, techniques and tools for development of concurrent (parallel or distributed) software systems. Specification of concurrency, design of concurrent software systems, concurrent languages and validation of concurrent programs.


CSC 716Design of Secure and Reliable SystemsUNITS: 3 - Offered in Spring Only
Prerequisite: CSC/ECE 574 and (CSC 501 or CSC 512)
Advanced topics in computer system security and reliability with algorithms/techniques from both fields. Emphasis on system level design issues, e.g., how systems fail, how algorithms can be compromised, how protocols can be attacked, and ultimately, how application design, complier, operating systems, and processor architectures can be enhanced to detect and mask attacks/failures. Background in operating systems, compliers, networking required.


CSC 720Artificial Intelligence IIUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 520
A second course in artificial intelligence emphasizing advanced concepts of AI including logic programming, automatic programming, natural language understanding, visual perception by machine, learning and inference, intelligent computer-aided instruction, knowledge representation, robotics and other topics to be chosen by instructor. Students asked to write programs in AI programming language such as LISP and PROLOG.


CSC 724Advanced Distributed SystemsUNITS: 3 - Offered Alternate Odd Years, Offered in Spring Only
Prerequisite: CSC 501 or equivalent. Programming in C++ or Java in Unix environments
Principles in the design and implementation of modern distributed systems; recent techniques used by real-world distributed systems such as peer-to-peer file sharing, enterprise data center, and internet search engines; state-of-the-art architectures, algorithms, and performance evaluation methodologies in distributed systems.


CSC 725Intelligent Multimedia SystemsUNITS: 3 - Offered Alternate Even Years, Offered in Spring Only
Prerequisite: CSC 520
Principles and issues underlying intelligent multimedia technologies. Animated intelligent agents, intelligent behavior planning, affective reasoning, gesture and locomotion planning, mixed-initiative multi-modal dialogue control, and natural language generation. Intelligent multimedia presentation planning. Intelligent 3D virtual cinematography. Interactive narrative planning with animated intelligent agents. Selected examples of applications in knowledge-based learning environments, intelligent training systems, interactive entertainment.


CSC 742Database Management SystemsUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 431 or 541
Database concepts. Database design. Data models: entity-relationship and relational. Data manipulation languages including SQL. Data Dictionaries. Query processing. Concurrency. Software development environments using a database system. Expert, object-oriented, multimedia and distributed database systems. Database systems architecture. Use of a commercial database management system.


CSC 743Secure Data ManagementUNITS: 3 - Offered in Fall Only
Prerequisite: CSC/ECE 574 and (CSC 440 or CSC 540). Background in databases and basic security concepts required.
Advanced topics in secure data management with techniques in traditional database management systems as well as in recent advances in emerging areas. Emphasis on new security issues and challenges imposed by the Internet and the Web on cross-organization data sharing and management. Example topics include XML, data management in P2P, trust management, data authorship, and the integration of security and privacy policies with information systems.


CSC 750Service-Oriented ComputingUNITS: 3 - Offered in Spring Only
Prerequisite: CSC 540: Database Management Concepts and Systems
Concepts, theories, and techniques for computing with services. This course examines architectures for Web applications based on the classical publish, find, and bind triangle, but formulates it at a higher level. It considers sophisticated approaches for the description, discovery, and engagement of services, especially over the Web and the Grid. This course emphasizes service composition. Key topics include semantics, transactions, processes, agents, quality of service, compliance, and trust.


CSC 761Advanced Topics in Computer GraphicsUNITS: 3 - Offered Alternate Odd Years, Offered in Spring Only
Prerequisite: Graduate standing in Computer Science
Understanding and discussing current advances and research topics in computer graphics. Possible topics include nonphotorealistic rendering, modeling natural phenomena, illumination and rendering techniques, model simplification, animation, visualization, graphics hardware. Learning to critique research papers from important venues in the computer graphics field. Learning to read, interpret, and present computer graphics research papers in a conference-type environment.


CSC (ISE) (OR) 762Computer Simulation TechniquesUNITS: 3 - Offered in Fall Only
Prerequisite: ST 512 and a scientific programming language
Basic discrete event simulation methodology: random number generators, simulation designs, validation, analysis of simulation output. Applications to various areas of scientific modeling. Simulation language such as SLAM and GPSS. Computer assignments and projects.


CSC 766Code Optimization for Scalar and Parallel ProgramsUNITS: 3
Prerequisite: CSC 512, or CSC 548, or CSC 501
Advanced research issues in code optimization for scalar and parallel programs; program analysis, scalar and parallel optimizations as well as various related advanced topics.


CSC 772Survivable NetworksUNITS: 3 - Offered in Spring Only
Principles of network and service continuity and related metrics; the theory of network availability, survivability, and restoration; a comprehensive coverage of network architectures, protocols, algorithms, and related technology for survivability; advanced topics in network survivability; hands-on experience in the implementation of protocols and software for survivable systems and the operation of survivable networks.


CSC (ECE) 773Advanced Topics in Internet ProtocolsUNITS: 3 - Offered in Spring Only
Prerequisite: CSC/ECE 573
Cutting-edge concepts and technologies to support internetworking in general and to optimize the performance of the TCP/IP protocol suite in particular. Challenges facing and likely evolution for next generation intenetworking technologies. This course investigates topics that include, but may be not limited to: Internet traffic measurement, characteriztion and modeling, traffic engineering, network-aware applications, quality of service, peer-to-peer systems, content-distribution networks, sensor networks, reliable multicast, and congestion control.


CSC (ECE) 774Advanced Network SecurityUNITS: 3 - Offered in Spring Only
Prerequisite: CSC/ECE 570, CSC/ECE 574
A study of network security policies, models, and mechanisms. Topics include: network security models; review of cryptographic techniques; internet key management protocols; electronic payments protocols and systems; intrusion detection and correlation; broadcast authentication; group key management; security in mobile ad-hoc networks; security in sensor networks.


CSC (ECE) 775Advanced Topics in Wireless NetworkingUNITS: 3 - Offered in Fall Only
Prerequisite: ECE/CSC 575
Reviews the current state of research in wireless networks, network architectures, and applications of wireless technologies; students will design, organize, and implement or simulate systems in a full-semester research project. For students with background in networking and communications who wish to explore research and development topics.


CSC (ECE) 776Design and Performance Evaluation of Network Systems and ServicesUNITS: 3 - Offered in Spring Only
Prerequisite: CSC(ECE) 570 and CSC(ECE) 579
Introduction to the design and performance evaluation of network services. Topics include top-down network design based on requirements, end-to-end services and network system architecture, service level agreements, quantitative performance evaluation techniques. Provides quantitative skills on network service traffic and workload modeling, as well as, service applications such as triple play, internet (IPTV), Peer-to-peer (P2P), voice over IP (VoIP), storage, network management, and access services.


CSC (ECE) 777Telecommunications Network DesignUNITS: 3 - Offered in Spring Only
Prerequisite: CSC(ECE) 570
Analytic modeling and topological design of telecommunications networks, including centralized polling networks, packet switched networks, T1 networks, concentrator location problems, routing strategies, teletraffic engineering and network reliability.


CSC (ECE) 778Optical NetworksUNITS: 3 - Offered in Fall Only
Prerequisite: CSC/ECE 573, CSC/ECE 576, CSC/ECE 579, CSC/ECE 570
A study of optical networks with wavelength division multiplexing (WDM) technology. Topics include: optical fiber and transmission technology; first generation optical networks (SONET); optical access networks; wavelength routing networks; related protocols and standards.


CSC (ECE) 779Advanced Computer Performance ModelingUNITS: 3 - Offered Alternate Years, Offered in Spring Only
Prerequisite: CSC, ECE or OR 761
In-depth study of computer performance modeling techniques such as exact and approximate analysis of queuing networks and direct and iterative numerical solutions of queuing systems.


CSC (MA) 780Numerical Analysis IIUNITS: 3 - Offered in Fall and Spring
Prerequisite: MA 580
Approximation and interpolation, Fast Fourier Transform, numerical differentiation and integration, numerical solution of initial value problems for ordinary differential equations.


CSC (MA) 783Parallel Algorithms and Scientific ComputationUNITS: 3 - Offered Alternate Odd Years, Offered in Fall Only
Prerequisite: MA/CSC 583, or MA/CSC 580 and some parallel computing
Multiprocessing and vector architectures including current hardware and software. Parallel implementations of numerical inear algebra algorithms for matrix products, linear systems as well as nonlinear algebraic systems and eigenvalue problems. Applications to science and engineering including 3D space and system models.


CSC 791Advanced Topics In Computer ScienceUNITS: 1-6 - Offered in Fall and Spring
Advanced topics of current interest in computer science not covered by existing courses.


CSC 801Seminar in Computer ScienceUNITS: 1-3 - No Course Evaluation, Offered in Fall and Spring
Prerequisite: Graduate standing
Faculty and graduate student research presentations and discussions centered around current research problems in Computer Science and advanced theories in these areas. Students are expected to make presentations of published works and, depending onthe course credit received and their academic degree progress, present their own research results. Critical discussions of the various research approaches and results and their relationships based on the presentations and additional readings and research. Departmental Approval Required.


CSC 830Doctoral Independent StudyUNITS: 1-3 - No Course Evaluation, Offered in Fall Spring Summer
Individual investigation of advanced topics under the direction of member(s) of the graduate faculty.


CSC 885Doctoral Supervised TeachingUNITS: 1-3 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Doctoral student
Teaching experience under the mentorship of faculty who assist the student in planning for the teaching assignment, observe and provide feedback to the student during the teaching assignment, and evaluate the student upon completion of the assignment.


CSC 890Doctoral Preliminary ExamUNITS: 1-9 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Doctoral student
For students who are preparing for and taking written and/or oral preliminary exams.


CSC 893Doctoral Supervised ResearchUNITS: 1-9 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Doctoral student
Instruction in research and research under the mentorship of a member of the Graduate Faculty.


CSC 895Doctoral Dissertation ResearchUNITS: 1-9 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Doctoral student
Dissertation research


CSC 896Summer Dissertation ResearchUNITS: 1 - Offered in Summer
Prerequisite: Doctoral student
For graduate students whose programs of work specify no formal course work during a summer session and who will be devoting full time to thesis research.


CSC 899Doctoral Dissertation PreparationUNITS: 1-3 - No Course Evaluation, Offered in Fall Spring Summer
Prerequisite: Doctoral student
For students who have completed all credit hour, full-time enrollment, preliminary examination, and residency requirements for the doctoral degree, and are writing and defending their dissertations.