|
Computer Science |
|
-
CSC 1100 Computers in Society (3) Prereq.: credit in MATH 1021 or registration in MATH 1023 . Credit will not be given for this course and ISDS 1100 or ISDS 1101 or ISDS 1102 or LIS 2001 or EXST 2000 . 2 hrs. lecture; 2 hrs. lab. 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) Prereq.: credit or registration in CSC 1253 or CSC 1350 ; credit or registration in ENGL 1001 , ENGL 1005 or HNRS 2000 . 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) This is a General Education course. Prereq.: MATH 1021 or placement in MATH 1022 , MATH 1023 , MATH 1431 , MATH 1550 or MATH 1551 . Credit will not be given for both this course and CSC 1248 or CSC 2262 or CSC 2533 or OCS 2011 . Not for degree credit for computer science majors. 2 hrs. lecture; 2 hrs. lab. Introduction to MATLAB programming with applications in statistics and graphics. |
|
|
|
|
|
-
CSC 1253 Computer Science I with C++ (3) 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 CSC 1250 or CSC 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) Prereq.: CSC 1253 ; credit or registration in MATH 1550 . 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) Prereq.: credit or registration in MATH 1550 . Credit will not be given for both this course and CSC 1248 or CSC 1250 or CSC 1253 or ISDS 3107 . Fundamentals of algorithm development, program design and structured programming using an object-oriented language. |
|
-
CSC 1351 Computer Science II for Majors (3) Prereq.: CSC 1350 ; credit or registration in 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 Introduction to the UNIX Operating System (2) 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. |
|
-
CSC 2252 Assembly Language Programming (3) Prereq.: credit or registration in CSC 1254 or CSC 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) Prereq.: CSC 1254 or CSC 1351 ; credit or registration in MATH 1552 . 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) Prereq.: MATH 1552 and CSC 1254 or CSC 1351 . Credit will be given for only one of the following: CSC 1240 , 2262, CSC 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 COBOL Programming and Business Data Processing Systems (3) 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 Computer Organization (4) Prereq.: CSC 2252 . Credit will not be given for both this course and CSC 3501 . 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, multi-processing and real-time systems; other advanced topics and alternate organizations. |
|
-
CSC 2533 Introduction to Engineering Computation (3) Also offered as ME 2533 . Prereq.: MATH 1550 . Credit will not be given for both this course and CSC 1240 or CSC 2262 or OCS 2011 . 2 hrs. lecture; 3 hrs. lab. Problem solving techniques and structured programming tools for engineering synthesis and analysis; application of symbolic solvers and technical computing toolkits. |
|
-
CSC 2700 Special Topics in Computer Science (1-3) Prereq.: CSC 1254 or CSC 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 CSC 4700 should not exceed 9 hrs. Specialized areas of current interest in computer science. |
|
-
CSC 3102 Advanced Data Structures and Algorithm Analysis (3) Prereq.: CSC 1254 or CSC 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) Prereq.: CSC 1254 or CSC 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) Prereq.: CSC 2259 . Credit will not be given for both this course and CSC 2280 or EE 3750 or EE 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) 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) 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 Independent Undergraduate Research (1-3) 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. |
|
-
CSC 4101 Programming Languages (3) 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) Prereq.: CSC 3102 . Design techniques, process management, processor scheduling; deadlocks, memory management, secondary memory management, file management; I/O systems, Unix systems. |
|
-
CSC 4243 Interface Design and Technology (3) Prereq.: CSC 1253 or CSC 1350 or equivalent programming background. Human-computer interaction provides the bridges across which humans engage with computation. An overview and experience with the design of such interfaces. Programming and design projects employing both traditional graphical interfaces; handheld graphical interfaces; and tangible and embedded interfaces. All programming in Java languages. |
|
-
CSC 4263 Video Game Design (3) Prereq.: ART 2050 or CSC 3102 or MUS 2732 or permission of instructor. The essentials of video game design and implementation, including planning, graphics, sound, programming and testing. Focus is on a semester-long, small-team, interdisciplinary project to develop and present a complete full-featured game. |
|
-
CSC 4304 Systems Programming (3) 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; ad-dressing 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) Prereq.: CSC 3102 , CSC 3380 . Software requirements analysis; design representation, programming methodologies; verification, validation, maintenance and software planning. |
|
-
CSC 4351 Compiler Construction (3) 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) See ME 4573 . |
|
-
CSC 4357 Applied Interactive Graphics and Computer-Aided Design (3) See ME 4583 . |
|
-
CSC 4362 Advanced Numerical Methods (3) Prereq.: CSC 2262 or CSC 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 Software Modeling Techniques (3) Prereq.: CSC 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) Prereq.: . Network, hierarchical, 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) 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 Fuzzy Sets and Applications (3) 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) Prereq.: CSC 3102 . 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 Optimization: Modeling Approaches, Algorithms and Applications (3) Prereq.: MATH 2085 or MATH 2090 or permission of instructor. Optimization as a modeling tool with emphasis on modeling approaches, fundamental algorithms and applications in many diverse domains. |
|
-
CSC 4601 Computer and Network Security (3) Prereq.: CSC 3102 . Information security’s role, threats, elements of cryptography; protocols, architectures and technologies for secure systems and services. |
|
-
CSC 4602 Fundamental Computer Science for Teachers (3) Also offered as ELRC 4512 . Prereq.: ELRC 4507 (or prior programming experience) and credit in an education methods course numbered 3000 or above. 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 4700 Special Topics in Computer Science (3) 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 4890 Introduction to Theory of Computation (3) Prereq.: CSC 2259 . Introduction to finite automata, regular expres-sions 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) 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. |
|
-
CSC 6100 Advanced Elements of Computer Science for Teachers (3) 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. |
|
-
CSC 7080 Computer Architecture (3) 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 7101 Programming Language Structures (3) 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) 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 Performance Evaluation of Computer and Communication Systems (3) 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 Software Engineering (3) 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 7200 Theory of Computation I (3) 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 Theory of Computation II (3) 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) 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) Characteristics of an algorithm; problems of algorithm existence; the design, implementation and complexity of algorithms; algorithm case studies. |
|
-
CSC 7333 Machine Learning (3) 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 Advanced Compiler Design Theory (3) 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 Graph Algorithms (3) 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 Algorithms for Parallel and Distributed Computing (3) 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 Computational Models for Mobile Robots (3) 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 Robot Vision (3) 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 Computational Geometry (3) 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 Computational Aspects of VLSI CAD (3) 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 Data Base Management Systems (3) 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 Parallel and VLSI Computation (3) Prereq.: . 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) 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) 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 Advanced Artificial Intelligence (3) Prereq.: CSC 4444 . Temporal and nonmonotonic logic; truth maintenance systems; probabilistic reasoning; deductive databases; automated learning, planning and tutoring; story under-standing; structure of domain dependent expert systems. |
|
-
CSC 7446 Soft Computing (3) 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 Programming and Performance Evaluation of Parallel Computers (3) 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 Information Retrieval Systems (3) Also offered as LIS 7610 . Prereq.: CSC 3102 or equivalent. Topics include commercially available retrieval systems, text content analysis, query processing models and current research problems. |
|
-
CSC 7500 System Modeling and Computer Simulation (3) 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 Advanced Computer Networks (3) 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 Advanced Computer and Network Security (3) Prereq.: CSC 4601 . Secret sharing; secret sharing homomorphism; verifiable secret sharing; electronic voting; advanced cryptography; anonymity on the net; wireless security. |
|
-
CSC 7540 Distributed Systems (3) 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 Computational Methods (3) Prereq.: CSC 4362 or equivalent. Synthesis, implementation and analysis of numerical algorithms; algorithm concept introduced in context of abstract schema. |
|
-
CSC 7600 High Performance Computing I (3) Prereq.: CSC 4362 or consent of instructor. Fundamental computational techniques required for scientific computing; important algorithms for parallel computation; high performance computing. |
|
-
CSC 7601 Design Issues in High-Speed Networks: Multicast, Pricing and Control (3) 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 Wireless Networks (3) 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 High Performance Computing II (3) 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 High Performance Computing III (3) Prereq.: CSC 7600 or equivalent. Basic stochastic simulation techniques for massively parallel computers; simulated annealing and routing algorithms. |
|
-
CSC 7700 Special Topics in Computer Science (3) May be taken for a max. of 12 hrs. of credit when topics vary. Specialized areas of current interest in computer science. |
|
-
CSC 7701 Sensor Networking Concepts (3) Prereq.: CSC 4501 or CSC 7501 . Self-organizing sensor networks; querying, and data aggregation; routing; energy-efficient communication protocols; sensor network security. |
|
-
CSC 7702 Telecommunications Networks (3) 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) Pass-fail grading. May be taken for a max. of 2 hrs. of credit when topics vary. Student presentations and discussions on research topics in computer science. |
|
-
CSC 7999 Selected Readings in Computer Science (1-3) Prereq.: consent of department chair. May be taken for a max. of 6 sem. hrs. of credit. |
|
-
CSC 9000 Dissertation Research (1-12 per sem.) “S”/”U”grading. |
|