|
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 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 1250 Introduction to Programming (3) Credit will not be given for this course and CSC 1253 or CSC 1350 . Fundamentals of problem solving, program design, algorithms and programming using a high-level language. |
|
-
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 1250 or CSC 1350 .
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 (4) Prereq.: credit or registration in MATH 1550 . Credit will not be given for both this course and CSC 1250 or CSC 1253 .
3 hrs. lecture; 3 hrs. lab. Fundamentals of algorithm development, program design and structured programming using an object-oriented language. |
|
-
CSC 1351 Computer Science II for Majors (4) Prereq.: CSC 1350 ; credit or registration in MATH 1550 . Credit will not be given for both this course and CSC 1254 . 3 hrs. lecture; 3 hrs. lab. 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 2259 Discrete Structures (3) Prereq.: credit or registration in CSC 1254 or CSC 1351 and 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 2463 Programming Digital Media (3) Prereq.: MATH 1021 ; credit or registration in CSC 1253 , CSC 1350 , or IE 2060 or ART 2050 or MUS 2732 or permission of instructor. Programming concepts motivated by digital media applications: real-time graphics, audio processing, simple hardware devices, integration of technologies into interactive systems. |
|
-
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 2610 Cloud Fundamentals & Web Programming (3) Prereq.: CSC 1254 or CSC 1351 or ISDS 3107 . Characteristics, theory and fundamentals of cloud computing and related technologies; cloud types, services and architectures; principles of application protocols and collaborative web platforms; applications in the areas of mobile and social computing; lightweight programming models; socket programming. |
|
-
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 2730 Data Science and Analytics (3) Prereq.: CSC 1254 or CSC 1351 or ISDS 3107 . Effective and efficient strategies for data capture; the relational database model, queries, and web programming; data mining and data warehousing process; descriptive statistics and visualization techniques; introduction to computational analysis and multidimensional analysis. |
|
-
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 2740 . 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 EE 3752 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; 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) 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 Computer Graphics (3) See ME 4583 . |
|
-
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 Database Systems (3) Prereq.: . Fundamentals of the relational data model; the SQL query language; E-R modeling and database design theory; storage structures and query optimization; transaction processing and concurrency control. |
|
-
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 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 4585 Multicore Programming (3) Prereq.: CSC 3102 . Multi-core processor architecture; shared-memory programming models; thread-level parallelism; efficient synchronization and performance monitoring; parallel programming design and implementation. |
|
-
CSC 4610 Cloud Systems and Virtualization (3) Prereq.: CSC 2610 , CSC 4103 , and credit or registration in CSC 4501 . Advanced problems and challenges in defining, developing, and building a cloud system; virtualization; open source computing; provisioning; fairness, reliability, security, and monitoring. |
|
-
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 4740 Big Data Technologies (3) Prereq.: CSC 2730 . Advanced analytics and management techniques applied to large-scale datasets; Hadoop/MapReduce, NoSQL and cloud technologies; applied data mining techniques; applications to social, web and mobile data, and bioinformatics. |
|
-
CSC 4890 Introduction to Theory of Computation (3) 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) 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 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 7135 Software Engineering (3) Prereq.: CSC 4330 . Formal specification techniques, design techniques, abstraction, information hiding, modularity, software testing, automated testing tools, maintainability factors and cost estimation. |
|
-
CSC 7150 Program Analysis and Model Checking (3) Prereq.: CSC 4890 or CSC 7101 or equivalent. Automata on infinite objects; Buechi Automata; Muller Automata; Rabin Automata; safety and liveness properties; linear temporal logic (LTL), from LTL to automoata; branching time logics; Knaster-Tarski fixpoint theorem; abstract interpretation. |
|
-
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 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 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 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 understanding; structure of domain dependent expert systems. |
|
-
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 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 7600 High Performance Computing I (3) Prereq.: 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 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 . Self-organizing sensor networks; querying, and data aggregation; routing; energy-efficient communication protocols; sensor network security. |
|
-
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. |
|