 |
 |
|
Twin Cities Courses
|
|
Future effective dates indicate the first term the
course may be available.
Find out when a particular course is offered using the
Class Schedule.
Register
for classes online.
|
|
COMPUTER SCIENCE (CSCI)
College of Science and Engineering
Computer Science and Engineering
|
|
CSCI
1001
- Overview of Computer Science
(MATH, TS)
(4.0 cr; Prereq-Non-CSci major, non-CompE major; spring, every year) Foundations/limits of today's computing/information technology. How to reason about applications and technological advances. Policy issues. Algorithms for automating solutions. Abstraction in design/problem solving. Concepts of computer databases, networks, expert systems human-computer interaction, Internet, Web, desktop software, and personal computers.
CSCI
1103
- Introduction to Computer Programming in Java
(4.0 cr; fall, every year) Fundamental programming concepts/software development using Java language. Problem solving skills. Algorithm development techniques. Use of abstractions/modularity. Data structures/abstract data types. Substantial programming projects. Weekly lab.
CSCI
1107
- FORTRAN Programming
(1.0 - 3.0 cr [max 3.0 cr]; Prereq-Transfer student; fall, spring, offered periodically) Not taught. Credit for transfer students who have taken a freshman- or sophomore-level FORTRAN class.
CSCI
1109
- C# Programming
(1.0 - 3.0 cr [max 3.0 cr]; Prereq-Transfer student; fall, spring, offered periodically) Not taught. Credit for transfer students who have taken a freshman- or sophomore-level C# class.
CSCI
1113
- Introduction to C/C++ Programming for Scientists and Engineers
(4.0 cr; Prereq-Math 1271 or Math 1371 or Math 1571H or #; fall, spring, summer, every year) Programming for scientists/engineers. C/C++ programming constructs, object-oriented programming, software development, fundamental numerical techniques. Exercises/examples from various scientific fields.
CSCI
1133
- Introduction to Computing and Programming Concepts
(4.0 cr; Prereq-&MATH 1271 or &MATH 1371 or &MATH 1571H or #; fall, spring, summer, every year) Fundamental programming concepts using Python language. Problem solving skills, recursion, object-oriented programming. Algorithm development techniques. Use of abstractions/modularity. Data structures/abstract data types. Develop programs to solve real-world problems.
CSCI
1901
- Structure of Computer Programming I
(4.0 cr; =[CSCI 1901H]; Prereq-&MATH 1271 or equiv or #; fall, spring, summer, every year) Recursion as algorithm development technique. Use of abstractions to hide program details. Use of modularity to manage complexity. Objects, data structures. Programming language Scheme as implementation vehicle. Introduction to Python as transition to other programming languages.
CSCI
1901H
- Honors Structure of Computer Programming
(4.0 cr; =[CSCI 1901]; Prereq-[MATH 1271 or MATH 1371 or MATH 1571H], honors student; A-F only, fall, every year) Key concepts in computer science: recursion, abstraction, modularity, data structures, algorithms, problem solving strategies. Programming languages Scheme and Python. More advanced computer topics as time permits.
CSCI
1902
- Structure of Computer Programming II
(4.0 cr; Prereq-1901 or #; fall, spring, summer, every year) Object-oriented programming using language such as C++ or Java. Builds on 1901, presenting additional data structures/algorithms. Object-oriented approach to implement data structures/operations as abstract data types.
CSCI
1905
- Freshman Seminar
(1.0 - 3.0 cr [max 6.0 cr]; Prereq-Fr; fall, spring, offered periodically) Topics vary. See Class Schedule.
CSCI
1913
- Introduction to Algorithms, Data Structures, and Program Development
(4.0 cr; Prereq-1103 or 1113 or #; fall, spring, summer, every year) Advanced object oriented programming to implement abstract data types(stacks, queues, linked lists, hash tables, binary trees) using Java language. Searching/sorting algorithms. Basic algorithmic analysis. Scripting languages using Python language. Substantial programming projects. Weekly lab.
CSCI
2011
- Discrete Structures of Computer Science
(4.0 cr; =[CSCI 2011H]; Prereq-MATH 1271 or MATH 1371 or #; fall, spring, every year) Foundations of discrete mathematics. Sets, sequences, functions, big-O, propositional/predicate logic, proof methods, counting methods, recursion/recurrences, relations, trees/graph fundamentals.
CSCI
2011H
- Honors Discrete Structures of Computer Science
(4.0 cr; =[CSCI 2011]; Prereq-[MATH 1271 or MATH 1371 or MATH 1571H], honors student.; A-F only, spring, every year) Foundations of discrete mathematics. Sets, sequences, functions, big-O, propositional/predicate logic, proof
methods, counting methods, recursion/recurrences, relations, trees/graph fundamentals. Advanced topics in discrete structures as time permits.
CSCI
2021
- Machine Architecture and Organization
(4.0 cr; Prereq-1902 or #; fall, spring, every year) Introduction to hardware/software components of a computer system: data representation, boolean algebra, machine-level programs, instruction set architecture, processor organization, memory hierarchy, virtual memory,
compiling, linking. Programming in C.
CSCI
2033
- Elementary Computational Linear Algebra
(4.0 cr; Prereq-MATH 1271 or MATH 1371 or #; fall, spring, every year) Matrices and linear transformations, basic theory. Linear vector spaces. Inner product spaces. Systems of linear equations, Eigenvalues, and singular values. Algorithms and computational matrix methods using MATLAB. Use of matrix methods to solve a variety of computer science problems.
CSCI
2980
- Special Topics in Computer Science
(1.0 - 4.0 cr [max 8.0 cr]; Prereq-#; A-F or Aud, fall, spring, offered periodically) Special topics. Lectures, informal discussions.
CSCI
3003
- Introduction to Computing in Biology
(3.0 cr; Prereq-1002H or Biol 1002 or 1009H or Biol 1009 or equiv or #; spring, every year) Emphasizes computing tasks common in biology. Programming techniques: variables, flow control, input/output, strings, pattern matching, arrays, hash tables, functions, subroutines. Concepts in computing: algorithms, complexity, documentation, regular expressions/grammars, local variables, encapsulation. Students complete lab projects in Perl language.
CSCI
3081W
- Program Design and Development
(WI)
(4.0 cr; =[CSCI 4081W, CSCI 4089]; Prereq-[1902, 2021] or #; fall, spring, every year) Principles of programming design/analysis. Concepts in software development. Uses C/C++ language to illustrate key ideas in program design/development, data structures, debugging, files, I/O, state machines, testing, and coding standards.
CSCI
3921W
- Social, Legal, and Ethical Issues in Computing
(CIV, WI)
(3.0 cr; Prereq-At least soph or #; fall, every year) Impact of computers on society. Computer science perspective of ethical, legal, social, philosophical, political, and economic aspects of computing.
CSCI
3970
- Industrial Student Co-op Assignment
(2.0 cr [max 4.0 cr]; Prereq-CSci, in co-op program, #; S-N or Aud, fall, spring, every year) Industrial work assignment in a co-op program involving advanced
computer technology. Reviewed by a faculty member. Grade based on final written report.
CSCI
3980
- Undergraduate Colloquium
(1.0 cr [max 2.0 cr]; Prereq-Upper div CSci; can be repeated for cr; fall, spring, offered periodically) Current computing trends and hot topics; industrial and career related topics; research topics; research projects and undergraduate research
opportunities; graduate school options.
CSCI
4011
- Formal Languages and Automata Theory
(4.0 cr; Prereq-[1902, 2011] or #; fall, spring, every year) Logical/mathematical foundations of computer science. Formal languages, their correspondence to machine models. Lexical analysis, string matching, parsing. Decidability, undecidability, limits of computability. Computational complexity.
CSCI
4041
- Algorithms and Data Structures
(4.0 cr; =[CSCI 4041H]; Prereq-1902 and 2011 or #; cannot be taken for grad CSci cr; fall, spring, every year) Rigorous analysis of algorithms and their implementation. Algorithm analysis, sorting algorithms, binary trees, heaps, priority queues, heapsort, balanced binary search trees, AVL trees, hash tables and hashing, graphs, graph traversal, single source shortest path, minimum cost spanning trees.
CSCI
4041H
- Algorithms and Data Structures
(4.0 cr; =[CSCI 4041]; Prereq-[1902, 2011, honors student] or #. Cannot be taken for Grad CSci cr; A-F only, fall, every year) Rigorous analysis of algorithms/implementation. Algorithm analysis, sorting algorithms, binary trees, heaps, priority queues, heapsort, balanced binary search trees, AVL trees, hash tables/hashing, graphs, graph traversal, single source shortest path, minimum cost spanning trees.
CSCI
4061
- Introduction to Operating Systems
(4.0 cr; Prereq-2021 or EE 2361; no cr for grads in CSci; fall, spring, every year) Processes/threads, process coordination, interprocess communication, asynchronous events, memory management/file systems. Systems programming projects using operating system interfaces and program development tools.
CSCI
4107
- Introduction to Computer Graphics Programming
(3.0 cr; =[CSCI 5607]; Prereq-4041 or #; cannot be taken for grad CSci cr; spring, every year) Theory/practice of computer graphics programming using C/C++ and OpenGL. Practical concepts in computer graphics modeling, rendering, and animation. Emphasizes effective use of graphics toolkits.
CSCI
4131
- Internet Programming
(3.0 cr; =[CSCI 5131]; Prereq-4061, 4211 recommended, cannot be taken for grad CSci cr; fall, spring, every year) Issues in internet programming. Internet history, architecture/protocols, network programming, Web architecture. Client-server architectures and protocols. Client-side programming, server-side programming, dynamic HTML, Java programming, object-oriented architecture/design, distributed object computing, Web applications.
CSCI
4203
- Computer Architecture
(4.0 cr; =[EE 5361, EE 4363]; Prereq-2021 or #; fall, spring, every year) Introduction to computer architecture. Aspects of computer systems, such as pipelining, memory hierarchy, and input/output systems. Performance metrics. Examins each component of a complicated computer system.
CSCI
4211
- Introduction to Computer Networks
(3.0 cr; =[CSCI 5211]; Prereq-4061 or #; basic knowledge of [computer architecture, operating systems] recommended, cannot be taken for grad CSci cr; fall, spring, every year) Concepts, principles, protocols, and applications of computer networks. Layered network architectures, data link protocols, local area networks, routing, transport, network programming interfaces, networked applications. Examples from Ethernet, Token Ring, TCP/IP, HTTP, WWW.
CSCI
4511W
- Introduction to Artificial Intelligence
(WI)
(4.0 cr; =[CSCI 5511]; Prereq-2011 or #; cannot be taken for grad CSci cr; spring, every year) Problem solving, search, inference techniques. Knowledge representation. Planning. Machine learning. Robotics. Lisp programming language.
CSCI
4707
- Practice of Database Systems
(3.0 cr; =[CSCI 5707, INET 4707]; Prereq-4041 or #; fall, spring, every year) Concepts, conceptual data models, case studies, common data manipulation languages, logical data models, database design, facilities for database security/integrity, applications.
CSCI
4921
- History of Computing
(TS, HIS)
(3.0 cr; =[HSCI 4321]; fall, even years) Developments in last 150 years; evolution of hardware and software; growth of computer and semiconductor industries and their relation to other businesses; changing relationships resulting from new data-gathering and analysis techniques; automation; social and ethical issues.
CSCI
4950
- Senior Software Project
(3.0 cr [max 6.0 cr]; Prereq-Upper div CSci, #; A-F only, fall, spring, every year) Student teams develop a software system, distribute system to users, and extend/maintain it in response to their needs. Software engineering techniques. Software development, team participation, leadership.
CSCI
4970W
- Advanced Project Laboratory
(WI)
(3.0 cr [max 9.0 cr]; Prereq-Upper div CSci, 4061, #; cannot be taken for grad cr; fall, spring, every year) Formulate and solve open-ended project: design, implement, interface, document, test. Team work strongly encouraged. Arranged with CSci faculty.
CSCI
4980
- Special Topics in Computer Science for Undergraduates
(1.0 - 3.0 cr [max 9.0 cr]; Prereq-Undergrad, #; no cr for grads in [CSci or CompE]; A-F or Aud, fall, spring, offered periodically) Lectures and informal discussions on current topics in computer science.
CSCI
4994H
- Honors Thesis
(1.0 - 3.0 cr [max 6.0 cr]; Prereq-Honors student, #; A-F only, fall, spring, summer, every year) Research work for an honors thesis arranged with a CS faculty member who is the adviser or coadviser.
CSCI
5103
- Operating Systems
(3.0 cr; Prereq-4061 or #; fall, every year) Conceptual foundation of operating system designs and implementations. Relationships between operating system structures and machine architectures. UNIX implementation mechanisms as examples.
CSCI
5104
- System Modeling and Performance Evaluation
(3.0 cr; Prereq-5103 or #; fall, spring, offered periodically) Techniques for modeling computing systems for performance evaluation through analytical/simulation techniques. How to model computing systems and communications protocols to evaluate their performance under different operating conditions.
CSCI
5105
- Introduction to Distributed Systems
(3.0 cr; Prereq-[5103 or equiv] or #; spring, offered periodically) Distributed system design and implementation. Distributed communication and synchronization, data replication and consistency, distributed file systems, fault tolerance, and distributed scheduling.
CSCI
5106
- Programming Languages
(3.0 cr; Prereq-4011 or #; fall, every year) Design and implementation of high-level languages. Course has two parts: (1) language design principles, concepts, constructs; (2) language paradigms, applications. Note: course does not teach how to program in specific languages.
CSCI
5115
- User Interface Design, Implementation and Evaluation
(3.0 cr; Prereq-4041 or #; fall, every year) Theory, design, programming, and evaluation of interactive application interfaces. Human capabilities and limitations, interface design and engineering, prototyping and interface construction, interface evaluation, and topics such as data visualization and World Wide Web. Course is built around a group project.
CSCI
5117
- Developing the Interactive Web
(3.0 cr; Prereq-4131 or 5131 or #; upper div or grad in CSci recommended; spring, odd years) Hands-on design experience using modern web development tools. Students work in teams to develop software programs using each of four toolkits. Analyze developments in forum posts and classroom discussions.
CSCI
5125
- Collaborative and Social Computing
(3.0 cr; Prereq-5115 or #; spring, odd years) Introduction to computer-supported cooperative work, social computing. Technology, research methods, theory, case studies of group computing systems. Readings, hands-on experience.
CSCI
5129
- e-Public Health: Online Intervention Design
(3.0 cr; fall, offered periodically) Planning, design, implementation, and evaluation of Internet-based public health interventions. Students work on interdisciplinary team projects. Instructors and students drawn from computer science, public health, and communications disciplines.
CSCI
5131
- Advanced Internet Programming
(3.0 cr; =[CSCI 4131]; Prereq-5106 or 5211 or #; [[4081 or 5801], 5707, grad student] recommended; spring, offered periodically) Issues in Internet programming: Java programming, concurrent programming, workflow, distributed databases, security, collaborative computing, object-oriented architecture/design, network publishing, messaging architecture, distributed object computing, internets.
CSCI
5143
- Real-Time and Embedded Systems
(3.0 cr; Prereq-[4061 or #], experience with C language; A-F only, spring, offered periodically) Real-time systems that require timely response by computer to external stimulus. Embedded systems in which computer is part of machine. Increasing importance of these systems in commercial products. How to control robots and video game consoles. Lecture, informal lab.
CSCI
5161
- Introduction to Compilers
(3.0 cr; Prereq-[2021, 5106] or #; spring, every year) Techniques for translating modern programming languages to intermediate forms or machine-executable instructions/their organization into compiler. Lexical analysis, syntax analysis, semantic analysis, data flow analysis, code generation. Compiler project for prototypical language.
CSCI
5204
- Advanced Computer Architecture
(3.0 cr; =[00696]; Prereq-4203 or EE 4363; fall, every year) Instruction set architecture, processor microarchitecture, memory, I/O systems. Interactions between computer software and hardware. Methodologies of computer design.
CSCI
5211
- Data Communications and Computer Networks
(3.0 cr; =[CSCI 4211]; Prereq-[4061 or #], basic knowledge of [computer architecture, operating systems, probability], grad student; fall, every year) Cconcepts, principles, protocols, and applications of computer networks. Layered network architectures, data link protocols, local area networks, network layer/routing protocols, transport, congestion/flow control, emerging high-speed networks, network programming interfaces, networked applications. Case studies using Ethernet, Token Ring, FDDI, TCP/IP, ATM, Email, HTTP, and WWW.
CSCI
5221
- Foundations of Advanced Networking
(3.0 cr; Prereq-4211 or 5211 or equiv; intro course in computer networks recommended; spring, odd years) Design principles, protocol mechanisms. Network algorithmics, implementation techniques. Advanced network architectures, state-of-art/emerging networking technologies/applications, network modeling. Simulation, experiments.
CSCI
5231
- Wireless and Sensor Networks
(3.0 cr; Prereq-4211 or 5211 or #; spring, even years) Enabling technologies, including hardware, embedded operating systems, programming environment, communication, networking, and middleware services. Hands-on experience in programming tiny communication devices.
CSCI
5271
- Introduction to Computer Security
(3.0 cr; Prereq-4061 or equiv or #; fall, every year) Concepts of computer, network, and information security.
Risk analysis, authentication, access control, security evaluation, audit trails, cryptography, network/database/application security, viruses, firewalls.
CSCI
5302
- Analysis of Numerical Algorithms
(3.0 cr; Prereq-2031 or 2033 or #; spring, every year) Additional topics in numerical analysis. Interpolation, approximation, extrapolation, numerical integration/differentiation, numerical solutions of ordinary differential equations. Introduction to optimization techniques.
CSCI
5304
- Computational Aspects of Matrix Theory
(3.0 cr; Prereq-2031 or 2033 or #; fall, every year) Perturbation theory for linear systems and eigenvalue problems. Direct/iterative solution of large linear systems. Matrix factorizations. Computation of eigenvalues/eigenvectors. Singular value decomposition. LAPACK/other software packages. Introduction to sparse matrix methods.
CSCI
5403
- Computational Complexity
(3.0 cr; Prereq-4041 or #; fall, spring, offered periodically) Computational models, complexity measures in each model, and related complexity classes.
CSCI
5421
- Advanced Algorithms and Data Structures
(3.0 cr; Prereq-4041 or #; fall, spring, every year) Fundamental paradigms of algorithm and data structure design. Divide-and-conquer, dynamic programming, greedy method, graph algorithms, amortization, priority queues and variants, search structures, disjoint-set structures. Theoretical underpinnings. Examples from various problem domains.
CSCI
5451
- Introduction to Parallel Computing: Architectures, Algorithms, and Programming
(3.0 cr; Prereq-4041 or #; spring, every year) Parallel architectures design, embeddings, routing. Examples of parallel computers. Fundamental communication operations. Performance metrics. Parallel algorithms for sorting. Matrix problems, graph problems, dynamic load balancing, types of parallelisms. Parallel programming paradigms. Message passing programming in MPI. Shared-address space programming in openMP or threads.
CSCI
5461
- Functional Genomics, Systems Biology, and Bioinformatics
(3.0 cr; Prereq-3003 or 4041 or #; spring, every year) Computational methods for analyzing, integrating, and
deriving predictions from genomic/proteomic data. Analyzing gene expression, proteomic data, and protein-protein interaction networks. Protein/gene function prediction, Integrating diverse data, visualizing genomic datasets.
CSCI
5471
- Modern Cryptography
(3.0 cr; Prereq-[2011, 4041, [familiarity with number theory or finite fields]] or #; fall, spring, offered periodically) Introduction to cryptography. Theoretical foundations, practical applications. Threats, attacks, and countermeasures, including cryptosystems and cryptographic protocols. Secure systems/networks. History of cryptography, encryption (conventional, public key), digital signatures, hash functions, message authentication codes, identification, authentication, applications.
CSCI
5481
- Computational Techniques for Genomics
(3.0 cr; Prereq-4041 or #; fall, every year) Techniques to analyze biological data generated by genome sequencing, proteomics, cell-wide measurements of gene expression changes. Algorithms for single/multiple sequence alignments/assembly. Search algorithms for sequence databases, phylogenetic tree construction algorithms. Algorithms for gene/promoter and protein structure prediction. Data mining for micro array expression analysis. Reverse engineering of regulatory networks.
CSCI
5511
- Artificial Intelligence I
(3.0 cr; =[CSCI 4511W]; Prereq-[2011 or #], grad student; fall, every year) Introduction to AI. Problem solving, search, inference techniques. Logic/theorem proving. Knowledge representation, rules, frames, semantic networks. Planning/scheduling. Lisp programming language.
CSCI
5512
- Artificial Intelligence II
(3.0 cr; =[CSCI 5512W]; Prereq-[STAT 3021, 4041] or #; spring, every year) Uncertainty in artificial intelligence. Probability as a model of uncertainty, methods for reasoning/learning under uncertainty, utility theory, decision-theoretic methods.
CSCI
5521
- Pattern Recognition
(3.0 cr; Prereq-[[2031 or 2033], STAT 3021] or #; fall, offered periodically) Problems of pattern recognition, feature selection, measurement techniques. Classification methods: statistical decision theory, nonstatistical techniques. Automatic feature selection and data clustering. Syntactic pattern recognition. Mathematical pattern recognition and artificial intelligence. Applications in information retrieval and WWW data mining.
CSCI
5523
- Introduction to Data Mining
(3.0 cr; Prereq-4041 or equiv or #; fall, spring, offered periodically) Data pre-processing techniques, data types, similarity measures, data visualization/exploration. Predictive models (e.g., decision trees, SVM, Bayes, K-nearest neighbors, bagging, boosting). Model evaluation techniques, Clustering (hierarchical, partitional, density-based), association analysis, anomaly detection. Case studies from areas such as earth science, the Web, network intrusion, and genomics. Hands-on projects.
CSCI
5525
- Machine Learning
(3.0 cr; Prereq-Grad student or #; fall, even years) Models of learning. Supervised algorithms such as perceptrons, logistic regression, and large margin methods (SVMs, boosting). Hypothesis evaluation. Learning theory. Online algorithms such as winnow and weighted majority. Unsupervised algorithms, dimensionality reduction, spectral methods. Graphical models.
CSCI
5551
- Introduction to Intelligent Robotic Systems
(3.0 cr; Prereq-2031 or 2033 or #; fall, offered periodically) Transformations, kinematics/inverse kinematics, dynamics, control. Sensing (robot vision, force control, tactile sensing), applications of sensor-based robot control, robot programming, mobile robotics, microrobotics.
CSCI
5552
- Sensing and Estimation in Robotics
(3.0 cr; Prereq-[5551, Stat 3021] or #; spring, offered periodically) Bayesian estimation, maximum likelihood estimation, Kalman filtering, particle filtering. Sensor modeling and fusion. Mobile robot motion estimation (odometry, inertial,laser scan matching, vision-based) and path planning. Map representations, landmark-based localization, Markov localization, simultaneous localization/mapping (SLAM), multi-robot localization/mapping.
CSCI
5561
- Computer Vision
(3.0 cr; Prereq-5511 or #; spring, every year) Issues in perspective transformations, edge detection, image filtering, image segmentation, and feature tracking. Complex problems in shape recovery, stereo, active vision, autonomous navigation, shadows, and physics-based vision. Applications.
CSCI
5607
- Fundamentals of Computer Graphics 1
(3.0 cr; =[CSCI 4107]; Prereq-&2033, &3081; fall, every year) Fundamental algorithms in computer graphics. Emphasizes programming projects in C/C++. Scan conversion, hidden surface removal, geometrical transformations, projection, illumination/shading, parametric cubic curves, texture mapping, antialising, ray tracing. Developing graphics software, graphics research.
CSCI
5608
- Fundamentals of Computer Graphics II
(3.0 cr; Prereq-5607 or #; spring, offered periodically) Advanced topics in image synthesis, modeling, rendering. Image processing, image warping, global illumination, non-photorealistic rendering, texture synthesis. Parametric cubic surfaces, subdivision surfaces, acceleration techniques, advanced texture mapping. Programming in C/C++.
CSCI
5609
- Visualization
(3.0 cr; Prereq-[1913, 4041] or equiv or #; fall, even years) Fundamental theory/practice in data visualization. Programming applications. Perceptual issues in effective data representation, multivariate visualization, information visualization, vector field/volume visualization.
CSCI
5707
- Principles of Database Systems
(3.0 cr; =[INET 4707, CSCI 4707]; Prereq-[4041 or #], grad student; fall, every year) Concepts, database architecture, alternative conceptual data models, foundations of data manipulation/analysis, logical data models, database designs, models of database security/integrity, current trends.
CSCI
5708
- Architecture and Implementation of Database Management Systems
(3.0 cr; Prereq-4707 or 5707 or #; spring, every year) Techniques in commercial/research-oriented database systems. Catalogs. Physical storage techniques. Query processing/optimization. Transaction management. Mechanisms for concurrency control, disaster recovery, distribution, security, integrity, extended data types, triggers, and rules.
CSCI
5801
- Software Engineering I
(3.0 cr; Prereq-[1902, 2011] or #; fall, every year) Advanced introduction to software engineering. Software life cycle, development models, software requirements analysis, software design, coding, maintenance.
CSCI
5802
- Software Engineering II
(3.0 cr; Prereq-5801 or #; spring, offered periodically) Introduction to software testing, software maturity models, cost specification models, bug estimation, software reliability models, software complexity, quality control, and experience report. Student groups specify, design, implement, and test partial software systems. Application of general software development methods and principles from 5801.
CSCI
5980
- Special Topics in Computer Science
(1.0 - 3.0 cr [max 9.0 cr]; Prereq-#; may be repeated for cr; fall, spring, offered periodically) Lectures and informal discussions on current topics in computer science.
CSCI
5991
- Independent Study
(1.0 - 3.0 cr [max 9.0 cr]; Prereq-#; may be repeated for cr; fall, spring, summer, every year) Independent study arranged with CS faculty member.
CSCI
5994
- Directed Research
(1.0 - 3.0 cr [max 9.0 cr]; Prereq-#; may be repeated for cr; fall, spring, summer, every year) Directed research arranged with faculty member.
CSCI
5996
- Curricular Practical Training
(1.0 cr [max 3.0 cr]; Prereq-[CSci or CompE] major, #; S-N or Aud, fall, spring, summer, every year) Industrial work assignment involving advanced computer technology. Reviewed by faculty member. Grade based on final report covering work assignment.
CSCI
8001
- Introduction to Research in Computer Science I
(1.0 cr; Prereq-1st yr CS PhD student; A-F only, fall, every year) First of two-part sequence course. Students must take both parts to complete course and receive grade. Conducting literature review. Identifying research questions. Writing a research proposal. Research areas in CS. Practical research skills. Research ethics. Resources.
CSCI
8002
- Introduction to Research in Computer Science, II
(2.0 cr; Prereq-8001, 1st yr CS PhD student; A-F only, spring, every year) Second of two-part sequence course. Students must take both parts to complete course and receive grade. Conducting literature review. Identifying research questions. Writing a research proposal. Research areas in CS. Practical research skills. Research ethics. Resources.
CSCI
8101
- Advanced Operating Systems
(3.0 cr; Prereq-5103 or #; fall, offered periodically) Successful research systems and existing theory of systems design. Goal is not merely to catalog systems or learn mathematics, but to develop a sense of elegance of design that leads to successful systems.
CSCI
8102
- Foundations of Distributed Computing
(3.0 cr; Prereq-8101 or #; spring, offered periodically) Fundamental principles underlying design of distributed and multiprocessor operating systems. Foundations of distributed computing systems; shared multiprocessor systems.
CSCI
8115
- Human-Computer Interaction and User Interface Technology
(3.0 cr; Prereq-5115 or #; fall, spring, offered periodically) Current research issues in human-computer interaction, user interface toolkits and frameworks, and related areas. Research techniques, model-based development, gesture-based interfaces, constraint-based programming, event processing models, innovative systems, HCI in multimedia systems.
CSCI
8117
- Understanding the Social Web
(3.0 cr; Prereq-CS grad or #; fall, spring, offered periodically) Research on the social web. Read, present, and discuss papers, do homework using social web research techniques such as data analysis and simulation. Semester research project.
CSCI
8161
- Advanced Compiler Techniques
(3.0 cr; Prereq-4061 or #; fall, spring, offered periodically) Techniques for uniprocessors and parallel computers. Fundamental program analysis instruments such as data flow analysis and data dependence analysis. Variety of code generation and transformation techniques.
CSCI
8205
- Parallel Computer Organization
(3.0 cr; =[EE 8367]; Prereq-5204 or EE 5364 or #; spring, every year) Design/implementation of multiprocessor systems. Parallel machine organization, system design. Differences between parallel, uniprocessor machines. Programming models. Synchronization/communication. Topologies, message routing strategies. Performance optimization techniques. Compiler, system software issues.
CSCI
8211
- Advanced Computer Networks and Their Applications
(3.0 cr; Prereq-5211 or #; fall, spring, offered periodically) Current research issues in traffic and resource management, quality-of-service provisioning for integrated services networks (such as next-generation Internet and ATM networks) and multimedia networking.
CSCI
8271
- Security and Privacy in Computing
(3.0 cr; Prereq-[5211, 5103] or #; 5471 or EE 5248 or Math 5248 or equiv recommended; A-F or Aud, fall, offered periodically) Recent security/privacy issues in computer systems/networks. Threats, attacks, countermeasures. Security research, authentication, network security, wireless security, computer system security, anonymous system, pseudonym, access control, intrusion detection system, cryptographic protocols. How to pursue research in security and design secure systems.
CSCI
8314
- Sparse Matrix Computations
(3.0 cr; Prereq-5304 or numerical linear algebra course or #; spring, offered periodically) Sparsity and sparse matrices. Data structures for sparse matrices. Direct methods for sparse linear systems. Reordering techniques to reduce fill-in such as minimal degree ordering and nested dissection ordering. Iterative methods. Preconditioning algorithms. Algorithms for
sparse eigenvalue problems and sparse least-squares.
CSCI
8333
- FTE: Master's
(1.0 cr; Prereq-Master's student, adviser and DGS consent; No Grade, fall, spring, summer, every year) (No description)
CSCI
8363
- Numerical Linear Algebra in Data Exploration
(3.0 cr; Prereq-5304 or #; spring, offered periodically) Computational methods in linear algebra, matrix decompositions for linear equations, least squares, eigenvalue problems, singular value decomposition, conditioning, stability in method for machine learning, large data collections. Principal directions, unsupervised clustering, latent semantic indexing, linear least squares fit. Markov chain models on hyperlink structure.
CSCI
8442
- Computational Geometry and Applications
(3.0 cr; Prereq-5421 or #; spring, offered periodically) Designing efficient algorithms and data structures for geometric problems. Models of computation, convex hulls, geometric duality, multidimensional search, Voronoi diagrams and Delauney triangulations, linear programming
in fixed dimensions, lower bound techniques. Applications, advanced topics.
CSCI
8444
- FTE: Doctoral
(1.0 cr; Prereq-Doctoral student, adviser and DGS consent; No Grade, fall, spring, summer, every year) (No description)
CSCI
8551
- Intelligent Agents
(3.0 cr; Prereq-5511 or #; fall, offered periodically) Theories of intelligent agents. Agent architectures; knowledge representation, communication, cooperation, and negotiation among multiple agents; planning and learning; issues in designing agents with a physical body; dealing with sensors and actuators; world modeling.
CSCI
8666
- Doctoral Pre-Thesis Credits
(1.0 - 6.0 cr [max 12.0 cr]; Prereq-Doctoral student who has not passed prelim oral; no required consent for 1st/2nd registrations, up to 12 combined cr; % for 3rd/4th registrations, up to 24 combined cr; doctoral student admitted before summer 2007 may register up to four times, up to 60 combined cr; No Grade, fall, spring, summer, every year) tbd
CSCI
8701
- Overview of Database Research
(3.0 cr; Prereq-5708 or #; fall, spring, offered periodically) Research papers from journals and conferences on current topics in databases, such as database research methodologies, relational implementation techniques, active databases, storage systems, benchmarking, distributed and parallel databases, new data models, prototype systems, data mining, and future directions.
CSCI
8715
- Spatial Databases and Applications
(3.0 cr; Prereq-4707 or 5707 or GIS 5571 or GIS 5573; fall, spring, offered periodically) Motivation, Models of spatial information, querying spatial data, processing strategies for spatial queries, multi-dimensional storage/access methods, spatial graph datasets, spatial data mining, trends (e.g., spatio-temporal databases, mobile objects, raster databases).
CSCI
8725
- Databases for Bioinformatics
(3.0 cr; Prereq-4707 or 5707 or #; spring, offered periodically) DBMS support for biological databases, data models. Searching integrated public domain databases. Queries/analyses, DBMS extensions, emerging applications.
CSCI
8735
- Advanced Database Systems
(3.0 cr; Prereq-4707 or 5707 or 5708; A-F or Aud, fall, offered periodically) Database systems for emerging applications, nontraditional query processors, multi-dimensional data indexing. Current research trends.
CSCI
8760
- Plan B Project
(3.0 cr; Prereq-CSci MS student, #; S-N or Aud, fall, spring, every year) Project arranged between student and faculty.
CSCI
8777
- Thesis Credits: Master's
(1.0 - 18.0 cr [max 50.0 cr]; Prereq-Max 18 cr per semester or summer; 10 cr total required [Plan A only]; No Grade, fall, spring, summer, every year) (No description)
CSCI
8801
- Advanced Software Engineering
(3.0 cr; Prereq-5801 or #; fall, spring, offered periodically) Software reusability, internet/intranet programming, software reengineering, and software safety.
CSCI
8888
- Thesis Credit: Doctoral
(1.0 - 24.0 cr [max 100.0 cr]; Prereq-Max 18 cr per semester or summer; 24 cr required; No Grade, fall, spring, summer, every year) (No description)
CSCI
8970
- Computer Science Colloquium
(1.0 cr; S-N or Aud, fall, spring, every year) Recent developments in computer science and related disciplines. Students must attend 13 of the 15 lectures.
CSCI
8980
- Special Advanced Topics in Computer Science
(3.0 cr [max 27.0 cr]; Prereq-#; fall, spring, every year) Lectures and informal discussions.
CSCI
8991
- Independent Study
(1.0 - 3.0 cr [max 9.0 cr]; Prereq-#; fall, spring, every year) Independent study with professor.
CSCI
8994
- Directed Research in Computer Science
(1.0 - 3.0 cr [max 9.0 cr]; Prereq-#; fall, spring, every year) Directed research with professor.
|
|
|
|
 |
|
 |