Course List

# Number Title
1 100 Introduction to Computers and Computing
Basic concepts of computer hardware and software. Microcomputer systems and workstations. Networking
basic concept comput hardwar softwar microcomput system workstat network internet interdisciplinari
2 102 Introduction to Computer Science
Problem solving and algorithm development. Organization and characteristics of modern digital comput
problem solv algorithm develop organ characterist modern digit comput emphasi softwar engin build ab
3 130 Computer Organization
Number systems, Boolean algebra, combinational and sequential circuits, registers, processor functio
number system boolean algebra combin sequenti circuit regist processor function unit control pipelin
4 140 Data Structures and Algorithms I
Advanced problem solving and algorithm development, programming, data structures and applications, I
advanc problem solv algorithm develop program data structur applic techniqu list queue stack hash ta
5 291 Lower-Division Special Topics
Topics vary. Programming languages, operating systems, and application software packages.
topic vari program languag oper system applic softwar packag
6 302 Data Structures and Algorithms II
Design, analysis, and implementation of fundamental algorithms and data structures, including trees
design analysi implement fundament algorithm data structur includ tree graph
7 311 Discrete Structures
Sets, functions, relations, equivalence relations, partial orderings and proof techniques, especiall
set function relat equival relat partial order proof techniqu mathemat induct applic proof techniqu
8 312 Algorithm Analysis and Automata
Counting and combinatorics, with applications to the analysis of algorithms. Introduction to finite
count combinator applic analysi algorithm introduct finit automata regular languag pushdown automata
9 340 Software Engineering
Introduction to software processes that can be used on large projects to help design, manage, mainta
introduct softwar process larg project design manag maintain test softwar
10 360 Systems Programming
In-depth introduction to C and its use in system programming. Introduction to memory and process lay
depth introduct system program introduct memori process layout system call buffer file file system d
11 361 Operating Systems
Threads, operating system structure, process management, scheduling, synchronization, deadlock, memo
thread oper system structur process manag schedul synchron deadlock memori manag virtual memori dema
12 365 Programming Languages and Systems
Language paradigms (procedural, functional, object-oriented, logic), language design and implementat
languag paradigm procedur function object orient logic languag design implement issu languag issu re
13 370 Introduction to Scientific Computing
The design, analysis, and implementation of numerical algorithms for solving problems in science and
design analysi implement numer algorithm solv problem scienc engin emphasi program design includ dat
14 401 Senior Design Theory
A design course that focuses the student's attention on professional practice, ethics, accumulated b
design focus student attent profession practic ethic accumul background curricular compon recent dev
15 402 Senior Design Practicum
A project-oriented course that requires teams of students to design a major project that incorporate
project orient requir team student design major project incorpor principl taught design emphasi dire
16 411 Senior Thesis I
Frontiers of computer science technology and research. Students write a senior thesis. Writing-empha
frontier comput scienc technolog research student write senior thesi write emphasi
17 420 Biologically-Inspired Computation
Recent developments in computational methods inspired by nature, such as neural networks, genetic al
recent develop comput method inspir natur neural network genet algorithm evolutionari program ant sw
18 425 Introduction to Machine Learning
Machine learning is concerned with computer programs that automatically improve their performance th
machin learn concern comput program automat improv perform experi cover theori practic machin learn
19 434 Network Security
In-depth introduction to core Internet and wireless technologies, related security concerns, common
depth introduct core internet wireless technolog relat secur concern common secur vulner good secur
20 440 Formal Foundations of Software Engineering
Principles of analysis and design of information systems. Principles of program design and verificat
principl analysi design inform system principl program design verif formal object formal specif
21 445 Fundamentals of Digital Archeology
This is an advanced topic course focused on developing multi-disciplinary skills of discovering, ret
advanc topic focus develop multi disciplinari skill discov retriev analyz present oper data student
22 456 Computer Graphics
Digital image synthesis, geometric modeling and animation. Topics may include visual perception, dis
digit imag synthesi geometr model anim topic includ visual percept displai color space frame buffer
23 461 Compilers
Lexical analysis, parsing, program representation, type systems, runtime environments, code generati
lexic analysi pars program represent type system runtim environ code gener optim techniqu
24 462 Parallel Programming
Principles and practice of parallel computing; design, implementation, and evaluation of parallel pr
principl practic parallel comput design implement evalu parallel program share distribut memori arch
25 465 Databases and Scripting Languages
Introduction to database theory, models, and query formation. Survey of scripting languages, their u
introduct databas theori model queri format survei script languag interconnect databas
26 466 Web Security
In-depth introduction to core web technologies, related security concerns, and common vulnerabilitie
depth introduct core web technolog relat secur concern common vulner hand experi multi tier web appl
27 482 Theory of Computation
Properties of finite automata/regular sets and push-down automata/context-free languages. Countabili
properti finit automata regular set push automata context free languag countabl diagon undecid compl
28 483 Applied Cryptography
In-depth introduction to the underlying mathematics, computational methodologies, associated theoret
depth introduct underli mathemat comput methodolog theoret consider applic practic cryptograph techn
29 493 Independent Study
Special project in area of student's primary interest. Directed by computer science faculty, perhaps
special project area student primari interest direct comput scienc faculti jointli student faculti a