Computer Science (CSC)


1000

CSC 1100 [Not Offered] Computers in Society (3 credits)
Prereq.: credit in MATH 1021 or registration in MATH 1023. 2 hrs. lecture; 2 hrs. lab. Credit will not be given for this course and ISDS 1100 or LIS 2001 or EXST 2000. Introduction to computers, their applications, and impact on people and social institutions; the Internet, E-mail, news groups, ftp, telnet, World Wide Web, multimedia, word processing, spreadsheets, databases.
CSC 1200 Ethics in Computing (1 credits)
For majors only. Introduction to ethics theory, ethical decision-making as it relates to the computing professional, licensing, intellectual property, conflicts of interest, freedom of information and privacy, security.
CSC 1240 Statistics and Graphics with MATLAB (3 credits)
Prereq.: MATH 1021 or placement in MATH 1022, 1023, 1431, 1550 or 1551. 2 hrs. lecture; 2 hrs. lab. Credit will not be given for both this course and CSC 1248 or 2262 or 2533. Not for degree credit for computer science majors. Introduction to MATLAB programming with applications in statistics and graphics.
CSC 1248 [Not Offered] Programming With Applications in Statistics (3 credits)
Prereq.: MATH 1021 or placement in MATH 1022 or 1023 or 1431 or 1550. Credit will not be given for both this course and CSC 1240 or 1250 or 1253 or 1350 or ISDS 3107. Not for degree credit for computer science majors. Computer programming using a high level language with applications in elementary statistics.
CSC 1250 [Not Offered] Introduction to Programming (3 credits)
Prereq.: credit or registration in MATH 1022 or 1023 or 1431 or 1550. Credit will not be given for this course and CSC 1248 or 1253 or 1350 or ISDS 3107. Fundamentals of problem solving, program design, algorithms, and programming using a high-level language.
CSC 1253 Computer Science I with C++ (3 credits)
Prereq.: credit or registration in MATH 1550 or credit in MATH 1431. Credit will not be given for both this course and CSC 1248 or 1250 or 1350 or ISDS 3107. Fundamentals of algorithm development, program design, and structured programming using an object-oriented language.
CSC 1254 Computer Science II with C++ (3 credits)
Prereq.: CSC 1253, MATH 1550 or registration in MATH 1435. Credit will not be given for both this course and CSC 1351. Develops solutions to problems using an object-oriented approach and emphasizes the concepts of recursion; dynamic memory; data structures (lists, stacks, queues, trees); exception handling.
CSC 1350 Computer Science I for Majors (3 credits)
Prereq.: credit or registration in MATH 1550. Credit will not be given for both this course and CSC 1248 or 1250 or1253 or ISDS 3107. Fundamentals of algorithm development, program design, and structured programming using an object-oriented language.
CSC 1351 Introduction to Computer Science II for Majors (3 credits)
Prereq.: credit in CSC 1350 and MATH 1550. Credit will not be given for both this course and CSC 1254. Develops solutions to problems using an object-oriented approach and emphasizes the concepts of recursion; dynamic memory; data structures (lists, stacks, queues, trees); exception handling.
CSC 1970 [Not Offered] Introduction to the UNIX Operating System (2 credits)
1 hr. lecture; 2 hrs. lab. Laboratory projects are assigned. Features of the UNIX Operating system kernel, shell commands and scripts, text processing, electronic mail, and the INTERNET.

2000

