Twin Cities campus
 
Twin Cities Campus

Computer Science B.A.

Computer Science and Engineering
College of Liberal Arts
  • Program Type: Baccalaureate
  • Requirements for this program are current for Spring 2020
  • Required credits to graduate with this degree: 120
  • Required credits within the major: 55
  • Degree: Bachelor of Arts
Computer science concerns the study of the hardware, software, and theoretical aspects of high-speed computing devices and the application of these devices to a broad spectrum of scientific, technological, and business problems. The curriculum gives students a basic understanding of computer science. After completing a required set of fundamental courses, students can arrange their subsequent work around one of several emphases within computer science. The program prepares students for a variety of industrial, governmental, and business positions involving the use of computers, or for graduate work in the field.
Program Delivery
This program is available:
  • via classroom (the majority of instruction is face-to-face)
Admission Requirements
Students must complete 5 courses before admission to the program.
Freshman and transfer students are usually admitted to pre-major status before admission to this major.
A GPA above 2.0 is preferred for the following:
  • 3.20 already admitted to the degree-granting college
  • 3.20 transferring from another University of Minnesota college
  • 3.20 transferring from outside the University
A 3.2 technical GPA or above will guarantee admission. Students applying to the major with below a 3.2 technical GPA will be considered for admission based on space available in the program. Information on the Technical GPA can be found z.umn.edu/techgpa
For information about University of Minnesota admission requirements, visit the Office of Admissions website.
Required prerequisites
Mathematics Core
Take 3 or more course(s) totaling 12 or more credit(s) from the following:
· MATH 1271 - Calculus I [MATH] (4.0 cr)
or MATH 1371 - CSE Calculus I [MATH] (4.0 cr)
or MATH 1571H - Honors Calculus I [MATH] (4.0 cr)
· MATH 1272 - Calculus II (4.0 cr)
or MATH 1372 - CSE Calculus II (4.0 cr)
or MATH 1572H - Honors Calculus II (4.0 cr)
· CSCI 2011 - Discrete Structures of Computer Science (4.0 cr)
or CSCI 2011H - Honors Discrete Structures of Computer Science (4.0 cr)
Required prerequisites
Computer Science Introductory Core
Option 1 is the recommended sequence. Sequences cannot be mixed and matched. Students who intend to major in Computer Science should take Option 1. Students who have AP credit in computer science will receive credit for CSCI 1103 and must take CSCI 1913 (Option 2). Students who are in other majors and would like to transfer to the computer science program may choose either sequence.
Take exactly 2 course(s) totaling exactly 8 credit(s) from the following:
Option 1
CSCI 1133 - Introduction to Computing and Programming Concepts (4.0 cr)
or CSCI 1133H - Honors Introduction to Computing and Programming Concepts (4.0 cr)
CSCI 1933 - Introduction to Algorithms and Data Structures (4.0 cr)
· Option 2
CSCI 1103 - Introduction to Computer Programming in Java (4.0 cr)
or CSCI 1113 - Introduction to C/C++ Programming for Scientists and Engineers (4.0 cr)
CSCI 1913 - Introduction to Algorithms, Data Structures, and Program Development (4.0 cr)
General Requirements
All students in baccalaureate degree programs are required to complete general University and college requirements including writing and liberal education courses. For more information about University-wide requirements, see the liberal education requirements. Required courses for the major, minor or certificate in which a student receives a D grade (with or without plus or minus) do not count toward the major, minor or certificate (including transfer courses).
Program Requirements
Students are required to complete 4 semester(s) of any second language. with a grade of C-, or better, or S, or demonstrate proficiency in the language(s) as defined by the department or college.
All CLA BA degrees require 18 upper-division (3xxx-level or higher) credits outside the major designator. These credits must be taken in designators different from the major designator and cannot include courses that are cross-listed with the major designator. The major designator for the Computer Science BA is CSCI. At least 12 upper-division credits in the major must be taken at the University of Minnesota - Twin Cities campus. Students may complete no more than one degree in the computer science program: a BA or a BS or a minor. All incoming CLA freshmen must complete the First-Year Experience course sequence.
Core Courses
Take exactly 6 course(s) totaling exactly 23 credit(s) from the following:
· STAT 3021 - Introduction to Probability and Statistics (3.0 cr)
or IE 3521 - Statistics, Quality, and Reliability (4.0 cr)
or EE 3025 - Statistical Methods in Electrical and Computer Engineering (3.0 cr)
or STAT 4101 - Theory of Statistics I (4.0 cr)
or STAT 4102 - Theory of Statistics II (4.0 cr)
or STAT 5101 - Theory of Statistics I (4.0 cr)
or STAT 5102 - Introduction to Statistical Learning (4.0 cr)
or MATH 4653 - Elementary Probability (4.0 cr)
or MATH 5651 - Basic Theory of Probability and Statistics (4.0 cr)
or Stat 3011 Combination Substitution
STAT 3011 - Introduction to Statistical Analysis [MATH] (4.0 cr)
STAT 3022 - Data Analysis (4.0 cr)
· CSCI 2021 - Machine Architecture and Organization (4.0 cr)
or EE 2361 - Introduction to Microcontrollers (4.0 cr)
· CSCI 2033 - Elementary Computational Linear Algebra (4.0 cr)
or MATH 2142 - Elementary Linear Algebra (1.0-4.0 cr)
or Math Linear Algebra and Differential Equations Double Substitution
MATH 4242 - Applied Linear Algebra (4.0 cr)
Linear Algebra and Differential Equations
MATH 2243 - Linear Algebra and Differential Equations (4.0 cr)
or MATH 2373 - CSE Linear Algebra and Differential Equations (4.0 cr)
or MATH 2471 - UM Talented Youth Mathematics Program--Calculus II, Second Semester [MATH] (2.0 cr)
or MATH 2574H - Honors Calculus IV (4.0 cr)
or Honors Math Sequence
MATH 3592H - Honors Mathematics I (5.0 cr)
MATH 3593H - Honors Mathematics II (5.0 cr)
· CSCI 2041 - Advanced Programming Principles (4.0 cr)
· CSCI 4041 - Algorithms and Data Structures (4.0 cr)
· CSCI 4061 - Introduction to Operating Systems (4.0 cr)
Electives
Students must complete a minimum of 8 credits of approved CSCI 4xxx/5xxx coursework.There are courses that are cross-listed with CSCI courses that are acceptable. CSCI 5465, 5996, and 5997 can not count toward the elective requirement.
Take 8 or more credit(s) from the following:
· CSCI 4011 - Formal Languages and Automata Theory (4.0 cr)
· CSCI 4131 - Internet Programming (3.0 cr)
· CSCI 4611 - Programming Interactive Computer Graphics and Games (3.0 cr)
· CSCI 4950 - Senior Software Project (3.0 cr)
· CSCI 4994H - Honors Thesis (1.0-3.0 cr)
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5105 - Introduction to Distributed Systems (3.0 cr)
· CSCI 5106 - Programming Languages (3.0 cr)
· CSCI 5115 - User Interface Design, Implementation and Evaluation (3.0 cr)
· CSCI 5117 - Developing the Interactive Web (3.0 cr)
· CSCI 5123 - Recommender Systems (3.0 cr)
· CSCI 5125 - Collaborative and Social Computing (3.0 cr)
· CSCI 5127W - Embodied Computing: Design & Prototyping [WI] (3.0 cr)
· CSCI 5143 - Real-Time and Embedded Systems (3.0 cr)
· CSCI 5161 - Introduction to Compilers (3.0 cr)
· CSCI 5221 - Foundations of Advanced Networking (3.0 cr)
· CSCI 5231 - Wireless and Sensor Networks (3.0 cr)
· CSCI 5271 - Introduction to Computer Security (3.0 cr)
· CSCI 5302 - Analysis of Numerical Algorithms (3.0 cr)
· CSCI 5304 - Computational Aspects of Matrix Theory (3.0 cr)
· CSCI 5421 - Advanced Algorithms and Data Structures (3.0 cr)
· CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming (3.0 cr)
· CSCI 5461 - Functional Genomics, Systems Biology, and Bioinformatics (3.0 cr)
· CSCI 5471 - Modern Cryptography (3.0 cr)
· CSCI 5481 - Computational Techniques for Genomics (3.0 cr)
· CSCI 5512 - Artificial Intelligence II (3.0 cr)
· CSCI 5521 - Introduction to Machine Learning (3.0 cr)
· CSCI 5523 - Introduction to Data Mining (3.0 cr)
· CSCI 5525 - Machine Learning (3.0 cr)
· CSCI 5551 - Introduction to Intelligent Robotic Systems (3.0 cr)
· CSCI 5552 - Sensing and Estimation in Robotics (3.0 cr)
· CSCI 5561 - Computer Vision (3.0 cr)
· CSCI 5607 - Fundamentals of Computer Graphics 1 (3.0 cr)
· CSCI 5608 - Fundamentals of Computer Graphics II (3.0 cr)
· CSCI 5609 - Visualization (3.0 cr)
· CSCI 5611 - Animation & Planning in Games (3.0 cr)
· CSCI 5619 - Virtual Reality and 3D Interaction (3.0 cr)
· CSCI 5708 - Architecture and Implementation of Database Management Systems (3.0 cr)
· CSCI 5715 - From GPS and Virtual Globes to Spatial Computing (3.0 cr)
· CSCI 5801 - Software Engineering I (3.0 cr)
· CSCI 5802 - Software Engineering II (3.0 cr)
· CSCI 4271W - Development of Secure Software Systems [WI] (4.0 cr)
· CSCI 4203 - Computer Architecture (4.0 cr)
or EE 4363 - Computer Architecture and Machine Organization (4.0 cr)
· CSCI 4211 - Introduction to Computer Networks (3.0 cr)
or CSCI 5211 - Data Communications and Computer Networks (3.0 cr)
· CSCI 4511W - Introduction to Artificial Intelligence [WI] (4.0 cr)
or CSCI 5511 - Artificial Intelligence I (3.0 cr)
· CSCI 4707 - Practice of Database Systems (3.0 cr)
or CSCI 5707 - Principles of Database Systems (3.0 cr)
· CSCI 4921 - History of Computing [TS, HIS] (3.0 cr)
or HSCI 4321 - History of Computing [TS, HIS] (3.0 cr)
· Advanced Project Laboratory, Topics, and Directed Study
No more than 3 credits from CSCI 4970 or 59xx courses may count toward the elective requirement. CSCI 5996 and CSCI 5997 can not count toward the elective requirement.
Take at most 3 credit(s) from the following:
· CSCI 4970W - Advanced Project Laboratory [WI] (3.0 cr)
· CSCI 5980 - Special Topics in Computer Science (1.0-3.0 cr)
· CSCI 5991 - Independent Study (1.0-3.0 cr)
· CSCI 5994 - Directed Research (1.0-3.0 cr)
· Advanced Computer Architecture
· CSCI 5204 - Advanced Computer Architecture (3.0 cr)
or EE 5364 - Advanced Computer Architecture (3.0 cr)
Capstone
Students who double major within CLA and choose to complete the capstone requirement in their other major are still required to take the Computer Science BA capstone.
Take exactly 1 course(s) totaling exactly 4 credit(s) from the following:
· CSCI 3081W - Program Design and Development [WI] (4.0 cr)
Upper Division Writing Intensive within the major
Students are required to take one upper division writing intensive course within the major. If that requirement has not been satisfied within the core major requirements, students must choose one course from the following list. Some of these courses may also fulfill other major requirements.
Take 0 - 1 course(s) from the following:
· CSCI 3081W - Program Design and Development [WI] (4.0 cr)
· CSCI 3921W - Social, Legal, and Ethical Issues in Computing [CIV, WI] (3.0 cr)
· CSCI 4511W - Introduction to Artificial Intelligence [WI] (4.0 cr)
· CSCI 4970W - Advanced Project Laboratory [WI] (3.0 cr)
· CSCI 5127W - Embodied Computing: Design & Prototyping [WI] (3.0 cr)
· CSCI 4271W - Development of Secure Software Systems [WI] (4.0 cr)
Program Sub-plans
A sub-plan is not required for this program.
Integrated Computer Science B.A./M.S. Program
The Department of Computer Science & Engineering offers an integrated Bachelor’s and Master’s Degree program. Students accepted to the integrated program will be guaranteed admission to the Computer Science MS as long as they complete their undergraduate program. Accepted students will not need to take the GRE exam as part of their graduate application, unlike other students applying to our graduate programs. Applicants must be enrolled University of Minnesota - Twin Cities students admitted to a Computer Science or Computer Engineering undergraduate program. Applicants must meet a Technical GPA minimum of 3.5 (as defined by the College of Science & Engineering) or they must have a strong recommendation from a Computer Science and Engineering faculty member or instructor (not an ECE Faculty member). Applicants must have at least 75 credits completed at the time of their application. Applicants must have passed with a C- or better all of the following courses: CSCI 1933 or 1913 CSCI 2011 CSCI 2021 (CSCI students) or EE 2361 (CompE students) CSCI 2033 or a math course containing linear algebra content CSCI 2041 (CSCI students only) CSCI 3081W (CSCI students only), CSCI 4041, and CSCI 4061 (applicants can have one of these courses in progress at the time of application) Full application instructions can be found at cs.umn.edu/integrated
Students can transfer a maximum of 16 credits to the graduate program taken during their integrated senior undergraduate year. Students must spend a minimum of two semesters as a graduate student after the completion of their undergraduate degree. Coursework applied to the graduate degree must be taken at the graduate level (i.e., 5xxx or above) Credits being applied to the Computer Science Master’s taken while the student is an undergraduate for use in the integrated program can also be applied later to a Computer Science Ph.D. within our department if a student applies and is admitted. Credits cannot also be applied to the undergraduate degree (i.e., no “double dipping”). Students should consider taking the following courses/requirements to apply toward their graduate degree as an undergraduate integrated program student (16 credits max): CSCI 8970 - Computer Science Colloquium (1 credit) Course to meet the Theory and Algorithms Breadth requirement (3 credits)* Course to meet the Architecture, Systems, & Software Breadth requirement (3 credits)* Course to meet the Applications Breadth requirement (3 credits)* CSCI 5XXX level course that fits your interests and background (3 credits) or an approved graduate level elective or graduate minor course. We recommend waiting to take CSCI 8XXX level courses for your graduate year, but this level of coursework is still available to you if you have the appropriate prerequisites. CSCI 5XXX level course that fits your interests and background (3 credits) or an approved graduate level elective or graduate minor course. We recommend waiting to take CSCI 8XXX level courses for your graduate year, but this level of coursework is still available to you if you have the appropriate prerequisites. *Please refer to the Department of Computer Science & Engineering webpage for more details on which courses count for specific breadth requirements.
 
