| 101 | ESSENTIALS OF COMPUTER SCIENCE | 3 credits |
| Explore major topics in Computer Science - computing systems, data representation, hardware, programming topics, and important applications such as networks, robotics, databases, and gaming. | ||
| 125 | DESCRIPTIVE COMPUTER SCIENCE | 2 credits |
| Computer literacy: terminology; methods, media for data representation, storage; elements of a computing system; data organization. | ||
| 126 | INTRO TO VISUAL BASIC PROGRMG | 3 credits |
| Prerequisite: Completion of 3450:100 with a grade of C- or better or placement. Windows GUI and Microsoft's Visual BASIC programming environment. Design of user interfaces, event-driven programming, basic control structures, simple variables, arrays, and sequential files. | ||
| 209 | COMPUTER SCIENCE I | 4 credits |
| Prerequisite: Completion of 3450:145 or 3450:149 with a grade of C- or better or equivalent. Introduction to problem-solving methods and algorithms. Programming in a high-level language including how to design, code, debug and document programs with good programming style. | ||
| 210 | COMPUTER SCIENCE II | 4 credits |
| Prerequisites: 209 and 3450:208 with a grade of C- or better or equivalent. Dynamic memory allocation methods, elementary data structures, internal representations, and associated algorithms. Topics include lists, stacks, queues, trees, and sorting methods. | ||
| 289 | SEL T: COMPUTER SCIENCE | 1-3 credits |
| Prerequisite: permission. Selected topics of interest in computer science. | ||
| 306 | ASSEMBLY & SYSTEM PROGRAMMING | 4 credits |
| Prerequisite: Completion of 210 or equivalent with a grade of C- or better. Basic computer organization, digital logic, and data representation. Programming in assembly and C languages on a typical digital computer. | ||
| 307 | INTERNET SYSTEMS PROGRAMMING | 3 credits |
| Prerequisite: Completion of 210 or equivalent with a grade of C- or better. Overview of current programming languages, tool and scripting technologies for the Internet and World Wide Web. | ||
| 316 | DATA STRUCTURES | 3 credits |
| Prerequisites: Completion of 210 and (3450:221 or 3450:210) with grades of C- or better. A continuation of topics in 3460:210. Topics include: graphs and graph algorithms, external sorting, hashing, advanced tree and file structures. | ||
| 389 | INTER TOP: COMPUTER SCIENCE | 1-3 credits |
| Prerequisite: permission of instructor. Selected topics of interest in computer science at an intermediate level. | ||
| 395 | INTERN: COMPUTER SCIENCE | 1-12 credits |
| Prerequisites: Completion of 209 and 210 with grades of C- or better, and permission of a faculty supervisor. Placement in industry for experience related to computer science. (May be repeated. No more than three credits may be applied towards a computer science major.) | ||
| 406 | INTRODUCTION TO C & UNIX | 3 credits |
| Prerequisite: programming experience. Syntax of C with flow structures, pointers, and command line concepts. For UNIX, shell scripts, UNIX file structure, system calls and interprocess communication protocols. (Not an approved mathematics and computer science major, minor, or certificate elective.) | ||
| 408 | WINDOWS PROGRAMMING | 3 credits |
| Prerequisites: Completion of 208 or 210 or 406 with a grade of C- or better or permission. Windows operating systems, integrated development environment, event-driven programming, graphical user interface design, object libraries, component object model, object linking, embedding, client-server objects. | ||
| 418 | INTROD TO DISCRETE STRUCTURES | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better or permission. Introduction to a number of structures in algebra of particular use to student in computer science. Topics include algorithms and flow chart language, graphs and digraphs, trees, lattices codes. | ||
| 421 | OBJECT-ORIENTED PROGRAMMING | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better. Object-oriented design, analysis, and programming using different development models. Comparison with other programming paradigms. | ||
| 426 | OPERATING SYSTEMS | 3 credits |
| Prerequisites: Completion of 210 and (4450:320 or 3460:306), or equivalents with grades of C- or better. Introduction to aspects of all modern operating systems: types; storage management; process and resource control; interacting process synchronization. | ||
| 428 | UNIX SYSTEM PROGRAMMING | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better and knowledge of C. An overview of the UNIX operating system. Shell programming. Process management, processor management, storage management, scheduling algorithms, resource protection, and system programming. | ||
| 430 | THEORY OF PROGRAMMING LANGS | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better. Advanced concepts underlying programming languages and their applications, formal definitions of programming languages, Backus Normal Form, semantics. Alternative programming paradigms including functional programming. | ||
| 435 | ALGORITHMS | 3 credits |
| Prerequisite: Completion of 316 with a grade of C- or better. Design and analysis of efficient algorithms for random access machines; derivation of pattern classification algorithms. | ||
| 440 | COMPILER DESIGN | 3 credits |
| Prerequisites: Completion of 210 and (4450:320 or 3460:306), with a grade of C- or better. Techniques used in constructing compilers, including lexical and syntactic analysis, parsing techniques, object code generation and optimization. Course requires a compiler implementation project. | ||
| 445 | INTRODUCTION TO BIOINFORMATICS | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better or permission. Introduce major themes in bioinformatics. Topics include concepts of molecular genetics, biological databases, database searching, sequence alignments, phylogenetic trees, structure prediction, and microarray data analysis. | ||
| 453 | COMPUTER SECURITY | 3 credits |
| Prerequisites: Completion of 210 with a grade of C- or better. Principles of computer security -- cryptography, authentications, secure network protocols, intrusion detection and countermeasures. | ||
| 455 | DATA COMMUN & COMP NETWORKS | 3 credits |
| Prerequisites: Completion of 210 with a grade of C- or better. ISO-OSI, TCP/IP, SNA data switching, protocols, flow and error control, routing, topology, Network trends, network taxonomies, and socket-based programming. | ||
| 457 | COMPUTER GRAPHICS | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better and knowledge of C. Topics in vector and raster graphics, interactive graphics languages, scan conversion, clipping, geometric transformation, projection, shading, animation and virtual reality. | ||
| 460 | ARTIFICIAL INTEL & HEURIST PRG | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better. Study of various programs which have displayed some intelligent behavior. Exploration of level at which computers can display intelligence. | ||
| 463 | PERVASIVE COMPUTING | 3 credits |
| Prerequisites: Completion of 210 with a grade of C- or better. Computing from a wireless perspective. Topics include protocols, algorithms, security and sensor networks. | ||
| 465 | COMPUTER ARCHITECTURE | 3 credits |
| Prerequisite: Completion of 210 and (4450:320 or 3460:306), with a grade of C- or better. An introduction to the hardware organization of the computer at the register, processor and systems level. In-depth study of the architecture of a particular computer system family. | ||
| 468 | MOBILE ROBOTICS | 3 credits |
| Prerequisites: Completion of 210 with a grade of C- or better. Introduction to history, hardware and software components, and design of autonomous mobile robots. Multiple projects involving both physical robots and software emulation. | ||
| 475 | DATABASE MANAGEMENT | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better. Fundamentals of database organization, data manipulations and representation, data integrity, privacy. | ||
| 477 | INTRO TO PARALLEL PROCESSING | 3 credits |
| Prerequisites: Completion of 210 with a grade of C- or better and knowledge of C. Commercial processors: past and present. Parallel languages, models of parallel computation, parallel algorithm design and performance evaluation. Parallel paradigms with relation to real world applications. | ||
| 480 | SOFTWARE ENGINEERING | 3 credits |
| Prerequisite: Completion of 210 with a grade of C- or better. Introduction to formal software specification and validation. Introduction of methodologies and tools of design, development and validation, and maintenance. | ||
| 489 | T: COMPUTER SCIENCE | 1-3 credits |
| Prerequisite: permission of instructor. Selected topics in computer science at an advanced level. | ||
| 490 | SENIOR SEMINAR IN COMPUTER SCI | 3 credits |
| Prerequisite: Must have completed at least 30 hours of 3460 (computer science) courses. Professional software development, surviving "Mission Impossible" projects, computer ethics, intellectual property rights (patents and copyrights), and other current topics. | ||
| 497 | INDIV STUDY: COMPUTER SCIENCE | 1-3 credits |
| (May be repeated. Can apply to degree, minor or certificate only with department approval.) Prerequisite: permission. Directed studies designed as introduction to research problems under guidance of designated faculty member. | ||
| 498 | SR HONORS PROJ IN COMP SCIENCE | 1-3 credits |
| Prerequisites: 497 (honors). Directed study for senior student in the Honors Program who has completed 3460:497. An introduction to research problems in the computer science under the guidance of selected faculty. | ||
| 501 | FUNDAMENTLS OF DATA STRUCTURES | 3 credits |
| Prerequisite: programming experience in C. Basic data structures and algorithms: stacks, queues, linked lists, trees, hash tables, and graphs; sorting and search algorithms. Introduction to data abstraction and algorithm analysis. (May not be used to meet computer science requirements.) | ||
| 506 | INTRODUCTION TO C & UNIX | 3 credits |
| Prerequisite: Programming experience. C language programming. UNIX shell programming, file structure, system calls, and interprocess communication. (May not be used to meet computer science requirements.) | ||
| 508 | WINDOWS PROGRAMMING | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Windows operating systems, integrated development environment, event-driven programming, graphical user interface design, using object libraries, component object model, object linking and embedding, client-server objects. | ||
| 518 | INTRO TO DISCRETE STRUCTURES | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Introduction to algebraic structures of particular use in computer science. Topics include algorithms and flow chart language, graphs and digraphs, trees, and lattices codes. (May not be used to meet computer science Master's degree requirements.) | ||
| 521 | OBJECT-ORIENTED PROGRAMMING | 3 credits |
| Prerequisite: Admission to Computer Science master's program or permission. Object-oriented design, analysis, and programming using different development models. Comparison with other programming paradigms. | ||
| 526 | OPERATING SYSTEMS | 3 credits |
| Prerequisites: Admission to Computer Science master¿s program or permission. Introduction to aspects of all modern operating systems: types; storage management; process and resource control; interacting process synchronization. (May not be used to meet computer science master¿s degree requirements) | ||
| 528 | UNIX SYSTEM PROGRAMMING | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. An overview of the UNIX operating system. Shell programming. Process management, processor management, storage management, scheduling algorithms, resource protection, and system programming. | ||
| 530 | THEORY OF PROGRAMMING LANGS | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Advanced concepts underlying programming languages and their applications, formal definitions of programming languages, Backus Normal Form, semantics. Alternative programming paradigms including functional programming. (May not be used to meet computer science Master's degree requirements.) | ||
| 535 | ALGORITHMS | 3 credits |
| Prerequisites: Admission to Computer Science master's program or permission. Design and analysis of efficient algorithms for random access machines; derivation of pattern classification algorithms. | ||
| 540 | COMPILER DESIGN | 3 credits |
| Prerequisites: Admission to Computer Science master¿s program or permission. Techniques used in constructing compilers, including lexical and syntactic analysis, parsing techniques, object code generation and optimization. Course requires a compiler implementation project. | ||
| 545 | INTRODUCTION TO BIOINFORMATICS | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Introduce major themes in bioinformatics. Topics include concepts of molecular genetics, biological databases, database searching, sequence alignments, phylogenetic trees, structure prediction, and microarray data analysis. | ||
| 553 | COMPUTER SECURITY | 3 credits |
| Prerequisite: admission to Computer Science master's program or permission. Principles of computer security: cryptography, authentications, secure network protocols, intrusion detection and countermeasures. | ||
| 555 | DATA COMMUN & COMP NETWKS | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. ISO-OSI, TCP/IP, SNA data switching, protocols, flow and error control, routing, topology. Network trends, network taxonomies, and socket-based programming. | ||
| 557 | COMPUTER GRAPHICS | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Topics in vector and raster graphics, interactive graphics languages, scan conversion, clipping, geometric transformation, projection, shading, animation and virtual reality. | ||
| 560 | ARTIFICIAL INTEL & HEURIST PRG | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Study of various programs which have displayed some intelligent behavior. Exploration of level at which computers can display intelligence. | ||
| 563 | PERVASIVE COMPUTING | 3 credits |
| Prerequisite: admission to Computer Science master's program or permission. Computing from a wireless perspective. Topics include protocols, algorithms, security and sensor networks. | ||
| 565 | COMPUTER ARCHITECTURE | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. An introduction to hardware organization of computer at register, processor and system level. In-depth study of architecture of a particular computer system family. | ||
| 568 | MOBILE ROBOTICS | 3 credits |
| Prerequisite: admission to Computer Science master's program or permission. Introduction to history, hardware and software components, and design of autonomous mobile robots. Multiple projects involving both physical robots and software emulation. | ||
| 575 | DATABASE MANAGEMENT | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Fundamentals of database organization, data manipulations and representation, data integrity, privacy. | ||
| 577 | INTRO TO PARALLEL PROCESSING | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Commercial processors: past and present. Parallel languages, models of parallel computation. Emphasis on parallel algorithm design and performance evaluation. A broad study of parallel paradigms with relation to real world applications. | ||
| 580 | SOFTWARE ENGINEERING | 3 credits |
| Prerequisite: Admission to Computer Science master's program or permission. Introduction to formal software specification and validation. Introduction of methodologies and tools of design, development, validation, and maintenance. | ||
| 589 | T: COMPUTER SCIENCE | 1-3 credits |
| (May be repeated) Prerequisite: permission of instructor. Selected topics in computer science at an advanced level. | ||
| 597 | INDIV STUDY: COMPUTER SCIENCE | 1-3 credits |
| (May be repeated. Can apply to degree, minor or certificate only with department approval.) Prerequisite: permission. Directed studies designed as introduction to research problems under guidance of designated faculty member. | ||
| 601 | RESEARCH METHODOLOGY | 3 credits |
| Prerequisite: Admission to Computer Science graduate program or permission of instructor. Research process overview: literature review, formulation of problems, research design, writing proposals, data collection, data processing and analysis, evaluation, writing reports, and presenting results. | ||
| 626 | ADVANCED OPERATING SYSTEMS | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Advanced topics in operating system design: synchronization mechanisms, performance evaluation, security, distributed operating systems. | ||
| 630 | ADVANCED THEORY OF PRGMG LANGS | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. In-depth study of various issues in the design and implementation of programming languages, such as formal type systems, operational and other semantics, and verification. | ||
| 635 | ADVANCED ALGORITHMS | 3 credits |
| Prerequisite: Admission to Computer Science master's program or permission. Advanced graph algorithms, matrix multiplication, fast Fourier transforms, lower bound theory, complexity hierarchies, NP-complete and intractable problems, approximation techniques. | ||
| 641 | OPTIMIZ FOR PARALLEL COMPILERS | 3 credits |
| Prerequisite: Graduate standing and permission of instructor. Advanced analysis and transformation strategies to support automatic vectorization and parallelization of code, emphasizing restructuring to improve instruction scheduling. | ||
| 645 | COMPUTATIONAL BIOLOGY | 3 credits |
| Prerequisite: Admission to Computer Science graduate program or permission of instructor. Topics include sequence analysis, hidden Markov model, RNA structure prediction, microarray data analysis, biological networks, and molecular dynamics simulation as well as Monte Carlo simulation. | ||
| 653 | SOFTWARE SECURITY | 3 credits |
| Prerequisite: Admission to Computer Science graduate program or permission of instructor. Issues in software security -- common software security errors, steganography, spam, cryptography, malware, Internet hacking. | ||
| 655 | COMPUTER NETWORKS & DISTR PROC | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Interconnection technologies, protocol layering models, datagram and stream transport services, client-server paradigm, principles and protocols of interconnected networks operating as unified systems, and TCP/IP technology. | ||
| 658 | VISUALIZATION | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Visualization pipeline, data representation in visualization, visualization algorithms, object-oriented visualization, scientific visualization, volume visualization, visualization applications and research topics. | ||
| 660 | EXPERT SYSTEMS | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Architecture of expert systems, knowledge representation and acquisition, inference mechanisms for expert systems, uncertainty management, expert system tools and applications. | ||
| 665 | ADVANCED COMPUTER ARCHITECTURE | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Fundamentals of computer analysis and design, with emphasis on cost/performance tradeoffs. Studies of pipelined, vector, RISC, and multiprocessor architectures. | ||
| 670 | ADVANCED AUTOMATA & COMPUT | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. An in-depth study of concepts related to computability. Topics include nondeterministic automats, recursive function theory, the Chomsky hierarchy, Turing machines and undecidability. | ||
| 676 | DATA MINING | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Study fundamental data mining algorithms and their applications in the process of Knowledge Discovery from Databases. Study Data warehousing systems and architectures. | ||
| 677 | PARALLEL PROCESSING | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Advanced computer architectures, theories of parallel computing, system resources optimization, efficient programming languages and application requirements of cost-effective computer systems. Classical results and practical insights into implementing parallel algorithms on actual parallel machines. | ||
| 680 | SOFTWARE ENGR METHODOLOGIES | 3 credits |
| Prerequisite: admission to Computer Science Master's Program or permission. Introduction to current techniques and methodologies used in software design, development, validation, and maintenance. | ||
| 689 | ADV T: COMPUTER SCIENCE | 1-3 credits |
| (May be repeated) Prerequisite: permission of instructor. At most, six credits may be applied to Master's degree requirements. Selected topics in computer science at an advanced level. (Department consent required for application to computer science Master's degree requirements.) | ||
| 695 | PRACTICUM IN COMPUTER SCIENCE | 1-3 credits |
| Prerequisite: graduate teaching assistant or permission. Training and experience in college teaching of computer science under the supervision of an experienced faculty member. May not be used to meet degree requirements. Credit/non-credit. | ||
| 697 | INDIV STUDY: COMPUTER SCIENCE | 1-3 credits |
| (May be repeated. Can apply to degree only with department approval) Prerequisite: permission of instructor. Directed studies designed as introduction to research problems under guidance of designated faculty member. | ||
| 698 | MASTERS RESEARCH | 1-6 credits |
| Prerequisite: permission of advisor. Research in computer science topic culminating in research paper. No more than three credits may be applied to the minimum degree requirements (May be repeated.) | ||
| 699 | MASTERS THESIS | 1-6 credits |
| (May be repeated) Prerequisite: permission. Properly qualified candidate for a master's degree may enroll for research experience which culminates in presentation of a faculty-supervised thesis. | ||