CSC 2252 [Not Offered] Assembly Language Programming (3 credits)
Prereq.: credit or registration in CSC 1254 or 1351, or equivalent background. Fundamentals of machine function; basic concepts of programming at the machine level; assembly language; machine representation of information, machine language, addressing techniques, program linkage, macroprogramming, and assembler construction.
CSC 2259 Discrete Structures (3 credits)
Prereq.: MATH 1552 and CSC 1254 or 1351. Set algebra including mappings and relations; algebraic structures including semigroups and groups; elements of the theory of directed and undirected graphs; Boolean algebra and propositional logic; these structures applied to various areas of computer science.
CSC 2262 Numerical Methods (3 credits)
Prereq.: MATH 1552 and CSC 1254 or 1351. Credit will be given for only one of the following: CSC 1240, 2262, 2533 or IE 2060. Computer-oriented methods for solving numerical problems in science and engineering; numerical solutions to systems of simultaneous linear equations, nonlinear algebraic equations (root solving), differentiation and integration, ordinary differential equations, interpolation, and curve fitting.
CSC 2270 [Not Offered] COBOL Programming and Business Data Processing Systems (3 credits)
Prereq.: credit in a course in computing. Primarily for students in computer science and related disciplines. COBOL programming; its use in business data processing systems.
CSC 2280 [Not Offered] Computer Organization (4 credits)
Prereq.: CSC 2252. 3 hrs. lecture; 2 hrs. lab. Basic digital circuits; Boolean algebra and combinational logic, data representation and transfer, and digital arithmetic; digital storage and accessing, control functions, input-output facilities, system organization, and reliability; description and simulation techniques; features needed for multiprogramming, multiprocessing, and real-time systems; other advanced topics and alternate organizations.
CSC 2463 [Not Offered] PROGMMG DGITL MEDIA (3.0 credits)
CSC 2533 [Not Offered] Introduction to Engineering Computation (3 credits)
Prereq.: MATH 1550. 2 hrs. lecture; 3 hrs. lab. Also offered as ME 2533. Credit will not be given for both this course and CSC 1240. Problem solving techniques and structured programming tools for engineering synthesis and analysis; application of symbolic solvers and technical computing toolkits.
CSC 2610 [Not Offered] CLOUD & WEB PROGMNG (3.0 credits)
CSC 2700 Special Topics in Computer Science (1-3 credits)
Prereq.: CSC 1254 or 1351 or permission of department. May be taken for a max. of 6 hrs. of credit when topics vary. Total credit earned in CSC 2700 and 4700 should not exceed 9 hrs. Specialized areas of current interest in computer science.
CSC 2730 DATA SCI & ANALYTICS (3.0 credits)

3000

CSC 3102 Advanced Data Structures and Algorithm Analysis (3 credits)
Prereq.: CSC 1254 or 1351 and credit or concurrent enrollment in CSC 2259 or EE 2720. Description and utilization of formal ADT representations, especially those on lists, sets, and graphs; time and space analysis of recursive and nonrecursive algorithms, including graph and sorting algorithms; algorithm design techniques.
CSC 3380 Object Oriented Design (3 credits)
Prereq.: CSC 1254 or 1351. Advanced object oriented software development; emphasis on the use of the unified modeling language as a design tool.
CSC 3501 Computer Organization and Design (3 credits)
Prereq.: CSC 2259. Credit will not be given for both this course and CSC 2280 or EE 3750 or 3755. Computer arithmetic, design of high-speed adders and multipliers, CPU concepts, instruction fetching and decoding, hardwired control, microprogramming control, main memory, I/O organization, assembly language programming techniques, CPU instruction sets and addressing modes.
CSC 3991 HONORS: Undergraduate Research in Computer Science (3 credits)
Prereq.: CSC 3102; consent of department; admittance to Upper Division Honors Program. Individual research on problems in computer science.
CSC 3992 HONORS: Undergraduate Thesis in Computer Science (3 credits)
Prereq.: CSC 3991; consent of department; admittance to Upper Division Honors Program. Writing and formal defense of a research thesis in computer science. Defense committee of three faculty members must be approved by department.
CSC 3999 [Not Offered] Independent Undergraduate Research (1-3 credits)
Prereq.: consent of department chair. May be taken for a max. of 4 hrs. of credit. Individual readings, conferences, and program development in computer science.

4000