More program views..
View college catalog(s):
· College of Liberal Arts
View sample plan(s):
· Computer Science
· Integrated B.A./M.S. Sample Plan

View checkpoint chart:
· Computer Science B.A.
View PDF Version:
Search.
Search Programs

Search University Catalogs
Related links.

College of Liberal Arts

TC Undergraduate Admissions

TC Undergraduate Application

One Stop
for tuition, course registration, financial aid, academic calendars, and more
 
MATH 1271 - Calculus I (MATH)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00067 - Math 1271/Math 1281/Math 1371/
Typically offered: Every Fall, Spring & Summer
Differential calculus of functions of a single variable, including polynomial, rational, exponential, and trig functions. Applications, including optimization and related rates problems. Single variable integral calculus, using anti-derivatives and simple substitution. Applications may include area, volume, work problems. prereq: 4 yrs high school math including trig or satisfactory score on placement test or grade of at least C- in [1151 or 1155]
MATH 1371 - CSE Calculus I (MATH)
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 1142/1271/1281/1371/1571H
Typically offered: Every Fall & Spring
Differentiation of single-variable functions, basics of integration of single-variable functions. Applications: max-min, related rates, area, curve-sketching. Use of calculator, cooperative learning. prereq: CSE or pre-bioprod concurrent registration is required (or allowed) in biosys engn (PRE), background in [precalculus, geometry, visualization of functions/graphs], instr consent; familiarity with graphing calculators recommended
MATH 1571H - Honors Calculus I (MATH)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00067 - Math 1142/1271/1281/1371/1571H
Grading Basis: A-F only
Typically offered: Every Fall
Differential/integral calculus of functions of a single variable. Emphasizes hard problem-solving rather than theory. prereq: Honors student and permission of University Honors Program
MATH 1272 - Calculus II
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 1272/1282/1252/1372/1572
Typically offered: Every Fall, Spring & Summer
Techniques of integration. Calculus involving transcendental functions, polar coordinates. Taylor polynomials, vectors/curves in space, cylindrical/spherical coordinates. prereq: [1271 or equiv] with grade of at least C-
MATH 1372 - CSE Calculus II
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 1272/1282/1252/1372/1572
Typically offered: Every Spring
Techniques of integration. Calculus involving transcendental functions, polar coordinates, Taylor polynomials, vectors/curves in space, cylindrical/spherical coordinates. Use of calculators, cooperative learning. prereq: Grade of at least C- in [1371 or equiv], CSE or pre-Bioprod/Biosys Engr
MATH 1572H - Honors Calculus II
Credits: 4.0 [max 4.0]
Course Equivalencies: 00068 - Math 1272/1282/1252/1372/1572
Grading Basis: A-F only
Typically offered: Every Spring
Continuation of 1571. Infinite series, differential calculus of several variables, introduction to linear algebra. prereq: 1571H, honors student, permission of University Honors Program
CSCI 2011 - Discrete Structures of Computer Science
Credits: 4.0 [max 4.0]
Course Equivalencies: 02004
Typically offered: Every Fall & Spring
Foundations of discrete mathematics. Sets, sequences, functions, big-O, propositional/predicate logic, proof methods, counting methods, recursion/recurrences, relations, trees/graph fundamentals. prereq: MATH 1271 or MATH 1371 or instr consent
CSCI 2011H - Honors Discrete Structures of Computer Science
Credits: 4.0 [max 4.0]
Course Equivalencies: 02004 - CSci 2011/CSci 2011H
Grading Basis: A-F only
Typically offered: Every Spring
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. prereq: [MATH 1271 or MATH 1371 or MATH 1571H], honors student.
CSCI 1133 - Introduction to Computing and Programming Concepts
Credits: 4.0 [max 4.0]
Course Equivalencies: 02133 - CSci 1133/CSci 1133H
Typically offered: Every Fall, Spring & Summer
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. prereq: concurrent registration is required (or allowed) in MATH 1271 or concurrent registration is required (or allowed) in MATH 1371 or concurrent registration is required (or allowed) in MATH 1571H or instr consent
CSCI 1133H - Honors Introduction to Computing and Programming Concepts
Credits: 4.0 [max 4.0]
Course Equivalencies: 02133
Grading Basis: A-F only
Typically offered: Every Fall
Programming concepts using Python language. Real world problem solving, recursion, object-oriented programming. Algorithm development techniques. Abstractions/modularity. Optional honors topics: programming robots, programming paradigms, artificial intelligence. prereq: [concurrent registration is required (or allowed) in MATH 1271 or concurrent registration is required (or allowed) in MATH 1371 or concurrent registration is required (or allowed) in MATH 1571H], CSci majors, pre-majors in CSE/CLA, honors student
CSCI 1933 - Introduction to Algorithms and Data Structures
Credits: 4.0 [max 4.0]
Course Equivalencies: 00008
Typically offered: Every Fall, Spring & Summer
Advanced object oriented programming to implement abstract data types (stacks, queues, linked lists, hash tables, binary trees) using Java language. Inheritance. Searching/sorting algorithms. Basic algorithmic analysis. Use of software development tools. Weekly lab. prereq: 1133 or instr consent
CSCI 1103 - Introduction to Computer Programming in Java
Credits: 4.0 [max 4.0]
Typically offered: Every Fall
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 1113 - Introduction to C/C++ Programming for Scientists and Engineers
Credits: 4.0 [max 4.0]
Typically offered: Every Fall, Spring & Summer
Programming for scientists/engineers. C/C++ programming constructs, object-oriented programming, software development, fundamental numerical techniques. Exercises/examples from various scientific fields. prereq: Math 1271 or Math 1371 or Math 1571H or instr consent
CSCI 1913 - Introduction to Algorithms, Data Structures, and Program Development
Credits: 4.0 [max 4.0]
Typically offered: Every Fall, Spring & Summer
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. prereq: (EE major and EE 1301) or (CmpE major and EE 1301) or 1103 or 1113 or instr consent
STAT 3021 - Introduction to Probability and Statistics
Credits: 3.0 [max 3.0]
Typically offered: Every Fall, Spring & Summer
This is an introductory course in statistics whose primary objectives are to teach students the theory of elementary probability theory and an introduction to the elements of statistical inference, including testing, estimation, and confidence statements. prereq: Math 1272
IE 3521 - Statistics, Quality, and Reliability
Credits: 4.0 [max 4.0]
Typically offered: Every Fall, Spring & Summer
Random variables/probability distributions, statistical sampling/measurement, statistical inferencing, confidence intervals, hypothesis testing, single/multivariate regression, design of experiments, statistical quality control, quality management, reliability, maintainability. prereq: MATH 1372 or equiv
EE 3025 - Statistical Methods in Electrical and Computer Engineering
Credits: 3.0 [max 3.0]
Typically offered: Every Fall, Spring & Summer
Notions of probability. Elementary statistical data analysis. Random variables, densities, expectation, correlation. Random processes, linear system response to random waveforms. Spectral analysis. Computer experiments for analysis and design in random environment. prereq: [3015, CSE upper division] or instr approval
STAT 4101 - Theory of Statistics I
Credits: 4.0 [max 4.0]
Typically offered: Every Fall
Random variables/distributions. Generating functions. Standard distribution families. Data summaries. Sampling distributions. Likelihood/sufficiency. prereq: Math 1272 or Math 1372 or Math 1572H
STAT 4102 - Theory of Statistics II
Credits: 4.0 [max 4.0]
Course Equivalencies: 00260
Typically offered: Every Spring
Estimation. Significance tests. Distribution free methods. Power. Application to regression and to analysis of variance/count data. prereq: STAT 4101
STAT 5101 - Theory of Statistics I
Credits: 4.0 [max 4.0]
Typically offered: Every Fall
Logical development of probability, basic issues in statistics. Probability spaces. Random variables, their distributions and expected values. Law of large numbers, central limit theorem, generating functions, multivariate normal distribution. prereq: [Math 2263 or Math 2374 or Math 2573H], [CSCI 2033 or Math 2373 or Math 2243]
STAT 5102 - Introduction to Statistical Learning
Credits: 4.0 [max 4.0]
Course Equivalencies: 00260
Typically offered: Every Spring
Sampling, sufficiency, estimation, test of hypotheses, size/power. Categorical data. Contingency tables. Linear models. Decision theory. prereq: [5101 or Math 5651 or instr consent]
MATH 4653 - Elementary Probability
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Probability spaces, distributions of discrete/continuous random variables, conditioning. Basic theorems, calculational methodology. Examples of random sequences. Emphasizes problem-solving. prereq: [2263 or 2374 or 2573]; [2283 or 2574 or 3283] recommended
MATH 5651 - Basic Theory of Probability and Statistics
Credits: 4.0 [max 4.0]
Course Equivalencies: 00259 - MATH 4653/Math 5651/Stat 5101
Typically offered: Every Fall & Spring
Logical development of probability, basic issues in statistics. Probability spaces, random variables, their distributions/expected values. Law of large numbers, central limit theorem, generating functions, sampling, sufficiency, estimation. prereq: [2263 or 2374 or 2573], [2243 or 2373]; [2283 or 2574 or 3283] recommended.
STAT 3011 - Introduction to Statistical Analysis (MATH)
Credits: 4.0 [max 4.0]
Course Equivalencies: (Select a set)
Typically offered: Every Fall, Spring & Summer
Standard statistical reasoning. Simple statistical methods. Social/physical sciences. Mathematical reasoning behind facts in daily news. Basic computing environment.
STAT 3022 - Data Analysis
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Practical survey of applied statistical inference/computing covering widely used statistical tools. Multiple regression, variance analysis, experiment design, nonparametric methods, model checking/selection, variable transformation, categorical data analysis, logistic regression. prereq: 3011 or 3021 or SOC 3811
CSCI 2021 - Machine Architecture and Organization
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Introduction to hardware/software components of computer system. Data representation, boolean algebra, machine-level programs, instruction set architecture, processor organization, memory hierarchy, virtual memory, compiling, linking. Programming in C. prereq: 1913 or 1933 or instr consent
EE 2361 - Introduction to Microcontrollers
Credits: 4.0 [max 4.0]
Typically offered: Every Fall, Spring & Summer
Basic computer organization, opcodes, assembly language programming, logical operations and bit manipulation in C, stack structure, timers, parallel/serial input/output, buffers, input pulse-width and period measurements, PWM output, interrupts and multi-tasking, using special-purpose features such as A/D converters. Integral lab. Prereq: 2301, [1301 or CSCI 1113 or CSCI 1901]
CSCI 2033 - Elementary Computational Linear Algebra
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Matrices/linear transformations, basic theory. Linear vector spaces. Inner product spaces. Systems of linear equations, Eigenvalues, singular values. Algorithms/computational matrix methods using MATLAB. Use of matrix methods to solve variety of computer science problems. prereq: [MATH 1271 or MATH 1371], [1113 or 1133 or knowledge of programming concepts]
MATH 2142 - Elementary Linear Algebra
Credits: 1.0 -4.0 [max 1.0]
Grading Basis: A-F or Aud
Typically offered: Periodic Fall
Not taught: merely provides credit for transfer students who have taken a sophomore-level linear algebra course that does not contain enough differential equations to qualify for credit for 2243.
MATH 4242 - Applied Linear Algebra
Credits: 4.0 [max 4.0]
Course Equivalencies: 01212 - Math 4242/Math 4457
Typically offered: Every Fall, Spring & Summer
Systems of linear equations, vector spaces, subspaces, bases, linear transformations, matrices, determinants, eigenvalues, canonical forms, quadratic forms, applications. prereq: 2243 or 2373 or 2573
MATH 2243 - Linear Algebra and Differential Equations
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 2243/2373/2573
Typically offered: Every Fall, Spring & Summer
Linear algebra: basis, dimension, matrices, eigenvalues/eigenvectors. Differential equations: first-order linear, separable; second-order linear with constant coefficients; linear systems with constant coefficients. prereq: [1272 or 1282 or 1372 or 1572] w/grade of at least C-
MATH 2373 - CSE Linear Algebra and Differential Equations
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 2243/2373/2573
Typically offered: Every Fall & Spring
Linear algebra: basis, dimension, eigenvalues/eigenvectors. Differential equations: linear equations/systems, phase space, forcing/resonance, qualitative/numerical analysis of nonlinear systems, Laplace transforms. Use of computer technology. prereq: [1272 or 1282 or 1372 or 1572] w/grade of at least C-, CSE or pre-Bio Prod/Biosys Engr
MATH 2471 - UM Talented Youth Mathematics Program--Calculus II, Second Semester (MATH)
Credits: 2.0 [max 4.0]
Course Equivalencies: 00561 - Math 2243/Math 2373/Math 2574H
Grading Basis: A-F or Aud
Typically offered: Every Spring
Accelerated honors sequence for selected mathematically talented high school students. Theoretical and geometric linear algebra.
MATH 2574H - Honors Calculus IV
Credits: 4.0 [max 4.0]
Course Equivalencies: 00561 - Math 2243/Math 2373/Math 2573H
Grading Basis: A-F only
Typically offered: Every Spring
Advanced linear algebra, differential equations. Additional topics as time permits. prereq: Math 1572H or Math 2573H, honors student and permission of University Honors Program
MATH 3592H - Honors Mathematics I
Credits: 5.0 [max 5.0]
Grading Basis: A-F only
Typically offered: Every Fall
First semester of three-semester sequence. Focuses on multivariable calculus at deeper level than regular calculus offerings. Rigorous introduction to sequences/series. Theoretical treatment of multivariable calculus. Strong introduction to linear algebra. prereq: dept consent; for students with mathematical talent
MATH 3593H - Honors Mathematics II
Credits: 5.0 [max 5.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Second semester of three-semester sequence. Focuses on multivariable calculus at deeper level than regular calculus offerings. Rigorous introduction to sequences/series. Theoretical treatment of multivariable calculus. Strong introduction to linear algebra. prereq: 3592H or instr consent
CSCI 2041 - Advanced Programming Principles
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Principles/techniques for creating correct, robust, modular programs. Computing with symbolic data, recursion/induction, functional programming, impact of evaluation strategies, parallelism. Organizing data/computations around types. Search-based programming, concurrency, modularity. prereq: [1913 or 1933], 2011
CSCI 4041 - Algorithms and Data Structures
Credits: 4.0 [max 4.0]
Course Equivalencies: 02015
Typically offered: Every Fall & Spring
Rigorous analysis of algorithms/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. prereq: [(1913 or 1933) and 2011] or instr consent; cannot be taken for grad CSci cr
CSCI 4061 - Introduction to Operating Systems
Credits: 4.0 [max 4.0]
Course Equivalencies: 02667
Typically offered: Every Fall & Spring
Processes/threads, process coordination, interprocess communication, asynchronous events, memory management/file systems. Systems programming projects using operating system interfaces and program development tools. prereq: 2021 or EE 2361; CS upper div, CS minor, CompE upper div., EE upper div., EE grad, ITI upper div., Univ. honors student, or dept. permission; no cr for grads in CSci.
CSCI 4011 - Formal Languages and Automata Theory
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
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. prereq: 2041 or instr consent
CSCI 4131 - Internet Programming
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4131/5131
Typically offered: Every Fall & Spring
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. prereq: 4061, 4211 recommended, cannot be taken for grad CSci cr
CSCI 4611 - Programming Interactive Computer Graphics and Games
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Tools/techniques for programming games/interactive computer graphics. Event loops, rendering/animation, polygonal models, texturing, physical simulation. Modern graphics toolkits. History/future of computer games technology. Social impact of interactive computer graphics. prereq: 2021 or instr consent
CSCI 4950 - Senior Software Project
Credits: 3.0 [max 6.0]
Grading Basis: A-F only
Typically offered: Every Fall & Spring
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. prereq: Upper div CSci, instr consent
CSCI 4994H - Honors Thesis
Credits: 1.0 -3.0 [max 6.0]
Grading Basis: A-F only
Typically offered: Every Fall, Spring & Summer
Research work for an honors thesis arranged with a CS faculty member who is the adviser or coadviser. prereq: Honors student, instr consent
CSCI 5103 - Operating Systems
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Conceptual foundation of operating system designs and implementations. Relationships between operating system structures and machine architectures. UNIX implementation mechanisms as examples. prereq: 4061 or instr consent
CSCI 5105 - Introduction to Distributed Systems
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
Distributed system design and implementation. Distributed communication and synchronization, data replication and consistency, distributed file systems, fault tolerance, and distributed scheduling. prereq: [5103 or equiv] or instr consent
CSCI 5106 - Programming Languages
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
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. prereq: 4011 or instr consent
CSCI 5115 - User Interface Design, Implementation and Evaluation
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
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. prereq: 4041 or instr consent
CSCI 5117 - Developing the Interactive Web
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
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. prereq: 4131 or 5131 or instr consent; upper div or grad in CSci recommended
CSCI 5123 - Recommender Systems
Credits: 3.0 [max 3.0]
Typically offered: Fall Odd Year
An overview of recommender systems, including content-based and collaborative algorithms for recommendation, programming of recommender systems, and evaluation and metrics for recommender systems. prereq: Java programming and 2033 and 3081, or instructor consent.
CSCI 5125 - Collaborative and Social Computing
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
Introduction to computer-supported cooperative work, social computing. Technology, research methods, theory, case studies of group computing systems. Readings, hands-on experience. prereq: 5115 or instr consent
CSCI 5127W - Embodied Computing: Design & Prototyping (WI)
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
In this course, you will learn and apply the principles of embodied computing to human-centered challenges. Through a semester-long team project, you will learn and demonstrate mastery of human-centered embodied computing through two phases: (1) investigating human needs and current embodied practices and (2) rapidly prototyping and iterating embodied computing solutions. One of the ways you will demonstrate this mastery is through the collaborative creation of a written document and project capstone video describing your process and prototype. prereq: CSci 4041, upper division or graduate student, or instructor permission; CSci 5115 or equivalent recommended.
CSCI 5143 - Real-Time and Embedded Systems
Credits: 3.0 [max 3.0]
Grading Basis: A-F only
Typically offered: Periodic Spring
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. prereq: [4061 or instr consent], experience with C language
CSCI 5161 - Introduction to Compilers
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
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. prereq: [2021, 5106] or instr consent
CSCI 5221 - Foundations of Advanced Networking
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
Design principles, protocol mechanisms. Network algorithmics, implementation techniques. Advanced network architectures, state-of-art/emerging networking technologies/applications, network modeling. Simulation, experiments. prereq: 4211 or 5211 or equiv; intro course in computer networks recommended
CSCI 5231 - Wireless and Sensor Networks
Credits: 3.0 [max 3.0]
Typically offered: Spring Odd Year
Enabling technologies, including hardware, embedded operating systems, programming environment, communication, networking, and middleware services. Hands-on experience in programming tiny communication devices. prereq: 4211 or 5211 or instr consent
CSCI 5271 - Introduction to Computer Security
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Concepts of computer, network, and information security. Risk analysis, authentication, access control, security evaluation, audit trails, cryptography, network/database/application security, viruses, firewalls. prereq: 4061 or equiv or instr consent
CSCI 5302 - Analysis of Numerical Algorithms
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Additional topics in numerical analysis. Interpolation, approximation, extrapolation, numerical integration/differentiation, numerical solutions of ordinary differential equations. Introduction to optimization techniques. prereq: 2031 or 2033 or instr consent
CSCI 5304 - Computational Aspects of Matrix Theory
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
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. prereq: 2031 or 2033 or instr consent
CSCI 5421 - Advanced Algorithms and Data Structures
Credits: 3.0 [max 3.0]
Typically offered: Every Fall & Spring
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. prereq: 4041 or instr consent
CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
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. prereq: 4041 or instr consent
CSCI 5461 - Functional Genomics, Systems Biology, and Bioinformatics
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
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. prereq: 3003 or 4041 or instr consent
CSCI 5471 - Modern Cryptography
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
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. prereq: [2011, 4041, [familiarity with number theory or finite fields]] or instr consent
CSCI 5481 - Computational Techniques for Genomics
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
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. prereq: 4041 or instr consent
CSCI 5512 - Artificial Intelligence II
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 5512W/5512
Typically offered: Every Spring
Uncertainty in artificial intelligence. Probability as a model of uncertainty, methods for reasoning/learning under uncertainty, utility theory, decision-theoretic methods. prereq: [STAT 3021, 4041] or instr consent
CSCI 5521 - Introduction to Machine Learning
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall
Problems of pattern recognition, feature selection, measurement techniques. Statistical decision theory, nonstatistical techniques. Automatic feature selection/data clustering. Syntactic pattern recognition. Mathematical pattern recognition/artificial intelligence. prereq: [[2031 or 2033], STAT 3021] or instr consent
CSCI 5523 - Introduction to Data Mining
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
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. prereq: 4041 or equiv or instr consent
CSCI 5525 - Machine Learning
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
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. prereq: Grad student or instr consent
CSCI 5551 - Introduction to Intelligent Robotic Systems
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall
Transformations, kinematics/inverse kinematics, dynamics, control. Sensing (robot vision, force control, tactile sensing), applications of sensor-based robot control, robot programming, mobile robotics, microrobotics. prereq: 2031 or 2033 or instr consent
CSCI 5552 - Sensing and Estimation in Robotics
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
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. prereq: [5551, Stat 3021] or instr consent
CSCI 5561 - Computer Vision
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
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. prereq: 5511 or instr consent
CSCI 5607 - Fundamentals of Computer Graphics 1
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
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. prereq: concurrent registration is required (or allowed) in 2033, concurrent registration is required (or allowed) in 3081
CSCI 5608 - Fundamentals of Computer Graphics II
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
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++. prereq: 5607 or instr consent
CSCI 5609 - Visualization
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
Fundamental theory/practice in data visualization. Programming applications. Perceptual issues in effective data representation, multivariate visualization, information visualization, vector field/volume visualization. prereq: [1913, 4041] or equiv or instr consent
CSCI 5611 - Animation & Planning in Games
Credits: 3.0 [max 3.0]
Typically offered: Fall Odd Year
Theory behind algorithms used to bring virtual worlds to life. Computer animation topics. Real-time, interactive techniques used in modern games. Physically-based animation, motion planning, character animation, simulation in virtual worlds. prereq: 4041 or 4611 or instr consent
CSCI 5619 - Virtual Reality and 3D Interaction
Credits: 3.0 [max 3.0]
Typically offered: Spring Odd Year
Introduction to software, technology/applications in virtual/augmented reality, 3D user interaction. Overview of current research. Hands-on projects. prereq: 4611 or 5607 or 5115 or equiv or instr consent
CSCI 5708 - Architecture and Implementation of Database Management Systems
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
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. prereq: 4707 or 5707 or instr consent
CSCI 5715 - From GPS and Virtual Globes to Spatial Computing
Credits: 3.0 [max 3.0]
Typically offered: Spring Even Year
Mathematical concepts, geo-information, representations, algorithms, data-structures/access methods, analysis, architectures, interfaces, reasoning, time. prereq: Familiarity with Java, C++, or Python
CSCI 5801 - Software Engineering I
Credits: 3.0 [max 3.0]
Prerequisites: 2041 or #
Typically offered: Every Fall
Advanced introduction to software engineering. Software life cycle, development models, software requirements analysis, software design, coding, maintenance. prereq: 2041 or instr consent
CSCI 5802 - Software Engineering II
Credits: 3.0 [max 3.0]
Typically offered: Periodic Spring
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. prereq: 5801 or instr consent
CSCI 4271W - Development of Secure Software Systems (WI)
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Prerequisite of CSCI 3081W. Overview of threat modeling and security assessment in the design and development of software systems. Techniques to identify, exploit, detect, mitigate and prevent software vulnerabilities at the design, coding, application, compiler, operating system, and networking layers. Methods for effectively communicating system designs and vulnerabilities.
CSCI 4203 - Computer Architecture
Credits: 4.0 [max 4.0]
Course Equivalencies: CSci 4203/EE 4363
Typically offered: Every Fall & Spring
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. prereq: 2021 or instr consent
EE 4363 - Computer Architecture and Machine Organization
Credits: 4.0 [max 4.0]
Course Equivalencies: CSci 4203/EE 4363
Typically offered: Every Fall & Spring
Introduction to computer architecture. Aspects of computer systems, such as pipelining, memory hierarchy, and input/output systems. Performance metrics. Examines each component of a complicated computer system. prereq: 2361
CSCI 4211 - Introduction to Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: 00495 - CSci 4211/CSci 5211/INET 4002
Typically offered: Every Fall & Spring
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. prereq: 4061 or instr consent; basic knowledge of [computer architecture, operating systems] recommended, cannot be taken for grad CSci cr
CSCI 5211 - Data Communications and Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: 00495 - CSci 4211/CSci 5211
Typically offered: Every Fall
Concepts, 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. prereq: [4061 or instr consent], basic knowledge of [computer architecture, operating systems, probability], grad student
CSCI 4511W - Introduction to Artificial Intelligence (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 01666 - CSci 4511W/CSci 5511
Prerequisites: 2041 or #
Typically offered: Every Spring
Problem solving, search, inference techniques. Knowledge representation. Planning. Machine learning. Robotics. Lisp programming language. Cannot be taken for grad CSci credit. prereq: 2041 or instr consent
CSCI 5511 - Artificial Intelligence I
Credits: 3.0 [max 3.0]
Course Equivalencies: 01666
Prerequisites: [2041 or #], grad student
Typically offered: Every Fall
Introduction to AI. Problem solving, search, inference techniques. Logic/theorem proving. Knowledge representation, rules, frames, semantic networks. Planning/scheduling. Lisp programming language. prereq: [2041 or instr consent], grad student
CSCI 4707 - Practice of Database Systems
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4707/5707/INET 4707
Typically offered: Every Fall & Spring
Concepts, conceptual data models, case studies, common data manipulation languages, logical data models, database design, facilities for database security/integrity, applications. prereq: 4041 or instr consent
CSCI 5707 - Principles of Database Systems
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4707/5707/INET 4707
Typically offered: Every Fall
Concepts, database architecture, alternative conceptual data models, foundations of data manipulation/analysis, logical data models, database designs, models of database security/integrity, current trends. prereq: [4041 or instr consent], grad student
CSCI 4921 - History of Computing (TS, HIS)
Credits: 3.0 [max 3.0]
Course Equivalencies: 00497 - CSci 4921/HSci 4321
Typically offered: Fall Even Year
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.
HSCI 4321 - History of Computing (TS, HIS)
Credits: 3.0 [max 3.0]
Course Equivalencies: 00497 - CSci 4921/HSci 4321
Typically offered: Fall Even, Spring Odd Year
Developments in the last 150 years; evolution of hardware and software; growth of computer and semiconductor industries and their relation to other business areas; changing relationships resulting from new data-gathering and analysis techniques; automation; social and ethical issues.
CSCI 4970W - Advanced Project Laboratory (WI)
Credits: 3.0 [max 9.0]
Typically offered: Every Fall & Spring
Formulate and solve open-ended project: design, implement, interface, document, test. Team work strongly encouraged. Arranged with CSci faculty. prereq: Upper div CSci, 4061, instr consent; cannot be taken for grad cr
CSCI 5980 - Special Topics in Computer Science
Credits: 1.0 -3.0 [max 27.0]
Typically offered: Periodic Fall & Spring
Lectures and informal discussions on current topics in computer science. prereq: instr consent; may be repeated for cr
CSCI 5991 - Independent Study
Credits: 1.0 -3.0 [max 9.0]
Typically offered: Every Fall, Spring & Summer
Independent study arranged with CS faculty member. prereq: instr consent; may be repeated for cr
CSCI 5994 - Directed Research
Credits: 1.0 -3.0 [max 9.0]
Typically offered: Every Fall, Spring & Summer
Directed research arranged with faculty member. prereq: instr consent; may be repeated for cr
CSCI 5204 - Advanced Computer Architecture
Credits: 3.0 [max 3.0]
Course Equivalencies: 00579
Typically offered: Every Fall
Instruction set architecture, processor microarchitecture, memory, I/O systems. Interactions between computer software and hardware. Methodologies of computer design. prereq: 4203 or EE 4363
EE 5364 - Advanced Computer Architecture
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 5204/EE 5364
Typically offered: Every Fall
Instruction set architecture, processor microarchitecture. Memory and I/O systems. Interactions between computer software and hardware. Methodologies of computer design. prereq: [[4363 or CSci 4203], CSE grad student] or dept consent
CSCI 3081W - Program Design and Development (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00728 - CSci 3081W/CSci 4018W/CSci4089
Typically offered: Every Fall & Spring
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, coding standards. prereq: [2021, 2041]; CS upper div, CS grad, or dept. permission
CSCI 3081W - Program Design and Development (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00728 - CSci 3081W/CSci 4018W/CSci4089
Typically offered: Every Fall & Spring
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, coding standards. prereq: [2021, 2041]; CS upper div, CS grad, or dept. permission
CSCI 3921W - Social, Legal, and Ethical Issues in Computing (CIV, WI)
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Impact of computers on society. Computer science perspective of ethical, legal, social, philosophical, political, and economic aspects of computing. prereq: At least soph or instr consent
CSCI 4511W - Introduction to Artificial Intelligence (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 01666 - CSci 4511W/CSci 5511
Prerequisites: 2041 or #
Typically offered: Every Spring
Problem solving, search, inference techniques. Knowledge representation. Planning. Machine learning. Robotics. Lisp programming language. Cannot be taken for grad CSci credit. prereq: 2041 or instr consent
CSCI 4970W - Advanced Project Laboratory (WI)
Credits: 3.0 [max 9.0]
Typically offered: Every Fall & Spring
Formulate and solve open-ended project: design, implement, interface, document, test. Team work strongly encouraged. Arranged with CSci faculty. prereq: Upper div CSci, 4061, instr consent; cannot be taken for grad cr
CSCI 5127W - Embodied Computing: Design & Prototyping (WI)
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
In this course, you will learn and apply the principles of embodied computing to human-centered challenges. Through a semester-long team project, you will learn and demonstrate mastery of human-centered embodied computing through two phases: (1) investigating human needs and current embodied practices and (2) rapidly prototyping and iterating embodied computing solutions. One of the ways you will demonstrate this mastery is through the collaborative creation of a written document and project capstone video describing your process and prototype. prereq: CSci 4041, upper division or graduate student, or instructor permission; CSci 5115 or equivalent recommended.
CSCI 4271W - Development of Secure Software Systems (WI)
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Prerequisite of CSCI 3081W. Overview of threat modeling and security assessment in the design and development of software systems. Techniques to identify, exploit, detect, mitigate and prevent software vulnerabilities at the design, coding, application, compiler, operating system, and networking layers. Methods for effectively communicating system designs and vulnerabilities.