Course List

# Number Title
1 1010 Introduction to Computer Programming
Computer programming is a way of thinking. A successful programmer needs to take a word problem, gen
comput program think success programm word problem gener pseudocod algorithm convert syntax specif p
2 1100 Computer Science I
An introduction to computer programming algorithm design and analysis. Additional topics include bas
introduct comput program algorithm design analysi addit topic includ basic comput organ intern repre
3 1190 Beginning Programming for Engineers
This course teaches elementary programming concepts using the MATLAB environment for engineering stu
teach elementari program concept matlab environ engin student prior program experi concept includ va
4 1200 Data Structures
Programming concepts: functions, parameter passing, pointers, arrays, strings, structs, classes, tem
program concept function paramet pass pointer arrai string struct class templat mathemat tool set fu
5 2200 Foundations of Computer Science
This course introduces important mathematical and theoretical tools for computer science, including
introduc import mathemat theoret tool comput scienc includ topic set theori combinator probabl theor
6 2220 Programming in Java
Introduction to programming in the Java language. Java is an object-oriented programming language wi
introduct program java languag java object orient program languag wide develop world wide web applic
7 2300 Introduction to Algorithms
Data structures and algorithms, and the mathematical techniques necessary to design and analyze them
data structur algorithm mathemat techniqu design analyz basic data structur list associ structur tre
8 2500 Computer Organization
Introduction to computer organization, assembler language, and operating systems. Computer systems o
introduct comput organ assembl languag oper system comput system organ processor memori digit logic
9 2600 Principles of Software
A study of important concepts in software design, implementation, and testing. Topics include specif
studi import concept softwar design implement test topic includ specif abstract class design princip
10 2961 Programming in Python
Introduction to programming using Python. Python is a programming language with a wide variety of ap
introduct program python python program languag wide varieti applic domain includ web program game d
11 4020 Computer Algorithms
Basic algorithm design strategies such as greedy, dynamic programming, backtracking, and branch-and-
basic algorithm design strategi greedi dynam program backtrack branch bound main approach includ exa
12 4050 Computability and Complexity
This course discusses concepts of languages defined by formal grammars, Turing machines and rewritin
discuss concept languag defin formal grammar ture machin rewrit system comput church ture thesi deci
13 4100 Machine and Computational Learning
Introduction to the theory, algorithms, and applications of automated learning (supervised, reinforc
introduct theori algorithm applic autom learn supervis reinforc unsupervis inform comput need learn
14 4150 Introduction to Artificial Intelligence
Topics and techniques of artificial intelligence using the language LISP. Topics include search, kno
topic techniqu artifici intellig languag lisp topic includ search knowledg represent expert system t
15 4210 Operating Systems
Discussion of various aspects of computer operating systems design and implementation. Topics includ
discuss aspect comput oper system design implement topic includ program concurr process synchron pro
16 4220 Network Programming
Programming with an overview of the principles of computer networks, including a detailed look at th
program overview principl comput network includ detail osi refer model popular network protocol suit
17 4230 Cryptography and Network Security I
A self-contained course that includes topics from number theory, basic cryptography, and protocol se
contain includ topic number theori basic cryptographi protocol secur hybrid suffici depth theori han
18 4240 Cryptography and Network Security II
A course covering advanced security topics with depth both in theory and hands-on exercises. Topics
cover advanc secur topic depth theori hand exercis topic includ probabilist encrypt deniabl cryptogr
19 4260 Graph Theory
Fundamental concepts and methods of graph theory and its applications to computing and the social an
fundament concept method graph theori applic comput social natur scienc topic includ graph model rep
20 4320 Parallel Programming
Techniques and methods for parallel programming: models of parallel machines and programs, efficienc
techniqu method parallel program model parallel machin program effici complex parallel algorithm par
21 4350 Data Science
Data science is advancing the inductive conduct of science and is driven by the greater volumes, c
data scienc advanc induct conduct scienc driven greater volum complex heterogen data made internet c
22 4380 Database Systems
Discussion of the state of practice in modern database systems, with an emphasis on relational syste
discuss state practic modern databas system emphasi relat system topic includ databas design databas
23 4390 Database Mining
This course will provide an introductory survey of the main topics in data mining and knowledge disc
provid introductori survei main topic data mine knowledg discoveri databas kdd includ classif cluste
24 4400 Xinformatics
Informatics covers a broad range of disciplines addressing challenges in the explosion of data and
informat cover broad rang disciplin address challeng explos data inform resourc xinformat common imp
25 4430 Programming Languages
This course is a study of the important concepts found in current programming languages. Topics incl
studi import concept found current program languag topic includ languag process lexic analysi pars t
26 4440 Software Design and Documentation
Software system design methodology emphasizing use of object oriented modeling of application domain
softwar system design methodolog emphas object orient model applic domain softwar system emphas role
27 4480 Robotics I
A survey of the fundamental issues necessary for the design, analysis, control, and implementation o
survei fundament issu design analysi control implement robot system mathemat descript robot manipul
28 4490 Robotics II
This course introduces methods that leverage the basic analysis techniques learned in Robotics I to 
introduc method leverag basic analysi techniqu learn robot develop numer algorithm techniqu need end
29 4520 Game Development
This class is a practical primer for anyone interested in a career in the rapidly evolving industry
class practic primer interest career rapidli evolv industri video game intens team base project base
30 4530 Advanced Computer Graphics
This course will survey classic papers and current research in computer graphics. Topics include: ad
survei classic paper current research comput graphic topic includ advanc rai trace global illumin ph
31 4540 Game Development II
This course follows Game Development I. Students work in interdisciplinary teams to create one large
game develop student work interdisciplinari team creat larg scale game work concept public releas pr
32 4650 Networking Laboratory I
A studio course with an interactive learning style that utilizes a lab of over 260 routers and switc
studio interact learn style util lab router switch configur lab includ virtual lan span tree inter s
33 4660 Networking Laboratory II
A studio course with an interacive learning style that utilizes a lab of over 300 routers and switch
studio interac learn style util lab router switch configur lab includ vlan layer secur layer switch
34 4670 Networking Security Laboratory
A studio course with an interactive learning style. Students download tools to compromise (“hack”) a
studio interact learn style student download tool compromis hack network student set defens strategi
35 4680 Advanced Networking Practicum
Students complete 8 eight-hour labs on fourteen networking devices. This course prepares students to
student complet hour lab fourteen network devic prepar student administ network router hand lab
36 4800 Numerical Computing
A survey of numerical methods for scientific and engineering problems. Topics include numerical solu
survei numer method scientif engin problem topic includ numer solut linear nonlinear algebra equat i
37 4820 Introduction to Numerical Methods for Differential Equations
Derivation, analysis, and use of computational procedures for solving differential equations. Topics
deriv analysi comput procedur solv differenti equat topic cover includ ordinari differenti equat ini
38 6050 Computability and Complexity
This course discusses modern concepts of computability and computational complexity theories. The Ch
discuss modern concept comput comput complex theori church ture thesi variat ture machin algorithm d
39 6100 Machine and Computational Learning
Introduction to the theory, algorithms, and applications of automated learning (supervised, reinforc
introduct theori algorithm applic autom learn supervis reinforc unsupervis inform comput need learn
40 6140 Computer Operating Systems
Topics include analysis of multiprogramming systems, virtual memory, computer system performance, an
topic includ analysi multiprogram system virtual memori comput system perform queu theori discuss to
41 6210 Design and Analysis of Algorithms
Theoretical and empirical analysis of algorithms; tools for on-line monitoring of the algorithm’s pe
theoret empir analysi algorithm tool line monitor algorithm perform advanc algorithm polynomi proble
42 6230 Cryptography and Network Security I
A self-contained course that includes topics from number theory, basic cryptography, and protocol se
contain includ topic number theori basic cryptographi protocol secur hybrid suffici depth theori han
43 6240 Cryptography and Network Security II
A course covering advanced security topics with depth both in theory and hands-on exercises. Topics
cover advanc secur topic depth theori hand exercis topic includ probabilist encrypt deniabl cryptogr
44 6270 Computational Vision
Introduction to the problems and techniques of vision from a computational perspective. Discussion i
introduct problem techniqu vision comput perspect discuss includ comput theori vision topic imag for
45 6350 Data Science
Data science is advancing the inductive conduct of science and is driven by the greater volumes, c
data scienc advanc induct conduct scienc driven greater volum complex heterogen data made internet c
46 6360 Parallel Computing
A survey of fundamental issues in design of efficient programs for parallel computers. The topics di
survei fundament issu design effici program parallel comput topic discuss includ model parallel mach
47 6390 Database Mining
This course will provide an introductory survey of the main topics in data mining and knowledge disc
provid introductori survei main topic data mine knowledg discoveri databas kdd includ classif cluste
48 6400 Xinformatics
Informatics covers a broad range of disciplines addressing challenges in the explosion of data and
informat cover broad rang disciplin address challeng explos data inform resourc xinformat common imp
49 6430 Programming Languages
This course is a study of the important concepts found in current programming languages. Topics incl
studi import concept found current program languag topic includ languag process lexic analysi pars t
50 6490 Robotics II
This course introduces methods that leverage the basic analysis techniques learned in Robotics I to
introduc method leverag basic analysi techniqu learn robot develop numer algorithm techniqu need end
51 6500 Distributed Computing Over The Internet
This course studies theoretical foundations – namely Petri nets, process calculi, actors, join calcu
studi theoret foundat petri net process calculi actor join calculu mobil ambient practic issu design
52 6530 Advanced Computer Graphics
In this course, there will be a survey of classic papers and current research in computer graphics.
survei classic paper current research comput graphic topic includ advanc rai trace global illumin ph
53 6800 Computational Linear Algebra
Gaussian elimination, special linear systems (such as positive definite, banded, or sparse), introdu
gaussian elimin special linear system posit definit band spars introduct parallel comput iter method
54 6820 Numerical Solution of Ordinary Differential Equations
Numerical methods and analysis for ODEs with applications from mechanics, optics, and chaotic dynami
numer method analysi applic mechan optic chaotic dynam numer method dynam system includ rung kutta m
55 6840 Numerical Solution of Partial Differential Equations
Numerical methods and analysis for linear and nonlinear PDEs with applications from heat conduction,
numer method analysi linear nonlinear pde applic heat conduct wave propag solid fluid mechan area ba
56 6860 Finite Element Analysis
Galerkin’s method and extremal principles, finite element approximations (Lagrange, hierarchical and
galerkin method extrem principl finit element approxim lagrang hierarch approxim interpol error mesh
57 6900 Computer Science Seminar
Presentation of current developments in computer science. Reports by students.
present current develop comput scienc report student
58 6970 Professional Project
Active participation in a semester-long project, under the supervision of a faculty adviser. A Profe
activ particip semest long project supervis faculti advis profession project serv culmin experi prof
59 6980 Masters Project
Active participation in a master’s-level project under the supervision of a faculty adviser, leading
activ particip master level project supervis faculti advis lead master project report grade assign m
60 6990 Masters Thesis
Active participation in research, under the supervision of a faculty adviser, leading to a master’s
activ particip research supervis faculti advis lead master thesi grade assign advis term reflect stu
61 9990 Dissertation
Active participation in research, under the supervision of a faculty adviser, leading to a doctoral
activ particip research supervis faculti advis lead doctor dissert grade assign dissert publicli def