|
Computer Science Courses (CSC) Introduction | Computer Science Courses | Computer Science Major BS | Mathematics Courses Index | Mathematics Major BA and BS | Mathematics Minor | Mathematics Second Major | Mathematics Teacher Education | Statistics Courses | Accelerated Masters Program
101 Introduction to Computer Concepts (3:3).Introduction to computers and computing. Topics cover impact of computers on society, ethical issues, hardware, and software applications. (FA,SP) 130 Introduction to Computer Science (3:2:2).Pr. acceptable score on the mathematics placement test or a grade of at least C in MAT 119 or 150. Programming in a high-level language. Emphasis on problem analysis, problem-solving techniques, and software design principles and techniques. (FA,SP) 230 Elementary Data Structures and Algorithms (3:3).Pr. grade of at least C in 130. Advanced syntax of high level language taught in CSC 130. Emphasis on modularization and abstraction. Big-O analysis of algorithms. Design and use of abstract data types with various implementations. (FA,SP) 231 Object-Oriented Programming and Data Structures (4:4).Pr. programming experience or grade of at least C in 130 Integrated study of object-oriented language with applications to data structures and algorithms. For students with programming experience equivalent to a one-semester course in a non-object-oriented language. (FA,SP) 237 Programming Language Laboratory (1 to 3; 1 to 3).
Syntax and use of a programming language. Language covered announced at preregistration. 261 Computer Organization and Assembly Language (3:3).Pr. grade of at least C in 230 and in MAT 253. CPU, memory, I/O devices, digital logic design, psw. Number representations and machine language. Assembly language instruction types, registers, addressing, arithmetic, instruction format, opcodes, pseudo-opcodes, assembler directives, system calls, and macros. (FA) 312 Ethics in Computer Science (1:1).Pr. grades of at least C in 230 and in MAT 253.
Historical and social context of computing, ethical responsibilities of the computing professional, intellectual property rights, and risks and liabilities. (SP) 322 Linear Programming (3:3).Pr. grade of at least C in MAT 310. Covers simplex computational procedure, minimum feasible solutions, artificial-basis technique, slack variables, perturbation techniques, cycling, parametric objective and dual problems, sensitivity analysis, and decomposition algorithms. 330 Advanced Data Structures (3:3).Pr. grades of at least C in 230 and in MAT 253. Static and dynamic data structures emphasizing binary trees and graphs. Advanced programming techniques. Advanced sorting and searching algorithms. Hashing techniques. Performance analysis. Methods of developing large applications programs. (FA,SP) 339 Concepts of Programming Languages (3:3).Pr. grade of at least C in 330. Concepts of block-structured, object-oriented, functional, logic, and concurrent programming languages. Comparative study of syntactic and semantic features of these languages and writing programs using them. (SP) 340 Software Engineering (3:3).Pr. grade of at least C in 330. Practical and theoretical concepts of software engineering. (SP) Courses For Advanced Undergraduates and Graduate Students521 Computer Graphics and Image Processing (3:3).Pr. grades of at least C in 330 and in MAT 353, or permission of instructor. Survey of graphics and image processing hardware, algorithms, data structures, and techniques. (Even SP) 523 Numerical Analysis and Computing (3:3).Pr. grades of at least C in 130, and in MAT 353 and MAT 293. Number systems and errors, solutions of non-linear and linear systems, eigenvalue problems, interpolation and approximation, numerical differentiation and integration, solution of differential equations. (Even FA) 524 Numerical Analysis and Computing (3:3).Pr. grade of at least C in 523. Continuation of 523 with special topics in numerical analysis, emphasis on applied mathematics. (Odd SP) 529 Artificial Intelligence (3:3).Pr. grade of at least C in 330. Knowledge representations. Resolution refutation systems. Best-first search algorithms. Heuristic, minimax, alpha-beta pruning techniques. Selected topics from machine learning, natural language processing, expert systems, neural networks. Functional or logic programming language. (Odd SP) 539 Introduction to Compiler Design (3:3).Pr. grades of at least C in 261 and 330 or permission of instructor
Basic techniques of compiler design and implementation: lexical analysis, parsing, code generation. Sizable programming project implementing a compiler for a block-structured language with strong typing. (Even SP) 553 Theory of Computation (3:3).Pr. grade of at least C in MAT 353 and programming experience . Finite state automata and regular expressions, context-free grammars, push-down automata and their use in parsing, overview of language translation systems, models for programming language semantics, computability and undecidability. (FA) 555 Algorithm Analysis and Design (3:3).Pr. grade of at least C in 330. Sequential algorithm design and complexity analysis. Dynamic programming. Greedy algorithms. Graph algorithms. Selected advanced topics from NP-completeness; approximation, randomized, parallel, number-theoretic algorithms; Fast Fourier Transform; computational geometry; string matching. (FA) 561 Principles of Computer Architecture (3:3).Pr. grades of at least C in 261, MAT 253 or permission of instructor. Hardware and software components of computer systems, their organization and operations. Topics: comparative instruction set architectures, microprogramming, memory management, processor management, I/O, interrupts, and emulation of processors. (FA) 562 Principles of Operating Systems (3:3).Pr. grades of at least C in 261 and 330 or permission of instructor
Techniques and strategies used in operating system design and implementation: managing processes, input/output, memory, scheduling, file systems, and protection. (SP) 563 Basic Systems Administration Laboratory (1:0:3).Coreq. 562 and 567, or knowledge of operating systems and networks Installing operating systems, peripherals, hardware, and software. Backups, recompiling the kernel (loading/unloading modules), providing web services, and user administration. (FA,SP) 564 Intermediate Systems Administration Laboratory (1:0:3).Pr. 563. Topics selected from routing, firewall, Primary Domain Controller, Backup Domain Controller, Domain Controller trust, SAMBA, DNS round robin, and PPP connectivity setup. (FA,SP) 565 Advanced Systems Administration Laboratory (1:0:3).Pr. 564. Automated installation, software installation, systems programming, system administration in a large organization. Projects will include departmental or university computer system work. (FA,SP) 567 Principles of Computer Networks (3:3).Pr. grades of at least C in CSC 261 and 330 or equivalent courses. Hardware and software components of computer networks, their organization and operations. Topics: open system interconnection; local area networks; TCP/IP internetworking, routing, and packet switching; network programming. (SP) 570 Principles of Database and Knowledge-Base Systems (3:3).Pr. grade of at least C in CSC 330, or permission of instructor. Contemporary database and knowledge-base systems. Emphasis on relational, extended relational, deductive, and object-oriented models. Query processing, modeling and implementation of applications in these models. (FA) 580 Cryptography and Security in Computing (3:3).Pr. 330 and one of 561, 562, 567, or 570; or permission of instructor. Modern development of cryptography and secure encryption protocols. Program security and viruses. Operating system protection. Network and distributed system security. Database security. Administering security. (FA) 589 Experimental Course: Introduction to Human-Computer Interaction (3:3).Pr. permission of instructor. General introduction to the field of human-computer interaction, the goal of which is the development of computer systems that can be used easily, effectively, and enjoyably. (Offered Spring 2000) 593, 594 Directed Study in Computer Science (1 to 3), (1 to 3). (FA,SP) |
|
|||||
|
|||||