CSC 4101 Programming Languages (3 credits)
Prereq.: CSC 3102. Principles of programming language design; specification of syntax and semantics; underlying implementation of block structured languages; dynamic memory allocation for strings, lists, and arrays; imperative versus applicative programming; logic programming; modern programming languages.
CSC 4103 Operating Systems (3 credits)
Prereq.: CSC 3102. Design techniques, process management, processor scheduling; deadlocks, memory management, secondary memory management, file management; I/O systems, Unix systems.
CSC 4243 [Not Offered] INTERFACE DESGN TECH (3.0 credits)
CSC 4263 [Not Offered] VICEO GAME DESIGN (3.0 credits)
CSC 4304 [Not Offered] Systems Programming (3 credits)
Prereq.: CSC 4103. Batch process systems programs, their components, operating characteristics, user services and limitations; implementation techniques for parallel processing of input-output and interrupt handling; overall structure of multiprogramming systems on multiprocessor hardware configurations; addressing techniques, core management, file system design and management, system accounting, and other user-related services; traffic control, interprocess communication, design of system modules, and interfaces; system updating, documentation, and operation.
CSC 4330 Software Systems Development (3 credits)
Prereq.: CSC 3102, 3380. Software requirements analysis; design representation, programming methodologies; verification, validation, maintenance, and software planning.
CSC 4351 [Not Offered] Compiler Construction (3 credits)
Prereq.: CSC 4101 or equivalent. Program language structures, translation, loading, execution, and storage allocation; compilation of simple expressions and statements; organization of compiler including compile-time and run-time symbol tables, lexical scan, syntax scan, object code generation, error diagnostics, object code optimization techniques, and overall design; use of compiler writing languages and bootstrapping.
CSC 4356 Interactive Computer Graphics (3 credits)
See ME 4573.
CSC 4357 [Not Offered] Applied Interactive Graphics and Computer-Aided Design (3 credits)
See ME 4583.
CSC 4362 [Not Offered] Advanced Numerical Methods (3 credits)
Prereq.: CSC 2262 or 2533 or equivalent. Advanced treatment of numerical computation in practice; methodology for enhancing the effectiveness, accuracy, and efficiency of traditional numerical techniques; emphasis on extrapolation.
CSC 4370 [Not Offered] Software Modeling Techniques (3 credits)
Prereq.: CSC 3370 or 3390 or 4330. Examination of modern modeling techniques for complex/high quality software including static/dynamic software models and project management models.
CSC 4402 Introduction to Database Management Systems (3 credits)
Prereq.: CSC 3102. Network, hierarchical, and relational, and entity-relationship models; data definition, manipulation languages, and conversion among these models; relational database design theory, efficient query evaluation, elementary query optimization techniques
CSC 4444 Artificial Intelligence (3 credits)
Prereq.: CSC 3102. Theorem proving and inferencing techniques, production systems, knowledge representation, approximate reasoning, nonmonotonic reasoning, natural language understanding, scene analysis, planning, game playing, and learning.
CSC 4446 [Not Offered] Fuzzy Sets and Applications (3 credits)
Prereq.: permission of instructor. Basic concepts of fuzzy sets, fuzzy operations, fuzzy logic, and fuzzy rule-based systems; applications to engineering and decision making; emphasis on systematic methodology to construct fuzzy applications; software and simulations tools in solving real-world problems using fuzzy-set techniques.
CSC 4501 Computer Networks (3 credits)
Prereq.: CSC 4103. Introduction to local, metropolitan, and wide area networks using the standard OSI reference model as a framework; introduction to the Internet protocol suite and network tools and programming; discussion of various networking technologies.
CSC 4512 [Not Offered] OPTIMIZATION (3.0 credits)
CSC 4585 MULTICORE PROGRAMMG (3.0 credits)
CSC 4601 [Not Offered] Computer and Network Security (3 credits)
Prereq.: CSC 3102. Information security�s role, threats, elements of cryptography; protocols, architectures, and technologies for secure systems and services.
CSC 4602 [Not Offered] Fundamental Computer Science for Teachers (3 credits)
Prereq.: ELRC 4507 (or prior programming experience) and credit in an education methods course numbered 3000 or above. Also offered as ELRC 4512. Advanced programming techniques; emphasis on structured programming, software and hardware organization, data structures, graphics, and other topics to prepare students to teach computer science in secondary schools.
CSC 4610 CLD SYSTMS & VRTLZN (3.0 credits)
CSC 4700 Special Topics in Computer Science (3 credits)
Prereq.: CSC 3102 or permission of department. May be taken for a max. of 9 cr. hrs. when topics vary. Total hrs earned in CSC 2700 and 4700 should not exceed 9 hrs. Specialized areas of current interest in computer science.
CSC 4740 [Not Offered] BIG DATA TECH (3.0 credits)
CSC 4890 Introduction to Theory of Computation (3 credits)
Prereq.: CSC 2259. Introduction to finite automata, regular expressions and languages; push-down automata and context- free languages; selected advanced language theoretical topics; emphasis on technique.
CSC 4999 Advanced Independent Undergraduate Research (1-3 credits)
Prereq.: consent of department chair. May be taken for a max. of 4 hrs. of credit. Individual readings, conferences, and program development in computer science.

