Twin Cities campus
 
Twin Cities Campus

Computer Science B.S. Comp.Sc.

Computer Science and Engineering
College of Science and Engineering
  • Program Type: Baccalaureate
  • Requirements for this program are current for Fall 2017
  • Required credits to graduate with this degree: 120
  • Required credits within the major: 77 to 78
  • Degree: Bachelor of Science in Computer Science
Computer science is concerned with the study of hardware, software, and theoretical aspects of high-speed computing devices and with the application of these devices to scientific, technological, and business problems. A bachelor's degree gives students a basic understanding of computer science. After completing a required set of fundamental courses, students arrange their subsequent work around one of several upper division tracks within either computer science or an interdisciplinary area involving computer applications. The degree prepares students for graduate work or for various industrial, governmental, and business positions involving the use of computers.
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.
For information about University of Minnesota admission requirements, visit the Office of Admissions website.
Required prerequisites
Mathematics Core
MATH 1371 - CSE Calculus I [MATH] (4.0 cr)
or MATH 1271 - Calculus I [MATH] (4.0 cr)
or MATH 1571H - Honors Calculus I [MATH] (4.0 cr)
MATH 1372 - CSE Calculus II (4.0 cr)
or MATH 1272 - Calculus II (4.0 cr)
or MATH 1572H - Honors Calculus II (4.0 cr)
Required prerequisites
Computer Science Introductory Core
CSCI 2011 - Discrete Structures of Computer Science (4.0 cr)
Options
Option 1
CSCI 1133 - Introduction to Computing and Programming Concepts (4.0 cr)
CSCI 1933 - Introduction to Algorithms and Data Structures (4.0 cr)
or 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
Science Core
PHYS 1301W - Introductory Physics for Science and Engineering I [PHYS, WI] (4.0 cr)
or PHYS 1401V - Honors Physics I [PHYS, WI] (4.0 cr)
or PHYS 1501V - Honors Introduction to Mechanics [PHYS, WI] (4.0 cr)
Take 1 or more course(s) from the following:
· ESCI 2201 - Solid Earth Dynamics (4.0 cr)
· GCD 3022 - Genetics (3.0 cr)
· PHYS 1302W - Introductory Physics for Science and Engineering II [PHYS, WI] (4.0 cr)
· PHYS 1402V - Honors Physics II [PHYS, WI] (4.0 cr)
· PHYS 1502V - Honors Introduction to Electricity and Magnetism [PHYS, WI] (4.0 cr)
· PSY 3011 - Introduction to Learning and Behavior (3.0 cr)
· Chemistry 1
· CHEM 1061 - Chemical Principles I [PHYS] (3.0 cr)
CHEM 1065 - Chemical Principles I Laboratory [PHYS] (1.0 cr)
· Chemistry 1 Honors
· CHEM 1071H - Honors Chemistry I [PHYS] (3.0 cr)
CHEM 1075H - Honors Chemistry I Laboratory [PHYS] (1.0 cr)
· Chemistry 2
· CHEM 1062 - Chemical Principles II [PHYS] (3.0 cr)
CHEM 1066 - Chemical Principles II Laboratory [PHYS] (1.0 cr)
· Chemistry 2 Honors
· CHEM 1072H - Honors Chemistry II [PHYS] (3.0 cr)
CHEM 1076H - Honors Chemistry II Laboratory [PHYS] (1.0 cr)
Computer Science Core
CSCI 2021 - Machine Architecture and Organization (4.0 cr)
CSCI 2033 - Elementary Computational Linear Algebra (4.0 cr)
CSCI 2041 - Advanced Programming Principles (4.0 cr)
CSCI 3081W - Program Design and Development [WI] (4.0 cr)
CSCI 4041 - Algorithms and Data Structures (4.0 cr)
CSCI 4061 - Introduction to Operating Systems (4.0 cr)
STAT 3021 - Introduction to Probability and Statistics (3.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 - Human-Centered Design and Prototyping of Ubiquitous Computing Systems [WI] (3.0 cr)
Upper Division Math Oriented Requirement
Students must take an upper division math oriented course. The course selected will count towards the 23 credit minimum of track requirements.
Upper Division Math Oriented Requirement options. The following MATH courses aren't accepted: MATH 4005, 4065, 4067W, 4113, 4116, 4118, 5067, 5068, 5075, and 5076.
Take 1 or more course(s) from the following:
· CSCI 4011 - Formal Languages and Automata Theory (4.0 cr)
· CSCI 5302 - Analysis of Numerical Algorithms (3.0 cr)
· CSCI 5304 - Computational Aspects of Matrix Theory (3.0 cr)
· CSCI 5403 - Computational Complexity (3.0 cr)
· CSCI 5421 - Advanced Algorithms and Data Structures (3.0 cr)
· CSCI 5471 - Modern Cryptography (3.0 cr)
· CSCI 5481 - Computational Techniques for Genomics (3.0 cr)
· CSCI 5525 - Machine Learning (3.0 cr)
· MATH 4xxx
· MATH 5xxx
Approved Computer Science Track Electives
The following list can be used as track electives for all of the computer science tracks including the custom option. All 4000-5000 level CSCI courses are accepted as track electives except for the core requirements (4041, 4041H, and 4061) and CSCI 5996.
Take 1 or more course(s) from the following:
· AEM 4601 - Instrumentation Laboratory (3.0 cr)
· AST 4101 - Computational Methods in the Physical Sciences (4.0 cr)
· BIOL 5272 - Applied Biostatistics (3.0 cr)
· CHEM 4021 - Computational Chemistry (3.0 cr)
· CSCI 4xxx
· CSCI 5xxx
· EE 4301 - Digital Design With Programmable Logic (4.0 cr)
· EE 4303 - Introduction to Programmable Devices Laboratory (1.0 cr)
· EE 4341 - Embedded System Design (4.0 cr)
· EE 4363 - Computer Architecture and Machine Organization (4.0 cr)
· EE 5371 - Computer Systems Performance Measurement and Evaluation (3.0 cr)
· EE 5393 - Circuits, Computation, and Biology (3.0 cr)
· EE 5505 - Wireless Communication (3.0 cr)
· FNRM 5131 - Geographical Information Systems (GIS) for Natural Resources (4.0 cr)
· FNRM 5262 - Remote Sensing and Geospatial Analysis of Natural Resources and Environment (3.0 cr)
· FNRM 5412 - Advanced Remote Sensing and Geospatial Analysis (3.0 cr)
· GDES 5341 - Interactive Design (3.0 cr)
· GDES 5342 - Advanced Web Design (3.0 cr)
· HSCI 4321 - History of Computing [TS, HIS] (3.0 cr)
· IDSC 4204W - Information Services Management [WI] (4.0 cr)
· IDSC 4431 - Advanced Database Design (2.0 cr)
· IDSC 4441 - Electronic Commerce (2.0 cr)
· IE 4011 - Stochastic Models (4.0 cr)
· INET 4011 - Networking I: Network Administration (4.0 cr)
· INET 4021 - Network Programming (4.0 cr)
· INET 4041 - Networking II: Emerging Technologies (4.0 cr)
· INET 4061 - Data Science I: Fundamentals (3.0 cr)
· INET 4710 - Data Science II: Big Data Analytics (4.0 cr)
· KIN 5001 - Foundations of Human Factors/Ergonomics (3.0 cr)
· LING 5801 - Introduction to Computational Linguistics (3.0 cr)
· MATH 4xxx
· MATH 5xxx
· MICE 5992 - Personal Microbiome Analysis (0.0-3.0 cr)
· PHYS 4041 - Computational Methods in the Physical Sciences (4.0 cr)
· PHYS 4051 - Methods of Experimental Physics I (5.0 cr)
· STAT 4xxx
· STAT 5xxx
Upper Division Track
A CSci track and the ud math oriented requirement must total 23 credits. 11 of the 23 credits must be from CSci courses.
Architecture and Hardware Systems
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4203 or EE4363 and CSCI 5204. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 5204 - Advanced Computer Architecture (3.0 cr)
CSCI 4203 - Computer Architecture (4.0 cr)
or EE 4363 - Computer Architecture and Machine Organization (4.0 cr)
Architecture and Hardware Systems Sublist
Take 2 or more course(s) from the following:
· CSCI 4211 - Introduction to Computer Networks (3.0 cr)
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5161 - Introduction to Compilers (3.0 cr)
· CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming (3.0 cr)
· EE 4341 - Embedded System Design (4.0 cr)
-OR-
Artificial Intelligence/Robotics
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4511W and CSCI 5512. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 4511W - Introduction to Artificial Intelligence [WI] (4.0 cr)
CSCI 5512 - Artificial Intelligence II (3.0 cr)
Artificial Intelligence/Robotics Sublist
Take 2 or more course(s) from the following:
· 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)
-OR-
Big Data
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4707 or CSCI 5105 and CSCI 5521 or CSCI 5523. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
Requirement 1
CSCI 4707 - Practice of Database Systems (3.0 cr)
or CSCI 5105 - Introduction to Distributed Systems (3.0 cr)
Requirement 2
CSCI 5521 - Introduction to Machine Learning (3.0 cr)
or CSCI 5523 - Introduction to Data Mining (3.0 cr)
Big Data Sublist
Take 2 or more course(s) from the following:
· CSCI 4511W - Introduction to Artificial Intelligence [WI] (4.0 cr)
· CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming (3.0 cr)
· CSCI 5481 - Computational Techniques for Genomics (3.0 cr)
· CSCI 5512 - Artificial Intelligence II (3.0 cr)
· CSCI 5609 - Visualization (3.0 cr)
· INET 4061 - Data Science I: Fundamentals (3.0 cr)
· INET 4710 - Data Science II: Big Data Analytics (4.0 cr)
· MATH 5651 - Basic Theory of Probability and Statistics (4.0 cr)
-OR-
Bioinformatics and Computational Biology
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 5461 and CSCI 5481. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 5461 - Functional Genomics, Systems Biology, and Bioinformatics (3.0 cr)
CSCI 5481 - Computational Techniques for Genomics (3.0 cr)
Bioinformatics and Computational Biology Sublist
Take 2 or more course(s) from the following:
· CSCI 4707 - Practice of Database Systems (3.0 cr)
· CSCI 5421 - Advanced Algorithms and Data Structures (3.0 cr)
· CSCI 5521 - Introduction to Machine Learning (3.0 cr)
· CSCI 5523 - Introduction to Data Mining (3.0 cr)
-OR-
Computational Science
This track's required courses meet the upper division math oriented. This track will require more track electives to reach the 23 credit minimum.
CSCI 5302 - Analysis of Numerical Algorithms (3.0 cr)
CSCI 5304 - Computational Aspects of Matrix Theory (3.0 cr)
Computational Science Sublist
Take 2 or more course(s) from the following:
· 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 5481 - Computational Techniques for Genomics (3.0 cr)
· CSCI 5523 - Introduction to Data Mining (3.0 cr)
· CSCI 5609 - Visualization (3.0 cr)
· MATH 5075 - Mathematics of Options, Futures, and Derivative Securities I (4.0 cr)
· MATH 5467 - Introduction to the Mathematics of Image and Data Analysis (4.0 cr)
· MATH 5587 - Elementary Partial Differential Equations I (4.0 cr)
· MATH 5588 - Elementary Partial Differential Equations II (4.0 cr)
· MATH 5711 - Linear Programming and Combinatorial Optimization (4.0 cr)
· AST 4101 - Computational Methods in the Physical Sciences (4.0 cr)
or PHYS 4041 - Computational Methods in the Physical Sciences (4.0 cr)
-OR-
Databases
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4707 and CSCI 5708. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 4707 - Practice of Database Systems (3.0 cr)
CSCI 5708 - Architecture and Implementation of Database Management Systems (3.0 cr)
Databases Sublist
Take 2 or more course(s) from the following:
· CSCI 4131 - Internet Programming (3.0 cr)
· CSCI 4211 - Introduction to Computer Networks (3.0 cr)
· CSCI 4511W - Introduction to Artificial Intelligence [WI] (4.0 cr)
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5421 - Advanced Algorithms and Data Structures (3.0 cr)
· CSCI 5523 - Introduction to Data Mining (3.0 cr)
· INET 4061 - Data Science I: Fundamentals (3.0 cr)
-OR-
Geographical Information Systems
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4707 and CSCI 5708. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 4707 - Practice of Database Systems (3.0 cr)
CSCI 5708 - Architecture and Implementation of Database Management Systems (3.0 cr)
Geographical Information Systems Sublist
Take 2 or more course(s) from the following:
· CSCI 5715 - From GPS and Virtual Globes to Spatial Computing (3.0 cr)
· FNRM 5131 - Geographical Information Systems (GIS) for Natural Resources (4.0 cr)
· FNRM 5262 - Remote Sensing and Geospatial Analysis of Natural Resources and Environment (3.0 cr)
· FNRM 5412 - Advanced Remote Sensing and Geospatial Analysis (3.0 cr)
· CSCI 4611 - Programming Interactive Computer Graphics and Games (3.0 cr)
or CSCI 5607 - Fundamentals of Computer Graphics 1 (3.0 cr)
-OR-
Graphics and Visualization
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4611 or 5607 and CSCI 5608 or 5609 or 5611 or 5619. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
Requirement 1
CSCI 4611 - Programming Interactive Computer Graphics and Games (3.0 cr)
or CSCI 5607 - Fundamentals of Computer Graphics 1 (3.0 cr)
Requirement 2
CSCI 5608 - Fundamentals of Computer Graphics II (3.0 cr)
or CSCI 5609 - Visualization (3.0 cr)
or CSCI 5611 - Animation & Planning in Games (3.0 cr)
or CSCI 5619 - Virtual Reality and 3D Interaction (3.0 cr)
Graphics and Visualization Sublist
Take 2 or more course(s) from the following:
· CSCI 4611 - Programming Interactive Computer Graphics and Games (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 5115 - User Interface Design, Implementation and Evaluation (3.0 cr)
· CSCI 5125 - Collaborative and Social Computing (3.0 cr)
· CSCI 5302 - Analysis of Numerical Algorithms (3.0 cr)
· CSCI 5523 - Introduction to Data Mining (3.0 cr)
· CSCI 5561 - Computer Vision (3.0 cr)
-OR-
Human Computer Interaction
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 5115 and CSCI 5125. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 5115 - User Interface Design, Implementation and Evaluation (3.0 cr)
CSCI 5125 - Collaborative and Social Computing (3.0 cr)
Human Computer Interaction Sublist
Take 2 or more course(s) from the following:
· CSCI 5117 - Developing the Interactive Web (3.0 cr)
· CSCI 5127W - Human-Centered Design and Prototyping of Ubiquitous Computing Systems [WI] (3.0 cr)
· CSCI 5609 - Visualization (3.0 cr)
· KIN 5001 - Foundations of Human Factors/Ergonomics (3.0 cr)
-OR-
Networks
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4211 and CSCI 5221. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 4211 - Introduction to Computer Networks (3.0 cr)
CSCI 5221 - Foundations of Advanced Networking (3.0 cr)
Networks Sublist
Take 2 or more course(s) from the following:
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5105 - Introduction to Distributed Systems (3.0 cr)
· CSCI 5231 - Wireless and Sensor Networks (3.0 cr)
· CSCI 5271 - Introduction to Computer Security (3.0 cr)
· CSCI 5471 - Modern Cryptography (3.0 cr)
· EE 5505 - Wireless Communication (3.0 cr)
· INET 4011 - Networking I: Network Administration (4.0 cr)
· INET 4021 - Network Programming (4.0 cr)
· INET 4041 - Networking II: Emerging Technologies (4.0 cr)
· MATH 5251 - Error-Correcting Codes, Finite Fields, Algebraic Curves (4.0 cr)
-OR-
Security
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4211 and CSCI 5271. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 4211 - Introduction to Computer Networks (3.0 cr)
CSCI 5271 - Introduction to Computer Security (3.0 cr)
Security Sublist
Take 2 or more course(s) from the following:
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5471 - Modern Cryptography (3.0 cr)
· CSCI 5801 - Software Engineering I (3.0 cr)
· INET 4011 - Networking I: Network Administration (4.0 cr)
· MATH 5248 - Cryptology and Number Theory (4.0 cr)
-OR-
Software and Data Systems Development
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4707 and CSCI 5801. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 4707 - Practice of Database Systems (3.0 cr)
CSCI 5801 - Software Engineering I (3.0 cr)
Software and Data Systems Development Sublist
Take 2 or more course(s) from the following:
· CSCI 4131 - Internet Programming (3.0 cr)
· CSCI 4211 - Introduction to Computer Networks (3.0 cr)
· CSCI 5103 - Operating Systems (3.0 cr)
· CSCI 5106 - Programming Languages (3.0 cr)
· CSCI 5115 - User Interface Design, Implementation and Evaluation (3.0 cr)
· CSCI 5161 - Introduction to Compilers (3.0 cr)
· CSCI 5271 - Introduction to Computer Security (3.0 cr)
· CSCI 5708 - Architecture and Implementation of Database Management Systems (3.0 cr)
· CSCI 5802 - Software Engineering II (3.0 cr)
· INET 4061 - Data Science I: Fundamentals (3.0 cr)
-OR-
Software Engineering/Programming Languages
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 5106 and CSCI 5801. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 5106 - Programming Languages (3.0 cr)
CSCI 5801 - Software Engineering I (3.0 cr)
SE/PL Sublist
Take 2 or more course(s) from the following:
· CSCI 4011 - Formal Languages and Automata Theory (4.0 cr)
· CSCI 5161 - Introduction to Compilers (3.0 cr)
· CSCI 5802 - Software Engineering II (3.0 cr)
· MATH 5165 - Mathematical Logic I (4.0 cr)
-OR-
Systems
A track is 23 credits minimum, split into three parts. Take four classes from the course list below, including the two required courses: CSCI 4211 and CSCI 5103. The second part is one math oriented requirement. The final part to complete a track is enough track electives to reach the 23 credit minimum.
CSCI 4211 - Introduction to Computer Networks (3.0 cr)
CSCI 5103 - Operating Systems (3.0 cr)
Systems Sublist
Take 2 or more course(s) from the following:
· CSCI 4131 - Internet Programming (3.0 cr)
· CSCI 5105 - Introduction to Distributed Systems (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 5551 - Introduction to Intelligent Robotic Systems (3.0 cr)
-OR-
Theory
This track's required courses meet the upper division math oriented. This track will require more track electives to reach the 23 credit minimum.
CSCI 4011 - Formal Languages and Automata Theory (4.0 cr)
CSCI 5421 - Advanced Algorithms and Data Structures (3.0 cr)
Theory Sublist
Take 2 or more course(s) from the following:
· CSCI 5403 - Computational Complexity (3.0 cr)
· CSCI 5451 - Introduction to Parallel Computing: Architectures, Algorithms, and Programming (3.0 cr)
· CSCI 5471 - Modern Cryptography (3.0 cr)
· CSCI 5481 - Computational Techniques for Genomics (3.0 cr)
· CSCI 5525 - Machine Learning (3.0 cr)
· MATH 5165 - Mathematical Logic I (4.0 cr)
· MATH 5166 - Mathematical Logic II (4.0 cr)
· MATH 5707 - Graph Theory and Non-enumerative Combinatorics (4.0 cr)
· MATH 5711 - Linear Programming and Combinatorial Optimization (4.0 cr)
-OR-
Custom Track
In rare instances, students may create their own track. Such tracks must be discussed with a CSci advisor. Custom tracks must be highly coherent, sufficiently advanced, in accordance with a computer science degree, and aligned with the student's goals. Students can choose their courses from the pre-approved track electives list. A custom track must still contain 23 credits minimum including an upper division math oriented requirement.
 
More program views..
View college catalog(s):
· College of Science and Engineering

View sample plan(s):
· CSci BS Plan (Software & Data Systems Development Track)

View checkpoint chart:
· Computer Science B.S. Comp.Sc.
View PDF Version:
Search.
Search Programs

Search University Catalogs
Related links.

College of Science and Engineering

TC Undergraduate Admissions

TC Undergraduate Application

One Stop
for tuition, course registration, financial aid, academic calendars, and more
 
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 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 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 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 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 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 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 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
PHYS 1301W - Introductory Physics for Science and Engineering I (PHYS, WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00078
Typically offered: Every Fall, Spring & Summer
Use of fundamental principles to solve quantitative problems. Motion, forces, conservation principles, structure of matter. Applications to mechanical systems. 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 1571
PHYS 1401V - Honors Physics I (PHYS, WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00078
Grading Basis: A-F only
Typically offered: Every Fall
Comprehensive, calculus-level general physics. Emphasizes use of fundamental principles to solve quantitative problems. Description of motion, forces, conservation principles. Structure of matter, with applications to mechanical systems.
PHYS 1501V - Honors Introduction to Mechanics (PHYS, WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00078 - Phys 1201W/Phys1301W/Phys1401V
Grading Basis: A-F only
Typically offered: Every Fall
Principles of mechanics for those with full year of calculus/equivalent of one year of high-school physics. Introduction to kinematics, forces, momentum/energy, conservation laws, angular momentum, rigid body motion, gravity, simple harmonic motion, waves. prereq: One year of high school physics, one year of college-level calculus (or a grade of 5 on the BC-level AP calculus exam), Honors, permission of UHP
ESCI 2201 - Solid Earth Dynamics
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Fall
Dynamics of solid Earth, particularly tectonic system. Seismology, internal structure of Earth. Earth's gravity, magnetic fields. Paleomagnetism, global plate tectonics, tectonic systems. Field trip. prereq: concurrent registration is required (or allowed) in PHYS 1301 or instr consent
GCD 3022 - Genetics
Credits: 3.0 [max 3.0]
Course Equivalencies: Biol 4003/GCD 3022
Typically offered: Every Fall, Spring & Summer
Mechanisms of heredity, implications for biological populations. Applications to practical problems. prereq: BIOL 2002 or BIOL 1009
PHYS 1302W - Introductory Physics for Science and Engineering II (PHYS, WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00079
Typically offered: Every Fall & Spring
Use of fundamental principles to solve quantitative problems. Motion, forces, conservation principles, fields, structure of matter. Applications to electromagnetic phenomena. prereq: 1301W, concurrent registration is required (or allowed) in Math 1272 or Math 1372 or Math 1572
PHYS 1402V - Honors Physics II (PHYS, WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00079 - Phys 1202W/1302W/1402V
Grading Basis: A-F only
Typically offered: Every Spring
Fundamental principles to solve quantitative problems. Description of motion, forces, conservation principles, fields. Structure of matter, with applications to electro-magnetic phenomena. prereq: 1401V, honors student or permission of University Honors Program
PHYS 1502V - Honors Introduction to Electricity and Magnetism (PHYS, WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00079 - Phys 1202W/1302W/1402V
Grading Basis: A-F only
Typically offered: Every Spring
Principles of electricity/magnetism for those with full year of calculus/equivalent of one year of high-school physics. Introduction to electrostatics, magnetostatics, electrodynamics, electric/magnetic properties of materials, circuits, Maxwell's equations, electromagnetic waves. prereq: 1501V, honors
PSY 3011 - Introduction to Learning and Behavior
Credits: 3.0 [max 3.0]
Typically offered: Every Fall
Methods/findings of research on learning and behavior change. Twentieth-century theoretical perspectives, including contemporary models. Emphasizes animal learning and behavioral psychology. prereq: 1001
CHEM 1061 - Chemical Principles I (PHYS)
Credits: 3.0 [max 3.0]
Course Equivalencies: 01884 - Chem 1061/Chem 1071H
Typically offered: Every Fall, Spring & Summer
Atomic theory, periodic properties of elements. Thermochemistry, reaction stoichiometry. Behavior of gases, liquids, and solids. Molecular/ionic structure/bonding. Organic chemistry and polymers. energy sources, environmental issues related to energy use. Prereq-Grade of at least C- in [1011 or 1015] or [passing placement exam, concurrent registration is required (or allowed) in 1065]; intended for science or engineering majors; concurrent registration is required (or allowed) in 1065; registration for 1065 must precede registration for 1061
CHEM 1065 - Chemical Principles I Laboratory (PHYS)
Credits: 1.0 [max 1.0]
Course Equivalencies: 01878 - Chem 1065/Chem 1075H
Grading Basis: A-F only
Typically offered: Every Fall, Spring & Summer
Basic laboratory skills while investigating physical and chemical phenomena closely linked to lecture material. Experimental design, data collection and treatment, discussion of errors, and proper treatment of hazardous wastes. prereq: concurrent registration is required (or allowed) in 1061
CHEM 1071H - Honors Chemistry I (PHYS)
Credits: 3.0 [max 3.0]
Course Equivalencies: 01884 - Chem 1061/Chem 1071H
Grading Basis: A-F only
Typically offered: Every Fall
Advanced introduction to atomic theory. Periodic properties of elements. Behavior of gases, liquids, and solids. Molecular/ionic structure, bonding. Aspects of organic chemistry, spectroscopy, and polymers. Mathematically demanding quantitative problems. Writing for scientific journals. prereq: Honors student, permission of University Honors Program, concurrent registration is required (or allowed) in 1075H; registration for 1075H must precede registration for 1071H
CHEM 1075H - Honors Chemistry I Laboratory (PHYS)
Credits: 1.0 [max 1.0]
Course Equivalencies: 01878 - Chem 1065/Chem 1075H
Grading Basis: A-F only
Typically offered: Every Fall
Develop laboratory skills while investigating physical and chemical phenomena closely linked to lecture material. Experimental design, data collection and treatment, discussion of errors, and the proper treatment of hazardous wastes. Prereq-&1071H, honors student, permission of University Honors Program.
CHEM 1062 - Chemical Principles II (PHYS)
Credits: 3.0 [max 3.0]
Course Equivalencies: 01885 - Chem 1062/Chem 1072H
Typically offered: Every Fall, Spring & Summer
Chemical kinetics. Radioactive decay. Chemical equilibrium. Solutions. Acids/bases. Solubility. Second law of thermodynamics. Electrochemistry/corrosion. Descriptive chemistry of elements. Coordination chemistry. Biochemistry. prereq: Grade of at least C- in 1061 or equiv, concurrent registration is required (or allowed) in 1066; registration for 1066 must precede registration for 1062
CHEM 1066 - Chemical Principles II Laboratory (PHYS)
Credits: 1.0 [max 1.0]
Course Equivalencies: 01879 - Chem 1066/Chem 1076H
Grading Basis: A-F only
Typically offered: Every Fall, Spring & Summer
Basic laboratory skills while investigating physical and chemical phenomena closely linked to lecture material. Experimental design, data collection and treatment, discussion of errors, and proper treatment of hazardous wastes. prereq: concurrent registration is required (or allowed) in 1062
CHEM 1072H - Honors Chemistry II (PHYS)
Credits: 3.0 [max 3.0]
Course Equivalencies: 01885 - Chem 1062/Chem 1072H
Grading Basis: A-F only
Typically offered: Every Spring
Advanced introduction. Chemical kinetics/reaction mechanisms, chemical/physical equilibria, acids/bases, entropy/second law of thermodynamics, electrochemistry/corrosion; descriptive chemistry of elements; coordination chemistry; biochemistry. prereq: 1071H, concurrent registration is required (or allowed) in 1076H, honors student, registration for 1076H must precede registration for 1072H
CHEM 1076H - Honors Chemistry II Laboratory (PHYS)
Credits: 1.0 [max 1.0]
Course Equivalencies: 01879 - Chem 1066/Chem 1076H
Grading Basis: A-F only
Typically offered: Every Spring
Develop laboratory skills as experiments become increasingly complex. Data collection/treatment, discussion of errors, proper treatment of hazardous wastes, experiment design. prereq: concurrent registration is required (or allowed) in 1072H
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
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]
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 3081W - Program Design and Development (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00728
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, Univ. honors student, or dept. permission
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]
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.
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
CSCI 3081W - Program Design and Development (WI)
Credits: 4.0 [max 4.0]
Course Equivalencies: 00728
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, Univ. honors student, 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 - Human-Centered Design and Prototyping of Ubiquitous Computing Systems (WI)
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
Principles of human-centered design applied to real-world challenges. A semester-long team project involving (1) investigating human needs, (2) charting the solution space through ideation and visual exploration, and (3) rapidly prototyping and iterating ubiquitous computing solutions. Collaborative writing describing your process and findings. prereq: CSci 4041, upper division or graduate student, or instructor permission; CSci 5115 or equivalent recommended.
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 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 5403 - Computational Complexity
Credits: 3.0 [max 3.0]
Prerequisites: 4041 or #
Typically offered: Periodic Fall & Spring
Computational models, complexity measures in each model, and related complexity classes. prereq: 4041 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 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 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
AEM 4601 - Instrumentation Laboratory
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Introduction to lab instrumentation. Computerized data acquisition. Statistical analysis of data. Time series data, spectral analysis. Transducers for measurement of solid, fluid, and dynamical quantities. Design of experiments. prereq: CSci 1113, EE 3005, EE 3006, [upper div BAEM]
AST 4101 - Computational Methods in the Physical Sciences
Credits: 4.0 [max 4.0]
Typically offered: Periodic Fall & Spring
Introduction to using computer programs to solve problems in physical sciences. Selected numerical methods, mapping problems onto computational algorithms. Arranged lab. prereq: Upper div or grad student or instr consent
BIOL 5272 - Applied Biostatistics
Credits: 3.0 [max 3.0]
Course Equivalencies: 01933
Grading Basis: A-F only
Typically offered: Every Fall & Spring
Conceptual basis of statistical analysis. Statistical analysis of biological data. Data visualization, descriptive statistics, significance tests, experimental design, linear model, simple/multiple regression, general linear model. Lectures, computer lab. prereq: One semester of college-level [[calculus or statistics or computer programming], general biology]
CHEM 4021 - Computational Chemistry
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Theoretical methods for study of molecular structure, bonding, and reactivity. Ab initio/semi-empirical calculations. Theoretical determination of molecular electronic structure/spectra, relation to experimental techniques. Molecular mechanics. Structure determination for large systems. Molecular properties/reactivity. Computational tools. Critical assessment of methods/theoretical work in the literature. Lab. prereq: [4502 or equiv], instr consent
EE 4301 - Digital Design With Programmable Logic
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Summer
Introduction to system design/simulation. Design using Verilog code/synthesis. Emulation using Verilog code. prereq: 2301, [1301 or CSCI 1113 or CSCI 1901]
EE 4303 - Introduction to Programmable Devices Laboratory
Credits: 1.0 [max 1.0]
Course Equivalencies: 01806 - EE 4301/EE 4303
Typically offered: Periodic Spring
Verilog Language. Combinatorial and sequential logic synthesis with Verilog. Implementation in Field Programmable Gate Arrays (FPGAs). prereq: 2301, 2361; cannot receive cr for 4303 if cr granted for EE 4301
EE 4341 - Embedded System Design
Credits: 4.0 [max 4.0]
Typically offered: Every Spring
Microcontroller interfacing for embedded system design. Exception handling/interrupts. Memory Interfacing. Parallel/serial input/output methods. System Buses and protocols. Serial Buses and component interfaces. Microcontroller Networks. Real-Time Operating Systems. Integral lab. prereq: 2301, 2361, upper div CSE
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
EE 5371 - Computer Systems Performance Measurement and Evaluation
Credits: 3.0 [max 3.0]
Course Equivalencies: EE 5371/5863
Typically offered: Periodic Fall & Spring
Tools/techniques for analyzing computer hardware, software, system performance. Benchmark programs, measurement tools, performance metrics. Deterministic/probabilistic simulation techniques, random number generation/testing. Bottleneck analysis. prereq: [4363 or 5361 or CSci 4203 or 5201], [CSE grad student] or dept consent
EE 5393 - Circuits, Computation, and Biology
Credits: 3.0 [max 3.0]
Typically offered: Periodic Fall & Spring
Connections between digital circuit design and synthetic/computational biology. Probabilistic, discrete-event simulation. Timing analysis. Information-Theoretic Analysis. Feedback in digital circuits/genetic regulatory systems. Synthesizing stochastic logic and probabilistic biochemistry. prereq: MATH 2263 or dept consent
EE 5505 - Wireless Communication
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Introduction to wireless communication systems. Propagation modeling, digital communication over fading channels, diversity and spread spectrum techniques, radio mobile cellular systems design, performance evaluation. Current European, North American, and Japanese wireless networks. prereq: [4501, CSE grad student] or dept consent; 5501 recommended
FNRM 5131 - Geographical Information Systems (GIS) for Natural Resources
Credits: 4.0 [max 4.0]
Course Equivalencies: 00369
Grading Basis: A-F or Aud
Typically offered: Every Fall
Geographic information systems (GIS), focusing on spatial data development and analysis in the science and management of natural resources. Basic data structures, sources, collection, and quality; geodesy and map projections; spatial and tabular data analyses; digital elevation data and terrain analyses; cartographic modeling and layout. Lab exercises provide practical experiences complementing theory covered in lecture. prereq: Grad student or instr consent
FNRM 5262 - Remote Sensing and Geospatial Analysis of Natural Resources and Environment
Credits: 3.0 [max 3.0]
Course Equivalencies: 00372 - FNRM 3262/FNRM 5262
Typically offered: Every Fall
Introductory principles and techniques of remote sensing and geospatial analysis applied to mapping and monitoring land and water resources from local to global scales. Examples of applications include: Land cover mapping and change detection, forest and natural resource inventory, water quality monitoring, and global change analysis. The lab provides hands-on experience working with satellite and aerial imagery and image processing methods and software. Prior coursework in Geographic Information Systems and introductory statistics is recommended. prereq: Grad student or instr consent
FNRM 5412 - Advanced Remote Sensing and Geospatial Analysis
Credits: 3.0 [max 3.0]
Prerequisites: 3262 or grad student or #
Typically offered: Every Spring
This course builds on the introductory remote sensing class, FNRM 3262/5262. It provides a detailed treatment of advanced remote sensing and geospatial theory and methods including biophysics of remote sensing, measurements and sensors, data transforms, data fusion, lidar processing and derivatives, advanced classification algorithms (including Object-Based Image Analysis), multitemporal analysis, and empirical modeling. Independent lab activities will be used to apply the course topics to real-world problems. Prior coursework in Geographic Information Systems, remote sensing, and statistics is necessary. prereq: 3262 or grad student or instr consent
GDES 5341 - Interactive Design
Credits: 3.0 [max 3.0]
Course Equivalencies: 01108
Grading Basis: A-F or Aud
Typically offered: Every Fall & Spring
Design of interactive multimedia projects. Interactive presentations and electronic publishing. Software includes hypermedia, scripting, digital output. prereq: [[2334 or 2342], design minor] or graphic design major or grad student or instr consent
GDES 5342 - Advanced Web Design
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Internet-based design. Static web pages, embedded media, cascading style sheets. Design and usability of interface between humans and technology. Evaluation of visual elements that control and organize dealings with computers to direct work. Students develop designs, do usability testing. prereq: [[2334 or 2342], design minor] or graphic design major or grad student or instr consent
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.
IDSC 4204W - Information Services Management (WI)
Credits: 4.0 [max 4.0]
Prerequisites: 3202
Grading Basis: A-F or Aud
Typically offered: Every Fall & Spring
Information services as service function. Investing resources to support strategy. Managing IS resources. Project Management, Human Capital Management, Infrastructure Management. Emphasis on cloud/big data infrastructures, outsourcing. prereq: 3202
IDSC 4431 - Advanced Database Design
Credits: 2.0 [max 2.0]
Grading Basis: A-F only
Typically offered: Every Spring
Reviews ER/relational modeling and normalization, then focuses on fact modeling (ORM) to produce advanced richer business data models. "Flipped" class, fully online, including all lectures & final exam. Weekly in-class review session is recorded and online for questions, discussion, and results of assignments & quizzes. prereq: 3103 or CSCI 4707 or CSCI 5707 or instr consent
IDSC 4441 - Electronic Commerce
Credits: 2.0 [max 2.0]
Grading Basis: A-F or Aud
Typically offered: Periodic Fall, Spring & Summer
Issues/trends in applying e-commerce initiatives. Technological infrastructure, revenue models, web marketing, business-to-business strategies, online auctions, legal and ethical aspects, hardware/software, payment systems, security. Conceiving, planning, building, and managing e-commerce initiatives. prereq: 3001
IE 4011 - Stochastic Models
Credits: 4.0 [max 4.0]
Prerequisites: 3521, MATH 2373, MATH 2374, ISyE major
Grading Basis: A-F only
Typically offered: Every Spring
Models for describing/evaluating random systems. Formulating/analyzing stochastic models for business. Discrete-time/continuous-time Markov chains. Poisson processes. Markovian/non-Markovian queueing theory. Inventory management, manufacturing, reliability. prereq: 3521, MATH 2373, MATH 2374, ISyE major
INET 4011 - Networking I: Network Administration
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Fall
A combination of networking theory (lecture and expert guest speakers) and application (lab work). Topics include network architecture, switching, routing, algorithms, protocols, infrastructure hardware, cable plant, security, and network management. prereq: CSCI 4211-Introduction to Computer Networks or equivalent networking knowledge and understanding.
INET 4021 - Network Programming
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Network/distributed programming concepts. Design using C, Java, and other higher level programming languages. Sockets, TCP/IP, RPC, streaming, CORBA, .NET, SOAP. Labs use UNIX/Linux and MS Windows operating systems. prereq: [CSCI 4211 or equiv professional experience or instr consent], 45 cr
INET 4041 - Networking II: Emerging Technologies
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Fall
Emerging networking concepts, technologies, and applications. Topics will evolve to reflect current trends and expertise of the faculty, such as high speed networking, ATM, network security, wireless networks, multimedia, and electronic commerce. Each technology is considered for the underlying theory; the driving technological and business needs; the applications; the competing alternative technologies; and the design, implementation, and configuration of such systems. Case studies may be used to identify and analyze strategic issues and problems. Concepts and tools from this and previous ITI courses are applied to solve these problems and design realistic programs of action. Hands-on labs are included when possible. Industry speakers, tours, and demonstrations show practical applications. prereq: CSci 4211 or equivalent, or professional experience, to comprise a basic understanding and knowledge of operating systems, computer architecture, and probability theory. Senior status preferred.
INET 4061 - Data Science I: Fundamentals
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Introduction to data science. Design strategies for business analytics: statistics basics, core data mining models, dimensional model, data pipeline, visualization. Hands-on labs with in-memory analytics, relational database, and statistics software. prereq: [4707 or CSCI 4707 or instr consent], laptop
INET 4710 - Data Science II: Big Data Analytics
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Scales machine learning models and data analysis to a Big Data platform. Map Reduce and Spark frameworks are introduced as approaches to parallel algorithm development. Hands-on labs. Prerequisites: Basic programming knowledge (Java, Python, R). Linear algebra strongly recommended, especially matrix operations (e.g., MATH 2243, Linear Algebra and Differential Equations)
KIN 5001 - Foundations of Human Factors/Ergonomics
Credits: 3.0 [max 3.0]
Course Equivalencies: HumF/Kin 5001
Grading Basis: A-F or Aud
Typically offered: Every Fall
Variability in human performance as influenced by interaction with designs of machines and tools, computers and software, complex technological systems, jobs and working conditions, organizations, and sociotechnical institutions. Emphasizes conceptual, empirical, practical aspects of human factors/ergonomic science.
LING 5801 - Introduction to Computational Linguistics
Credits: 3.0 [max 3.0]
Typically offered: Spring Odd Year
Methods/issues in computer understanding of natural language. Programming languages, their linguistic applications. Lab projects. prereq: [4201 or 5201] or programming experience or instr consent
MICE 5992 - Personal Microbiome Analysis
Credits: 0.0 -3.0 [max 3.0]
Typically offered: Every Spring
Personal Microbiome Analysis, an introduction to the computational exploration and analysis of your inner microbial community, also known as your microbiome. In this course, you will have the opportunity to explore your own microbiome using visualization and analysis tools. Sequencing your own microbiome is encouraged but not required for the course.
PHYS 4041 - Computational Methods in the Physical Sciences
Credits: 4.0 [max 4.0]
Course Equivalencies: 01838
Typically offered: Periodic Fall & Spring
Introduction to using computer programs to solve problems in physical sciences. Selected numerical methods, mapping problems onto computational algorithms. Arranged lab. prereq: Upper div or grad student or instr consent
PHYS 4051 - Methods of Experimental Physics I
Credits: 5.0 [max 5.0]
Typically offered: Every Fall
Contemporary experimental techniques. Introduction to modern analog and digital electronics from an experimental viewpoint. Use of computers for data acquisition and experimental control. Statistics of data analysis. prereq: concurrent registration is required (or allowed) in 2605 or equiv lab experience or instr consent
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
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: CSci 4211/5211
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 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 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 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
EE 4341 - Embedded System Design
Credits: 4.0 [max 4.0]
Typically offered: Every Spring
Microcontroller interfacing for embedded system design. Exception handling/interrupts. Memory Interfacing. Parallel/serial input/output methods. System Buses and protocols. Serial Buses and component interfaces. Microcontroller Networks. Real-Time Operating Systems. Integral lab. prereq: 2301, 2361, upper div CSE
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 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 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 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 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 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 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 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 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
INET 4061 - Data Science I: Fundamentals
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Introduction to data science. Design strategies for business analytics: statistics basics, core data mining models, dimensional model, data pipeline, visualization. Hands-on labs with in-memory analytics, relational database, and statistics software. prereq: [4707 or CSCI 4707 or instr consent], laptop
INET 4710 - Data Science II: Big Data Analytics
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Scales machine learning models and data analysis to a Big Data platform. Map Reduce and Spark frameworks are introduced as approaches to parallel algorithm development. Hands-on labs. Prerequisites: Basic programming knowledge (Java, Python, R). Linear algebra strongly recommended, especially matrix operations (e.g., MATH 2243, Linear Algebra and Differential Equations)
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.
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 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 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 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 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 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 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 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 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 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
MATH 5075 - Mathematics of Options, Futures, and Derivative Securities I
Credits: 4.0 [max 4.0]
Typically offered: Every Fall
Mathematical background (e.g., partial differential equations, Fourier series, computational methods, Black-Scholes theory, numerical methods--including Monte Carlo simulation). Interest-rate derivative securities, exotic options, risk theory. First course of two-course sequence. prereq: Two yrs calculus, basic computer skills
MATH 5467 - Introduction to the Mathematics of Image and Data Analysis
Credits: 4.0 [max 4.0]
Typically offered: Every Spring
Background theory/experience in wavelets. Inner product spaces, operator theory, Fourier transforms applied to Gabor transforms, multi-scale analysis, discrete wavelets, self-similarity. Computing techniques. prereq: [2243 or 2373 or 2573], [2283 or 2574 or 3283 or instr consent]; [[2263 or 2374], 4567] recommended
MATH 5587 - Elementary Partial Differential Equations I
Credits: 4.0 [max 4.0]
Typically offered: Every Fall
Emphasizes partial differential equations w/physical applications, including heat, wave, Laplace's equations. Interpretations of boundary conditions. Characteristics, Fourier series, transforms, Green's functions, images, computational methods. Applications include wave propagation, diffusions, electrostatics, shocks. prereq: [2243 or 2373 or 2573], [2263 or 2374 or 2574]
MATH 5588 - Elementary Partial Differential Equations II
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Heat, wave, Laplace's equations in higher dimensions. Green's functions, Fourier series, transforms. Asymptotic methods, boundary layer theory, bifurcation theory for linear/nonlinear PDEs. Variational methods. Free boundary problems. Additional topics as time permits. prereq: [[2243 or 2373 or 2573], [2263 or 2374 or 2574], 5587] or instr consent
MATH 5711 - Linear Programming and Combinatorial Optimization
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Simplex method, connections to geometry, duality theory, sensitivity analysis. Applications to cutting stock, allocation of resources, scheduling problems. Flows, matching/transportation problems, spanning trees, distance in graphs, integer programs, branch/bound, cutting planes, heuristics. Applications to traveling salesman, knapsack problems. prereq: 2 sems soph math [including 2243 or 2373 or 2573]
AST 4101 - Computational Methods in the Physical Sciences
Credits: 4.0 [max 4.0]
Typically offered: Periodic Fall & Spring
Introduction to using computer programs to solve problems in physical sciences. Selected numerical methods, mapping problems onto computational algorithms. Arranged lab. prereq: Upper div or grad student or instr consent
PHYS 4041 - Computational Methods in the Physical Sciences
Credits: 4.0 [max 4.0]
Course Equivalencies: 01838
Typically offered: Periodic Fall & Spring
Introduction to using computer programs to solve problems in physical sciences. Selected numerical methods, mapping problems onto computational algorithms. Arranged lab. prereq: Upper div or grad student or instr consent
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 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 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 4211 - Introduction to Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4211/5211
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 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 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 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 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
INET 4061 - Data Science I: Fundamentals
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Introduction to data science. Design strategies for business analytics: statistics basics, core data mining models, dimensional model, data pipeline, visualization. Hands-on labs with in-memory analytics, relational database, and statistics software. prereq: [4707 or CSCI 4707 or instr consent], laptop
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 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
FNRM 5131 - Geographical Information Systems (GIS) for Natural Resources
Credits: 4.0 [max 4.0]
Course Equivalencies: 00369
Grading Basis: A-F or Aud
Typically offered: Every Fall
Geographic information systems (GIS), focusing on spatial data development and analysis in the science and management of natural resources. Basic data structures, sources, collection, and quality; geodesy and map projections; spatial and tabular data analyses; digital elevation data and terrain analyses; cartographic modeling and layout. Lab exercises provide practical experiences complementing theory covered in lecture. prereq: Grad student or instr consent
FNRM 5262 - Remote Sensing and Geospatial Analysis of Natural Resources and Environment
Credits: 3.0 [max 3.0]
Course Equivalencies: 00372 - FNRM 3262/FNRM 5262
Typically offered: Every Fall
Introductory principles and techniques of remote sensing and geospatial analysis applied to mapping and monitoring land and water resources from local to global scales. Examples of applications include: Land cover mapping and change detection, forest and natural resource inventory, water quality monitoring, and global change analysis. The lab provides hands-on experience working with satellite and aerial imagery and image processing methods and software. Prior coursework in Geographic Information Systems and introductory statistics is recommended. prereq: Grad student or instr consent
FNRM 5412 - Advanced Remote Sensing and Geospatial Analysis
Credits: 3.0 [max 3.0]
Prerequisites: 3262 or grad student or #
Typically offered: Every Spring
This course builds on the introductory remote sensing class, FNRM 3262/5262. It provides a detailed treatment of advanced remote sensing and geospatial theory and methods including biophysics of remote sensing, measurements and sensors, data transforms, data fusion, lidar processing and derivatives, advanced classification algorithms (including Object-Based Image Analysis), multitemporal analysis, and empirical modeling. Independent lab activities will be used to apply the course topics to real-world problems. Prior coursework in Geographic Information Systems, remote sensing, and statistics is necessary. prereq: 3262 or grad student or instr consent
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 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 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 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 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 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 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 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 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 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 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 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 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 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 5127W - Human-Centered Design and Prototyping of Ubiquitous Computing Systems (WI)
Credits: 3.0 [max 3.0]
Typically offered: Fall Even Year
Principles of human-centered design applied to real-world challenges. A semester-long team project involving (1) investigating human needs, (2) charting the solution space through ideation and visual exploration, and (3) rapidly prototyping and iterating ubiquitous computing solutions. Collaborative writing describing your process and findings. prereq: CSci 4041, upper division or graduate student, or instructor permission; CSci 5115 or equivalent recommended.
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
KIN 5001 - Foundations of Human Factors/Ergonomics
Credits: 3.0 [max 3.0]
Course Equivalencies: HumF/Kin 5001
Grading Basis: A-F or Aud
Typically offered: Every Fall
Variability in human performance as influenced by interaction with designs of machines and tools, computers and software, complex technological systems, jobs and working conditions, organizations, and sociotechnical institutions. Emphasizes conceptual, empirical, practical aspects of human factors/ergonomic science.
CSCI 4211 - Introduction to Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4211/5211
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 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 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 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 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
EE 5505 - Wireless Communication
Credits: 3.0 [max 3.0]
Typically offered: Every Spring
Introduction to wireless communication systems. Propagation modeling, digital communication over fading channels, diversity and spread spectrum techniques, radio mobile cellular systems design, performance evaluation. Current European, North American, and Japanese wireless networks. prereq: [4501, CSE grad student] or dept consent; 5501 recommended
INET 4011 - Networking I: Network Administration
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Fall
A combination of networking theory (lecture and expert guest speakers) and application (lab work). Topics include network architecture, switching, routing, algorithms, protocols, infrastructure hardware, cable plant, security, and network management. prereq: CSCI 4211-Introduction to Computer Networks or equivalent networking knowledge and understanding.
INET 4021 - Network Programming
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Network/distributed programming concepts. Design using C, Java, and other higher level programming languages. Sockets, TCP/IP, RPC, streaming, CORBA, .NET, SOAP. Labs use UNIX/Linux and MS Windows operating systems. prereq: [CSCI 4211 or equiv professional experience or instr consent], 45 cr
INET 4041 - Networking II: Emerging Technologies
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Fall
Emerging networking concepts, technologies, and applications. Topics will evolve to reflect current trends and expertise of the faculty, such as high speed networking, ATM, network security, wireless networks, multimedia, and electronic commerce. Each technology is considered for the underlying theory; the driving technological and business needs; the applications; the competing alternative technologies; and the design, implementation, and configuration of such systems. Case studies may be used to identify and analyze strategic issues and problems. Concepts and tools from this and previous ITI courses are applied to solve these problems and design realistic programs of action. Hands-on labs are included when possible. Industry speakers, tours, and demonstrations show practical applications. prereq: CSci 4211 or equivalent, or professional experience, to comprise a basic understanding and knowledge of operating systems, computer architecture, and probability theory. Senior status preferred.
MATH 5251 - Error-Correcting Codes, Finite Fields, Algebraic Curves
Credits: 4.0 [max 4.0]
Typically offered: Every Spring
Information theory: channel models, transmission errors. Hamming weight/distance. Linear codes/fields, check bits. Error processing: linear codes, Hamming codes, binary Golay codes. Euclidean algorithm. Finite fields, Bose-Chaudhuri-Hocquenghem codes, polynomial codes, Goppa codes, codes from algebraic curves. prereq: 2 sems soph math
CSCI 4211 - Introduction to Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4211/5211
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 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 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 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 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
INET 4011 - Networking I: Network Administration
Credits: 4.0 [max 4.0]
Grading Basis: A-F or Aud
Typically offered: Every Fall
A combination of networking theory (lecture and expert guest speakers) and application (lab work). Topics include network architecture, switching, routing, algorithms, protocols, infrastructure hardware, cable plant, security, and network management. prereq: CSCI 4211-Introduction to Computer Networks or equivalent networking knowledge and understanding.
MATH 5248 - Cryptology and Number Theory
Credits: 4.0 [max 4.0]
Typically offered: Every Fall
Classical cryptosystems. One-time pads, perfect secrecy. Public key ciphers: RSA, discrete log. Euclidean algorithm, finite fields, quadratic reciprocity. Message digest, hash functions. Protocols: key exchange, secret sharing, zero-knowledge proofs. Probablistic algorithms: pseudoprimes, prime factorization. Pseudo-random numbers. Elliptic curves. prereq: 2 sems soph math
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 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 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 4211 - Introduction to Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4211/5211
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 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 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 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 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 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 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
INET 4061 - Data Science I: Fundamentals
Credits: 3.0 [max 3.0]
Grading Basis: A-F or Aud
Typically offered: Every Spring
Introduction to data science. Design strategies for business analytics: statistics basics, core data mining models, dimensional model, data pipeline, visualization. Hands-on labs with in-memory analytics, relational database, and statistics software. prereq: [4707 or CSCI 4707 or instr consent], laptop
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 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 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 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 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
MATH 5165 - Mathematical Logic I
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 4152/5165
Typically offered: Every Fall
Theory of computability: notion of algorithm, Turing machines, primitive recursive functions, recursive functions, Kleene normal form, recursion theorem. Propositional logic. prereq: 2283 or 3283 or Phil 5201 or CSci course in theory of algorithms or instr consent
CSCI 4211 - Introduction to Computer Networks
Credits: 3.0 [max 3.0]
Course Equivalencies: CSci 4211/5211
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 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 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 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 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 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 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 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 5403 - Computational Complexity
Credits: 3.0 [max 3.0]
Prerequisites: 4041 or #
Typically offered: Periodic Fall & Spring
Computational models, complexity measures in each model, and related complexity classes. 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 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 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
MATH 5165 - Mathematical Logic I
Credits: 4.0 [max 4.0]
Course Equivalencies: Math 4152/5165
Typically offered: Every Fall
Theory of computability: notion of algorithm, Turing machines, primitive recursive functions, recursive functions, Kleene normal form, recursion theorem. Propositional logic. prereq: 2283 or 3283 or Phil 5201 or CSci course in theory of algorithms or instr consent
MATH 5166 - Mathematical Logic II
Credits: 4.0 [max 4.0]
Typically offered: Every Spring
First-order logic: provability/truth in formal systems, models of axiom systems, Godel's completeness theorem. Godel's incompleteness theorem: decidable theories, representability of recursive functions in formal theories, undecidable theories, models of arithmetic. prereq: 5165
MATH 5707 - Graph Theory and Non-enumerative Combinatorics
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Basic topics in graph theory: connectedness, Eulerian/Hamiltonian properties, trees, colorings, planar graphs, matchings, flows in networks. Optional topics include graph algorithms, Latin squares, block designs, Ramsey theory. prereq: [2243 or 2373 or 2573], [2263 or 2374 or 2574]; [2283 or 3283 or experience in writing proofs] highly recommended; Credit will not be granted if credit has been received for: 4707
MATH 5711 - Linear Programming and Combinatorial Optimization
Credits: 4.0 [max 4.0]
Typically offered: Every Fall & Spring
Simplex method, connections to geometry, duality theory, sensitivity analysis. Applications to cutting stock, allocation of resources, scheduling problems. Flows, matching/transportation problems, spanning trees, distance in graphs, integer programs, branch/bound, cutting planes, heuristics. Applications to traveling salesman, knapsack problems. prereq: 2 sems soph math [including 2243 or 2373 or 2573]