Course List

# Number Title
1 100 Principles of Computing
This course is intended to help students learn to think in the manner necessary to fully grasp the n
intend student learn manner fulli grasp natur power digit world earli era internet person comput led
2 101 Preview of Computer Science
Offers a broad overview of computer science designed to provide students with an introduction to the
offer broad overview comput scienc design provid student introduct field comput scienc orient comput
3 105 Computer Ethics and Society
Intensive introduction to legal, social, and ethical issues surrounding software development and com
intens introduct legal social ethic issu surround softwar develop comput stress profession conduct s
4 112 Introduction to Computer Programming
Rigorous introduction to problem solving through development of computer programs. Focuses on identi
rigor introduct problem solv develop comput program focus identifi algorithm pattern problem describ
5 123 Computing: From the Abacus to the Web
Discusses the underlying computer science concepts behind existing and emerging technologies (such a
discuss underli comput scienc concept exist emerg technolog mail internet search engin blog comput g
6 211 Object-Oriented Programming
Thorough treatment of programming according to object-oriented principles. Introduces classes, inter
treatment program object orient principl introduc class interfac inherit polymorph singl dispatch me
7 222 Computer Programming for Engineers
Introduces object-oriented programming and elementary data structures. Emphasis on problems and lang
introduc object orient program elementari data structur emphasi problem languag featur relev engin
8 225 Culture and Theory of Games
Explores the theory, history, culture, and lore of games with particular emphasis on the varieties o
explor theori histori cultur lore game emphasi varieti comput game environ
9 261 Introduction to a Second Language
Advanced programming using Java programming language. Other languages may be offered at times.
advanc program java program languag languag offer time
10 262 Introduction to Low-Level Programming
Introduction to the language C, as well as operating system concepts, in UNIX, to prepare students f
introduct languag oper system concept unix prepar student topic system program
11 306 Synthesis of Ethics and Law for the Computing Professional
Practical course to become effective computer professional. Examines legal and ethical issues surrou
practic effect comput profession examin legal ethic issu surround comput technolog foundat build dea
12 310 Data Structures
Focuses on object-oriented programming with an emphasis on tools and techniques for developing moder
focus object orient program emphasi tool techniqu develop moder larg program topic includ implement
13 321 Software Requirements and Design Modeling
An introduction to concepts, methods, and tools for the creation of large-scale software systems. Me
introduct concept method tool creation larg scale softwar system method tool notat valid techniqu an
14 325 Introduction to Game Design
Game design, in various electronic entertainment technologies, involves a diverse set of skills and
game design electron entertain technolog involv divers set skill background narr art comput program
15 330 Formal Methods and Models
Abstract concepts that underlie much advanced work in computer science, with major emphasis on forma
abstract concept underli advanc work comput scienc major emphasi formal languag model comput logic p
16 332 Object-Oriented Software Design and Implementation
In-depth study of software design and implementation using a modern, object-oriented language with s
depth studi softwar design implement modern object orient languag support graphic user interfac comp
17 351 Visual Computing
Focuses on programming essential mathematical and geometric concepts underlying computer graphics. C
focus program essenti mathemat geometr concept underli comput graphic cover fundament topic comput g
18 367 Computer Systems and Programming
Introduces students to computer systems from a programmer's perspective. Topics include data represe
introduc student comput system programm perspect topic includ data represent assembl machin level re
19 390 Research and Project Design Principles in Computing
This course introduces students to the research and project design process within the computing fiel
introduc student research project design process comput field student learn tool trade work design p
20 391 Advanced Programming Lab
Programming-intensive lab course. Students refine problem-solving and programming skills while gaini
program intens lab student refin problem solv program skill gain experi teamwork focus data structur
21 425 Game Programming I
Introduction to technologies and techniques used in modern computer games. Teams will explore the va
introduct technolog techniqu modern comput game team explor facet complet design sophist tool includ
22 426 Game Programming II
Project-orientated continuation of CS 425 with an emphasis on the implementation of a complete game.
project orient continu emphasi implement complet game
23 440 Language Processors and Programming Environments
Survey of basic programming language processors and software development tools such as assemblers, i
survei basic program languag processor softwar develop tool assembl interpret compil topic includ de
24 444 Introduction to Computational Biology
Introduces computational methods in molecular biology. Covers a broad array of topics in bioinformat
introduc comput method molecular biologi cover broad arrai topic bioinformat comput biologi organ we
25 445 Computational Methods for Genomics
Fundamental principles and techniques for implementing computational algorithms to solve problems in
fundament principl techniqu implement comput algorithm solv problem biologi aris process larg volum
26 450 Database Concepts
Covers basics to intermediate knowledge for the design, implementation, and use of relational databa
cover basic intermedi knowledg design implement relat databas system topic includ entiti relationshi
27 451 Computer Graphics
Basic graphics principles and programming. Topics include scan conversion, transformation, viewing,
basic graphic principl program topic includ scan convers transform view light blend textur map advan
28 455 Computer Communications and Networking
Data communications and networking protocols, with study organized to follow layers of Internet Prot
data commun network protocol studi organ follow layer internet protocol suit tcp famili protocol top
29 463 Comparative Programming Languages
Key programming mechanisms described independently of particular machines or languages, including co
kei program mechan independ machin languag includ control bind procedur abstract type concurr includ
30 465 Computer Systems Architecture
Computer subsystems and instruction set architectures. Single-cycle, multiple-cycle, and pipeline ar
comput subsystem instruct set architectur singl cycl multipl cycl pipelin architectur memori hierarc
31 468 Secure Programming and Systems
Fundamental principles and techniques for implementing secure computer systems. Topics include secur
fundament principl techniqu implement secur comput system topic includ secur cryptographi basic vuln
32 469 Security Engineering
Covers the software subsystems that are involved in defending computer systems. Studies threats and
cover softwar subsystem involv defend comput system studi threat architect solut includ limit access
33 471 Operating Systems
Issues in multiprogramming. Covers concurrent processes and synchronization mechanisms; processor sc
issu multiprogram cover concurr process synchron mechan processor schedul memori file deadlock manag
34 475 Concurrent and Distributed Systems
Practical issues in designing and implementing concurrent and distributed software. Topics include c
practic issu design implement concurr distribut softwar topic includ concurr program synchron multit
35 477 Mobile Application Development
This project based course will teach fundamental principles of software development for the mobile d
project base teach fundament principl softwar develop mobil devic environ emphas applic numer academ
36 480 Introduction to Artificial Intelligence
Principles and methods for knowledge representation, reasoning, learning, problem solving, planning,
principl method knowledg represent reason learn problem solv plan heurist search natur languag proce
37 482 Computer Vision
Basic principles of visual perception and their implementation on computer systems. Topics include e
basic principl visual percept implement comput system topic includ earli visual process edg detect s
38 483 Analysis of Algorithms
Analyzes computational resources for important problem types by alternative algorithms and their ass
analyz comput resourc import problem type altern algorithm data structur mathemat rigor techniqu spe
39 484 Data Mining
Basic principles and methods for data analysis and knowledge discovery. Emphasizes developing basic
basic principl method data analysi knowledg discoveri emphas develop basic skill model predict perfo
40 485 Autonomous Robotics
Covers various basic topics in autonomous robotics, such as autonomous architectures and their inter
cover basic topic autonom robot autonom architectur interact physic hardwar elementari kinemat robot
41 490 Design Exhibition
Capstone course focusing on design and successful implementation of major software project, encompas
capston focus design success implement major softwar project encompass broad spectrum knowledg skill
42 498 Independent Study in Computer Science
Research and analysis of selected problems or topics in computer science. Topic must be arranged wit
research analysi select problem topic comput scienc topic arrang instructor approv depart chair regi
43 504 Principles of Data Management and Mining
Techniques to store, manage, and use data including databases, relational model, schemas, queries an
techniqu store manag data includ databas relat model schema queri transact line transact process dat
44 530 Mathematical Foundations of Computer Science
This course focuses on the topics of basic mathematical structures, mathematical logic and probabili
focus topic basic mathemat structur mathemat logic probabl theori applic concept problem solv formal
45 531 Fundamentals of Systems Programming
Introduces systems and network programming for UNIX and Windows using lectures and hands-on labs. Co
introduc system network program unix window lectur hand lab cover ansi program system librari api fo
46 540 Language Processors
Basic programming language processors such as assemblers, interpreters, and compilers. Topics includ
basic program languag processor assembl interpret compil topic includ design construct languag proce
47 550 Database Systems
An introduction to database management with focus on architecting databases and using them in applic
introduct databas manag focu architect databas applic topic cover includ data model entiti relations
48 551 Computer Graphics
Graphics principles and programming. Topics include graphics hardware, antialiasing, transformations
graphic principl program topic includ graphic hardwar antialias transform view illumin blend textur
49 555 Computer Communications and Networking
Techniques and systems for communication of data between computational devices and layers of Interne
techniqu system commun data comput devic layer internet protocol suit topic includ role media softwa
50 571 Operating Systems
Models of operating systems. Major functions including processes, memory management, I/O, interproce
model oper system major function includ process memori manag interprocess commun file directori shel
51 580 Introduction to Artificial Intelligence
Principles and methods for knowledge representation, reasoning, learning, problem solving, planning,
principl method knowledg represent reason learn problem solv plan heurist search natur languag proce
52 583 Analysis of Algorithms
Topics include analyzing sequential and parallel algorithmic strategies such as greedy methods, divi
topic includ analyz sequenti parallel algorithm strategi greedi method divid conquer strategi dynam
53 584 Theory and Applications of Data Mining
Concepts and techniques in data mining and multidisciplinary applications. Topics include databases;
concept techniqu data mine multidisciplinari applic topic includ databas data clean transform concep
54 600 Theory of Computation
Introduction to logic and proof techniques, formal languages, automata theory, and computational com
introduct logic proof techniqu formal languag automata theori comput complex specif topic includ reg
55 611 Computational Methods for Genomics
Covers fundamental principles and techniques for implementing computational algorithms to solve prob
cover fundament principl techniqu implement comput algorithm solv problem biologi aris process larg
56 630 Advanced Algorithms
Provides an overview of advanced algorithm design and analysis techniques. Topics include algorithms
overview advanc algorithm design analysi techniqu topic includ algorithm hash tabl matrix oper numbe
57 633 Computational Geometry
Basic principles and methods for computing in field of geometric modeling. Emphasizes data structure
basic principl method comput field geometr model emphas data structur repres geometr object algorith
58 635 Foundations of Parallel Computation
Covers three major parallel computing paradigms: MIMD computation, SIMD computation, and data flow c
cover major parallel comput paradigm mimd comput simd comput data flow comput emphas interfac algori
59 640 Advanced Compilers
Examines advanced compiler techniques such as code optimizations for sequential and parallel machine
examin advanc compil techniqu code optim sequenti parallel machin compil logic function object orien
60 650 Advanced Database Management
Study of the internal architecture of database systems. Topics include: physical data organization
studi intern architectur databas system topic includ physic data organ index queri process optim tra
61 657 Mining Massive Datasets with MapReduce
Covers the techniques to mine large datasets, including Distributed File Systems and Map-Reduce, sim
cover techniqu mine larg dataset includ distribut file system map reduc similar search data stream p
62 658 Networked Virtual Environments
Topics covered in lecture are: networked virtual environment overview, networking technology, networ
topic cover lectur network virtual environ overview network technolog network multimedia concept vir
63 662 Computer Graphics Game Technologies
Addresses some graphics game techniques including collision detection, levels of detail, physics-bas
address graphic game techniqu includ collis detect level detail physic base simul textur map shadow
64 667 Biometrics and Identity Management
Basic principles and methods for automatic authentication of individuals. Technologies include face,
basic principl method automat authent individu technolog includ face fingerprint iri recognit speake
65 672 Computer System Performance Evaluation
Theory and practice of analytical models of computer systems. Topics include open and closed multicl
theori practic analyt model comput system topic includ open close multiclass queu network singl mult
66 673 Multimedia Computing and Systems
Focuses on technological and development environments in developing multimedia applications. Project
focus technolog develop environ develop multimedia applic project involv experi multimedia author to
67 674 Data Mining on Multimedia Data
Covers advanced techniques for managing, searching, and mining of various types of data such as text
cover advanc techniqu manag search mine type data text web link imag time seri video audio issu rela
68 675 Distributed Systems
Issues in design and implementation of distributed systems and applications. Topics include distribu
issu design implement distribut system applic topic includ distribut commun paradigm middlewar coord
69 681 Designing Expert Systems
Design, construction, and evaluation of software systems that solve problems generally deemed to req
design construct evalu softwar system solv problem gener deem requir human expertis focus studi rele
70 682 Computer Vision
Study of computational models of visual perception and their implementation in computer systems. Top
studi comput model visual percept implement comput system topic includ earli visual process edg dete
71 683 Parallel Algorithms
Examines design and analysis of parallel algorithms. Material focuses on algorithms for both theoret
examin design analysi parallel algorithm materi focus algorithm theoret practic model parallel compu
72 684 Graph Algorithms
Data structures and analytical techniques to study graph algorithms. Data structures include disjoin
data structur analyt techniqu studi graph algorithm data structur includ disjoint set heap dynam tre
73 685 Autonomous Robotics
Reviews developments in intelligent autonomous systems. Studies applications of artificial intellige
review develop intellig autonom system studi applic artifici intellig comput vision machin learn rob
74 686 Image Processing and Applications
Concepts and techniques in image processing. Discusses methods for image capture, transformation, en
concept techniqu imag process discuss method imag captur transform enhanc restor encod student compl
75 687 Advanced Artificial Intelligence
Explores foundational issues of artificial intelligence, such as roles of knowledge and search, form
explor foundat issu artifici intellig role knowledg search formal knowledg infer symbol versu emerg
76 688 Pattern Recognition
Explores statistical pattern recognition and neural networks. Pattern recognition topics include Bay
explor statist pattern recognit neural network pattern recognit topic includ bayesian classif decis
77 689 Planning Motions of Robots and Molecules
Covers topics from artificial intelligence, algorithms and databases. Presents algorithms that model
cover topic artifici intellig algorithm databas present algorithm model simul physic biolog system f
78 695 Topics in Computer Science
Special topics in computer science not occurring in regular computer science sequence.
special topic comput scienc occur regular comput scienc sequenc
79 697 Independent Reading and Research
Students may undertake a course of study under supervision of consenting faculty member. Students us
student undertak studi supervis consent faculti member student submit written statement content tent
80 700 Quantitative Methods and Experimental Design in Computer Science
Integrated treatment of models and practices in experimental computer science. Topics include scient
integr treatment model practic experiment comput scienc topic includ scientif method appli comput wo
81 706 Concurrent Software Systems
Topics include concurrent programming languages and constructs, and specification, design, verificat
topic includ concurr program languag construct specif design verif valid concurr program student req
82 719 Scalable Internet Services
Discusses, from quantitative point of view, characteristics of most important technologies used to s
discuss quantit point view characterist import technolog support implement busi site includ topic ha
83 752 Interactive Graphics Software
Advanced graphics methods and tools. Topics include visualization, modeling, rendering, animation, s
advanc graphic method tool topic includ visual model render anim simul virtual realiti graphic softw
84 755 Advanced Computer Networks
Current and emerging issues in advanced computer networks and applications. Topics include software
current emerg issu advanc comput network applic topic includ softwar system packet cell switch netwo
85 756 Performance Analysis of Computer Networks
Analytical and simulation techniques for modeling and analyzing computer networks. Examines elementa
analyt simul techniqu model analyz comput network examin elementari queu analysi network queue rout
86 773 Real-Time Systems Design and Development
Real-time systems and principles supporting design and implementation. Emphasizes fundamental result
real time system principl support design implement emphas fundament result real time schedul theori
87 774 Computational Vision
Studies recent advances in development of machine vision algorithms and knowledge-based vision syste
studi recent advanc develop machin vision algorithm knowledg base vision system topic includ scalesp
88 775 Advanced Pattern Recognition
Covers statistical pattern recognition, neural network, and statistical learning theory approaches.
cover statist pattern recognit neural network statist learn theori approach topic includ decis theor
89 777 Human-Computer Intelligent Interaction
Current and emerging issues in human-computer intelligent interaction, and human-centered systems an
current emerg issu human comput intellig interact human center system applic topic includ video proc
90 779 Topics in Resilient and Secure Computer Systems
Covers study of alternate computer security, including how these methods can be combined in a layere
cover studi altern comput secur includ method combin layer defens factor affect select architectur r
91 782 Machine Learning
Surveys machine learning concerning development of intelligent adaptive systems that are able to imp
survei machin learn develop intellig adapt system improv learn input data problem solv experi topic
92 787 Decision Guidance Systems
Decision-guidance systems support an iterative process of giving actionable recommendations to and e
decis guidanc system support iter process give action recommend extract feedback human decis maker g
93 788 Autonomic Computing
Studies self-managing, self-optimizing, self-configuring, self-tuning, self-healing, and self-protec
studi manag optim configur tune heal protect comput system analyz exampl autonom system techniqu des
94 795 Advanced Topics in CS
Advanced topics not occurring in regular sequence.
advanc topic occur regular sequenc
95 798 Project Seminar
Master's degree candidates undertake a project using knowledge gained in MS program.
master degre candid undertak project knowledg gain program
96 799 Thesis
Original or expository work evaluated by committee of three faculty members.
origin expositori work evalu committe faculti member
97 800 Computer Science Colloquium
Students are required to attend colloquia including talks by distinguished speakers, faculty candida
student requir attend colloquia includ talk distinguish speaker faculti candid mason faculti
98 811 Research Topics in Machine Learning and Inference
Presents unifying principles that underlie diverse methods, paradigms, and approaches to machine ear
present unifi principl underli divers method paradigm approach machin earn infer review learn infer
99 818 Topics in Computer Systems
Discussion of current research topics in computer systems. Topics vary according to faculty interest
discuss current research topic comput system topic vari faculti interest topic includ peer peer comp
100 880 Research Topics in Artificial Intelligence
Special topics in artificial intelligence not occurring in regular computer science sequence. Notes:
special topic artifici intellig occur regular comput scienc sequenc note requir substanti student pa
101 884 Advanced Topics in Computer Vision and Robotics
Covers recent developments. Topics motivated by applications to autonomous robotic systems, mobile r
cover recent develop topic motiv applic autonom robot system mobil robot navig multirobot system hum
102 895 Research Topics in CS
Advanced topics not occurring in regular sequence.
advanc topic occur regular sequenc
103 896 Directed Reading and Research
Reading and research on a specific topic under the direction of a faculty member.
read research specif topic direct faculti member
104 990 Dissertation Topic Presentation
Students put together a professional presentation of a research proposal and present it for critique
student put profession present research propos present critiqu fellow student interest faculti equiv
105 998 Doctoral Dissertation Proposal
Work on a research proposal that forms the basis for a doctoral dissertation.
work research propos form basi doctor dissert
106 999 Doctoral Dissertation
Dissertation research under the supervision of the dissertation director.
dissert research supervis dissert director