6000

CSC 6100 [Not Offered] Advanced Elements of Computer Science for Teachers (3 credits)
Prereq.: computer science programming course or knowledge of a programming language required. Advanced programming techniques using a high-level, structured language; data structures and computer systems software.

7000

CSC 7080 [Not Offered] Computer Architecture (3 credits)
Prereq.: CSC 7002 or equivalent. Background in electronics not required. Functional architecture of modern digital computer systems; detailed description of instruction set implementation with monoprocessor and multiprocessor structures; design and analysis of instruction sets and control structures.
CSC 7090 DESIGN PROJECT (1-9 credits)
CSC 7101 [Not Offered] Programming Language Structures (3 credits)
Prereq.: CSC 4101. Advanced study of data specification, storage management, and control in programming languages; includes coverage of formal specification languages; languages for concurrent processing; languages that support program verification techniques; and in-depth study of applicative languages.
CSC 7103 Advanced Operating Systems (3 credits)
Prereq.: CSC 4103. Concurrent programming: shared memory, communication, and operation-oriented models; concurrent, distributed, and network programming; distributed operating systems; synchronization and deadlock detection in distributed systems.
CSC 7120 [Not Offered] Performance Evaluation of Computer and Communication Systems (3 credits)
Prereq.: CSC 4103. Modeling techniques, specification of queuing systems, product form networks, algorithms for performance networks, operational analysis, performance bound techniques, blocking and priority networks.
CSC 7135 [Not Offered] Software Engineering (3 credits)
Prereq.: CSC 4330 or equivalent. Formal specification techniques, design techniques, abstraction, information hiding, modularity, software testing, automated testing tools, maintainability factors, and cost estimation.
CSC 7150 PRGM-ANLYS & MODL-CH (3.0 credits)
CSC 7200 [Not Offered] Theory of Computation I (3 credits)
Prereq.: CSC 4890. Algorithms, computability, decidability, enumerability; formal replacements and Church's thesis; Turing machines, primitive recursive functions, u-recursive functions; undecidable predicates.
CSC 7201 [Not Offered] Theory of Computation II (3 credits)
Prereq.: CSC 7200. Theory of computation; problems for complexity classes, NP, P, PSPACE, and Nlog; characterization of polynomial time by alternating log space Turing machines and log space Turing machines by auxiliary pushdown stores; time-space trade-offs and combinatorial problems.
CSC 7235 Advanced Software Engineering (3 credits)
Prereq.: CSC 7135. Formal testing, validation and verification techniques; in-depth study of formal specification languages and techniques.
CSC 7300 Algorithm Design and Analysis (3 credits)
Characteristics of an algorithm; problems of algorithm existence; the design, implementation, and complexity of algorithms; algorithm case studies.
CSC 7333 [Not Offered] Machine Learning (3 credits)
F Prereq.: CSC 4444. Fundamental principles of machine learning; inductive learning; explanation-based learning; computational approach to Boolean function learning; learning formal languages and recursive theories; neural network learning and genetic algorithms; applications of machine learning.
CSC 7351 [Not Offered] Advanced Compiler Design Theory (3 credits)
Prereq.: CSC 4351 or equivalent. Automatic generation of LL (1), LR (1), LALR 1 parsers, syntax directed translation of high-level control structures, error recovery, optimization of branching, local code optimization using directed acyclic graphs, loop optimization, global data flow analysis, and object-code optimization.
CSC 7370 [Not Offered] Graph Algorithms (3 credits)
V Prereq.: MATH 4171 or equivalent. Graph layout algorithms; networks; application of network flow techniques; polynomial time algorithms and NP-completeness; dynamic graph drawing.
CSC 7373 [Not Offered] Algorithms for Parallel and Distributed Computing (3 credits)
Prereq.: CSC 7300 or equivalent. Parallel algorithms for searching, sorting, matrix processing, network optimization, and other problems; implementation and efficiency measures of the algorithms on different machines, and VLSI systolic arrays.
CSC 7374 [Not Offered] Computational Models for Mobile Robots (3 credits)
Prereq.: CSC 7300. Computational tools for design, analysis, and implementation of algorithms for robotic applications; existing computational paradigms, constraint representation and real-time modeling for robotic vision; image understanding, path planning, autonomous navigation and sensor-fusion problems for mobile robots.
CSC 7375 [Not Offered] Robot Vision (3 credits)
Prereq.: CSC 3102 or equivalent, and CSC 7300. Computational aspects of vision; utilization of techniques from computational geometry, combinatorics, probability theory, and artificial intelligence; visual recognition and classification.
CSC 7380 [Not Offered] Computational Geometry (3 credits)
Prereq.: CSC 7300 or equivalent. Data structures and algorithm design techniques for geometric problems; geometric searching; convex hulls; Voronoi diagrams; proximity; intersections of geometric objects; applications of computational geometry.
CSC 7381 [Not Offered] Computational Aspects of VLSI CAD (3 credits)
Prereq.: CSC 7300 or equivalent. Overview of VLSI design and fabrication process; abstract model of VLSI; combinatorial optimization algorithms; circuit partitioning; placement and floor planning; global routing; detailed routing; and circuit compaction.
CSC 7402 [Not Offered] Data Base Management Systems (3 credits)
Prereq.: CSC 4402. Implementation of database systems (physical model and its mapping to conceptual model); data structures and their influence on performance, concurrency control, distributed databases; advanced database systems.
CSC 7420 [Not Offered] Parallel and VLSI Computation (3 credits)
F Prereq.: CSC 3102. Theoretical aspects of the design and analysis of algorithms for parallel computation; physical implementation of VLSI chips.
CSC 7442 Data Mining and Knowledge Discovery (3 credits)
Prereq: CSC 7333. Introduction to data mining and knowledge discovery in databases; data cleaning, statistical techniques, association rule learning; time series and spatial data mining algorithms, clustering algorithms, data visualization.
CSC 7443 Scientific Information Visualization (3 credits)
Prereq.: CSC 7300 or equivalent. Study of computer visualization principles, techniques, and tools used for explaining and understanding information; includes visualization algorithms, techniques, and applications.
CSC 7444 [Not Offered] Advanced Artificial Intelligence (3 credits)
Prereq.: CSC 4444. Temporal and nonmonotonic logic; truth maintenance systems; probabilistic reasoning; deductive databases; automated learning, planning, and tutoring; story understanding; structure of domain dependent expert systems.
CSC 7446 [Not Offered] Soft Computing (3 credits)
Prereq.: CSC 4446 or permission of instructor. Interplay of three paradigms in soft computing; fuzzy sets and fuzzy logic, neural computing, and evolutionary programming; applications in image processing, diagnosis and classification, decision making, and other areas; software and simulation tools for problem solving in the soft-computing arena.
CSC 7450 [Not Offered] Programming and Performance Evaluation of Parallel Computers (3 credits)
Prereq.: CSC 3102 or equivalent and CSC 7300. Parallel programming techniques; message passing and process synchronization performance evaluation; prediction of parallel architectures and algorithms, scalability analysis.
CSC 7481 [Not Offered] Information Retrieval Systems (3 credits)
Prereq.: CSC 3102 or equivalent. Also offered as LIS 7610. Topics include commercially available retrieval systems, text content analysis, query processing models and current research problems.
CSC 7500 [Not Offered] System Modeling and Computer Simulation (3 credits)
Prereq.: CSC 2263 or equivalent. Construction and use of mathematical and computer models; parameter estimation; compartmental models; simulation techniques; applications of simulations; examples and case studies from physical, social, and life sciences, engineering, business, and information sciences.
CSC 7501 [Not Offered] Advanced Computer Networks (3 credits)
Prereq.: CSC 4501. Design and analysis of computer networks; routing algorithms and protocols; switch and router architectures; traffic flow management and error control; scheduling and quality of service; modeling and performance evaluation; queuing theory applied to computer networks; selected issues in high-speed network design.
CSC 7502 [Not Offered] Advanced Computer and Network Security (3 credits)
Prereq.: CSC 4601. Secret sharing; secret sharing homomorphism; verifiable secret sharing; electronic voting; advanced cryptography; anonymity on the net; wireless security.
CSC 7540 [Not Offered] Distributed Systems (3 credits)
Prereq.: CSC 4103. Networking and inter-networking; client-server model; remote procedure calls; processes and processors in distributed systems; distributed file systems; transaction-processing techniques; and distributed systems for high performance computing.
CSC 7560 [Not Offered] Computational Methods (3 credits)
Prereq.: CSC 4362 or equivalent. Synthesis, implementation, and analysis of numerical algorithms; algorithm concept introduced in context of abstract schema.
CSC 7600 [Not Offered] High Performance Computing I (3 credits)
V Prereq.: CSC 4362 or consent of instructor. Fundamental computational techniques required for scientific computing; important algorithms for parallel computation; high performance computing.
CSC 7601 [Not Offered] Design Issues in High-Speed Networks: Multicast, Pricing and Control (3 credits)
Prereq.: CSC 4501. Multicasting architectures, protocols, and applications; ATM and Internet solutions; scalable reliable multicast; distributed sensor networks; Internet pricing and economics of communication; game theoretic approaches to congestion control.
CSC 7602 [Not Offered] Wireless Networks (3 credits)
Prereq.: CSC 4501. Radio systems and ad-hoc wireless networks; relevant concepts in terms of mobility, migration, and service levels and their impact on system design; wireless network communication; packet radio techniques; ad-hoc networks; nomadic computing; issues in cellular networks; TCP/IP over wireless.
CSC 7610 [Not Offered] High Performance Computing II (3 credits)
V Prereq.: CSC 7600 or equivalent. Finite difference schemes for molecular dynamics; classical deterministic simulations; combinatorial optimization; algorithms for quantum molecular dynamics; scientific applications in high performance computing.
CSC 7620 [Not Offered] High Performance Computing III (3 credits)
V Prereq.: CSC 7600 or equivalent. Basic stochastic simulation techniques for massively parallel computers; simulated annealing and routing algorithms.
CSC 7700 [Not Offered] Special Topics in Computer Science (3 credits)
May be taken for a max. of 12 hrs. of credit when topics vary. Specialized areas of current interest in computer science.
CSC 7701 [Not Offered] Sensor Networking Concepts (3 credits)
Prereq.: CSC 4501 or 7501. Self-organizing sensor networks; querying, and data aggregation; routing; energy-efficient communication protocols; sensor network security.
CSC 7702 [Not Offered] Telecommunications Networks (3 credits)
Prereq.: CSC 4501. The convergence of traditional voice-centric telecommunication networks, applications-focused distributed middleware architectures, and the Internet; traditional telecommunications; telephone and ISDN architectures; Signal System 7; distribution of application processing in the Advance Intelligent Network; new frameworks for Internet-based core architectures; proposals to generalize the existing telephony architecture.
CSC 7800 Computer Science Research Seminar (1 credits)
V May be taken for a max. of 2 hrs. of credit when topics vary. Pass-fail grading. Student presentations and discussions on research topics in computer science.
CSC 7999 Selected Readings in Computer Science (1-3 credits)
Prereq.: consent of department chair. May be taken for a max. of 6 sem. hrs. of credit.

8000

CSC 8000 THESIS RESEARCH (1-12 credits)

9000

CSC 9000 Dissertation Research (1-12 per sem. credits)
�S�/�U� grading.