Course List

# Number Title
1 0 Algorithms
This class covers basic techniques used to analyze problems and algorithms (including asymptotics, u
class cover basic techniqu analyz problem algorithm includ asymptot upper lower bound averag worst c
2 0 Algorithms and Data Structures
Classical algorithms and data structures, with an emphasis on implementing them in modern programmin
classic algorithm data structur emphasi implement modern program environ solv real world problem emp
3 0 Algorithm Design and Analysis
Analysis: asymptotic analysis including lower bounds on sorting, recurrence relations and their solu
analysi asymptot analysi includ lower bound sort recurr relat solut graph direct undirect planar bip
4 0 Data Abstractions
The core of this course is fundamental “classical” data structures and algorithms including balanced
core fundament classic data structur algorithm includ balanc tree hashtabl sort prioriti queue graph
5 0 Introduction to Computer Architecture
The goal of the course is to teach the design and operation of a digital computer. It serves student
goal teach design oper digit comput serv student wai continu studi comput architectur embed system l
6 0 Digital Components and Design
Design of synchronous digital systems using modern tools and methodologies, in particular, digital l
design synchron digit system modern tool methodolog digit logic synthesi tool digit hardwar simul to
7 0 Computer Architecture and Engineering
Historical Perspectives: RISC vs. CISC, Pipelining, Memory Hierarchy, Virtual Memory, Complex Pipeli
histor perspect risc cisc pipelin memori hierarchi virtual memori complex pipelin order execut super
8 0 eScience
eScience’s basic premise is that in addition to the two accepted scientific inquiry methods: theoret
escienc basic premis addit accept scientif inquiri method theoret mathemat formul experiment comput
9 0 Modeling and Simulation for the Sciences
The modeling process Two system dynamics tool tutorials System dynamics problems with rate proportio
model process system dynam tool tutori system dynam problem rate proport amount unconstrain growth d
10 0 Discrete Mathematics
This course will develop advanced mathematics skills appropriate for students pursuing STEM studies
develop advanc mathemat skill student pursu stem studi engin scienc comput scienc mathemat topic inc
11 0 Mathematical Foundations of Computer Science
Sets Functions and Relations Proof techniques (including direct, contradiction, diagonalization and
set function relat proof techniqu includ direct contradict diagon induct graph logic proposit predic
12 0 Discrete Structures I
Introduction to the Peano Axioms and construction of the natural numbers, integer numbers, rational
introduct peano axiom construct natur number integ number ration number real number construct basic
13 0 Discrete Structures II
Set-based theory of functions, Boolean functions Injection, surjection, bijection Function compositi
set base theori function boolean function inject surject biject function composit function cardin co
14 0 Computer Graphics
Shader-based OpenGL programming Coordinate systems and transformations Quaternions and the Arcball i
shader base opengl program coordin system transform quaternion arcbal interfac camera model project
15 0 Computer Graphics
Computer graphics and its place in computer science Surface modeling Light modeling The Rendering Eq
comput graphic place comput scienc surfac model light model render equat rai cast surfac scatter bsd
16 0 Human Aspects of Computer Science
The course is centered on Human-Computer Interaction. The topics covered are: Experimental design an
center human comput interact topic cover experiment design data represent inferenti statist write ex
17 0 Human Computer Interaction
This unit provides a detailed understanding of the underpinning theories, principles and practices o
unit detail understand underpin theori principl practic interfac design comput base system examin is
18 0 Human Computer Interaction
This module provides an introduction to human-computer interaction. Fundamental aspects of human phy
modul introduct human comput interact fundament aspect human physiolog psycholog introduc kei featur
19 0 Human-Computer Interaction
Short-form description: Helping you build human-centered design skills, so that you have the princip
short form descript help build human center design skill principl method creat excel interfac techno
20 0 Human Information Processing (HIP)
Senses: Short term sensory memory – receptors – stimuli; Perception; Attention; Memory: Long-term me
sens short term sensori memori receptor stimuli percept attent memori long term memori work memori m
21 0 Computer Systems Security
This course covers the fundamental concepts and practical applications of computing systems security
cover fundament concept practic applic comput system secur holist view appli approach topic includ s
22 0 Technology, Ethics, and Global Society
Students that successfully complete the course will be able to: Formulate and defend a position on a
student successfulli complet formul defend posit ethic question relat technolog describ main ethic c
23 0 Artificial Intelligence Programming
An overview of AI, including search, knowledge representation, probabilistic reasoning and decision
overview includ search knowledg represent probabilist reason decis make uncertainti machin learn top
24 0 Artificial Intelligence
INTRODUCTION TO AI. Historical outline of the discipline. Fundamental concepts. Main research areas
introduct histor outlin disciplin fundament concept main research area applic field problem solv sea
25 0 Introduction to Artificial Intelligence
This course will serve as an introduction to artificial intelligence concepts and techniques. We wi
serv introduct artifici intellig concept techniqu lisp program languag comput vehicl explor techniqu
26 0 Introduction to Artificial Intelligence
Problem solving with search: uninformed, informed search, search for optimization (hill climbing, si
problem solv search uninform inform search search optim hill climb simul anneal genet algorithm adve
27 0 Introduction to Artificial Intelligence
Introduction to Lisp Fundamental Issues What is AI? Foundations of AI, History of AI. Intelligent A
introduct lisp fundament issu foundat histori intellig agent agent environ structur agent problem so
28 0 Computer Networks I
The course covers various aspects of computer networking, including (1) application layer protocols
cover aspect comput network includ applic layer protocol http smtp transport layer tcp udp congest c
29 0 Introduction to Computer Networking
CS144 is an introductory course on computer networking, speci?cally the Internet. The course explain
introductori comput network speci?c internet explain internet work rang bit modul wireless network a
30 0 Computer Networks
This course explores the principles underlying the design of computer networks. We will examine tech
explor principl underli design comput network examin techniqu transmit inform effici reliabl varieti
31 0 Operating Systems
This course explores the design and implementation of computer operating systems. Topics include his
explor design implement comput oper system topic includ histor aspect oper system develop system pro
32 0 Parallel Programming Principle and Practice
Part 1: Principle This section covers the very basics of parallel computing, and is intended for som
part principl section cover basic parallel comput intend acquaint subject begin overview includ conc
33 0 Introduction to Parallel Programming
Overview of Parallel System Architectures Modeling and Analysis of Parallel Computations Communicati
overview parallel system architectur model analysi parallel comput commun complex analysi parallel a
34 0 Introduction to Compilers
CS 453 teaches students how to implement compilers. Although most computer science professionals do
teach student implement compil comput scienc profession end implement full compil alumni surpris ski
35 0 Translators and Systems Software
This course covers the design and implementation of translator-oriented systems software, focusing s
cover design implement translat orient system softwar focus specif compil time spent relat topic int
36 0 Compiler Design
Specific topics covered in this course include: Overview of compilation Lexical analysis Context-fre
specif topic cover includ overview compil lexic analysi context free grammar top bottom pars error r
37 0 Compilers
The course covers the design, definition and implementation of programming languages. Students who h
cover design definit implement program languag student class implement languag syntax regular expres
38 0 Languages and Compilers
The intended learning objectives of this course are: To describe structures (i.e., “formulas”) using
intend learn object describ structur formula grammar pars recogn build structur sequenc symbol analy
39 0 Topics in Compiler Construction
Scanning, parsing, semantic elaboration, intermediate representation, implementation of the procedur
scan pars semant elabor intermedi represent implement procedur abstract implement express assign con
40 0 Principles of Programming Languages
A thorough examination of issues and features in programming language design and implementation, inc
examin issu featur program languag design implement includ languag provid data structur data type mo
41 0 Introduction to Programming Languages
The course uses definitional interpreters and related techniques to teach the core of several progra
definit interpret relat techniqu teach core program languag begin quick tour write definit interpret
42 0 Programming Language Design and Implementation
CSC 2/454 is an introduction to the design and implementation of programming languages. From the des
csc introduct design implement program languag design point view cover languag featur tool express a
43 0 Programming Languages
Successful course participants will: Internalize an accurate understanding of what functional and ob
success particip intern accur understand function object orient program develop skill learn program
44 0 Principles of Programming Languages
Specific topics covered in this course include: Functional programming concepts in Lisp Syntax, sema
specif topic cover includ function program concept lisp syntax semant evalu strategi program includ
45 0 Programming Languages and Techniques I
Programming Design and Testing Persistent Data Structures & Functional programming Trees & Recursion
program design test persist data structur function program tree recurs mutabl data structur queue ar
46 0 Principles of Programming Languages
This is a course on the theory of programming languages. Why study these principles? Because they ar
theori program languag studi principl fundament design implement applic program languag program lang
47 0 Functional Programming
The four key skills that students learn are to write parallel functional programs to analyze program
kei skill student learn write parallel function program analyz program sequenti parallel time comple
48 0 Java Programming I
Object-oriented programming concepts Objects, classes State, behavior Methods, fields, constructors
object orient program concept object class state behavior method field constructor variabl paramet s
49 0 Introduction to Computer Science
This course has five distinct modules of roughly three weeks each: (1) We begin with conditionals an
distinct modul roughli week begin condit recurs practic function problem solv approach varieti homew
50 0 Software Development Foundations
Major topics covered, in their approximate order of coverage, include the following: Java Basics: In
major topic cover approxim order coverag includ java basic introduct interpret versu compil languag
51 0 Introduction to Program Design
Upon completion of this course, the student should be able to: Understand when to use and write prog
complet student understand write program structur list tree develop data model program problem write
52 0 Data Abstraction and Data Structures
This course is being used as an exemplar of how we incorporate communication outcomes into the core
exemplar incorpor commun outcom core curriculum descript cours data structur real differ execut comm
53 0 Software Engineering Practices
Typical outline of course topics includes: Introduction to Software Engineering Models of Software P
typic outlin topic includ introduct softwar engin model softwar process project plan organ softwar r
54 0 Software Engineering
Introduction to SaaS and software lifecycles: Waterfall, Spiral, RUP, Agile Project Management: Pair
introduct saa softwar lifecycl waterfal spiral rup agil project manag pair program scrum plan projec
55 0 Software Engineering Practices
Introduction to software engineering practices Requirements and Use Cases Software Reviews, Version
introduct softwar engin practic requir case softwar review version control configur manag design obj
56 0 Software Development
Catalog Description This course presents introductory software engineering concepts including group
catalog descript present introductori softwar engin concept includ group develop larg scale project
57 0 Introduction to Systems and Networking
The course represents a novel integrated approach to presenting side by side both the architecture a
repres integr approach present side side architectur oper system modern comput system student learn
58 0 Great Ideas in Computer Architecture
Introduction to C: this includes coverage of the Hardware/Software Interface (e.g., machine and asse
introduct includ coverag hardwar softwar interfac machin assembl languag format method encod instruc
59 0 Systems Programming
The major goal of the course is to give students principles, skills, and experience in implementing
major goal give student principl skill experi implement complex layer system includ quarter long pro
60 0 Technology Consulting in the Community
This course has service, personal, and intellectual goals. Its service goal is to build the technica
servic person intellectu goal servic goal build technic capac commun organ provid effect technolog c
61 0 Issues in Computing
In the context of widespread computer usage and society’s ever-growing dependence on computer techno
context widespread comput usag societi grow depend comput technolog focus issu ethic comput professi
62 0 Ethics & the Information Age
Students learn ethics and moral philosophy as a means for providing a framework for ethically ground
student learn ethic moral philosophi mean provid framework ethic ground decis make inform topic incl
63 0 Professional Development Seminar
While the course covers Social and Professional Practice topics such as social context, analytical t
cover social profession practic topic social context analyt tool profession ethic intellectu propert
64 0 The Digital Age
The course provides both an introduction to a broad range of computer science topics and discussion
introduct broad rang comput scienc topic discuss social ethic issu topic vari faculti interest curre
65 0 General Computer Science
We take an interdisciplinary approach to the traditional CS1 curriculum, where we teach students to
interdisciplinari approach tradit curriculum teach student program highlight role comput disciplin f
66 0 Accelerated Introduction to Computer Science
The course is a compressed introduction into programming along with basic algorithms and data struct
compress introduct program basic algorithm data structur interleav data structur cover list tree que
67 0 Introduction to Programming
This course provides an introduction to problem solving and programming using the Python scripting l
introduct problem solv program python script languag specif goal develop problem solv program skill
68 0 Object-Oriented Programming
Building upon basic programming skills in Python from CSC 221, this course focuses on the design and
build basic program skill python csc focus design analysi larger complex program industri lead langu