University of California Irvine Department of Computer Science
UCI Computer Science Department
• 7 majors• 1860 undergraduates• 322 graduate students• ~42 faculty/lecturers
A pretty big department
University of California Irvine Department of Computer Science
Job of the Department
• Teaching– Educate undergraduate and graduate
students• Research– Perform research, publish is, get grants
• Service– Outreach to the community and field
University of California Irvine Department of Computer Science
Enrollment in Majors
Undergraduate Major Enrollment (2014-1015)
Business Information Management 164
Computer Game Science 228
Computer Science 1217
Computer Science and Engineering 104
Information and Computer Science 22
Networked Systems 29
Software Engineering 96
• 7 majors
University of California Irvine Department of Computer Science
Specializations in CS
• Field of Computer Science has broadened over time
• Specializations focus on sub-areas of CS• Common core of essential classes are still
required– ICS 31, 32, 33, 51, 53, etc.
University of California Irvine Department of Computer Science
Benefit of Specializations
• Spend more of your time on the part of CS that interests you
• Prepare you for jobs in a sub-area of CS• Prepare you for graduate research
University of California Irvine Department of Computer Science
Specializations as Advising
• Specialization requirements are advice from faculty who are experts in the domain
• Faculty are specialists in various domains of CS• Faculty in each area of CS have produced the
requirements
University of California Irvine Department of Computer Science
Algorithms
• Algorithms describe a procedure for how to do something
• Algorithms are generally abstracted from code – i.e. Bubble sort can be implemented in many
languages• Finding the optimal algorithm for solving a large
problem– Many search algorithms are available but which
ones does Google use?
University of California Irvine Department of Computer Science
Algorithms Requirements
Three courses from the following list• COMPSCI 162 Formal Languages and Automata• COMPSCI 163 Graph Algorithms• COMPSCI 164 Computational Geometry and Geometric Modeling• COMPSCI 165 Project In Algorithms And Data Structures• COMPSCI 167 Introduction to Applied Cryptography• COMPSCI 169 Introduction to Optimization
Affiliated FacultyDillencourt, Eppstein, Goodrich, Hirschberg, Irani, Jarecki, Regan
University of California Irvine Department of Computer Science
Architecture, Embedded Systems
• Designing systems composed of software and hardware– Cellphones, projectors, printers, automotive, etc.– Internet of Things– Also, computer design (laptop, desktop, server)
• Design efficiency is important– Low cost, low power, high speed, etc.
University of California Irvine Department of Computer Science
Embedded Systems Study
• Design of HW/SW systems, not just software– Any company that builds embedded devices
• Requires an understanding of hardware design
University of California Irvine Department of Computer Science
Embedded RequirementsFour courses from the following list:• COMPSCI 144 High-performance Computers and Program Optimization• COMPSCI 145A-45BEmbedded Computing Systems and Lab• COMPSCI 151 Digital Logic Design• COMPSCI 152 Computer Systems Architecture• COMPSCI 153 Logic Design Laboratory• COMPSCI 154 Computer Design LaboratoryRecommended electives:• COMPSCI 131 Parallel and Distributed Computing• COMPSCI 142A Compilers and Interpreters• COMPSCI 143A Principles of Operating Systems
Affiliated FacultyBozorgzadeh, Dutt, Givargis, Harris, Nicolau, Scherson, Veidenbaum
University of California Irvine Department of Computer Science
Bioinformatics
• Studying biological data– i.e. Exploring DNA to identify genes
• Statistical analyses to identify correlations– 95% of people with gene X get illness Y
• Big Data for biology
University of California Irvine Department of Computer Science
Bioinformatics Requirements
• COMPSCI 184A Representations and Algorithms for Molecular Biologyand two courses from:• COMPSCI 172B Neural Networks and Deep Learning• COMPSCI 184B Probabilistic Modeling of Biological Data• COMPSCI 184C Computational Systems Biology• COMPSCI 189 Project in Bioinformatics
Affiliated FacultyBaldi, Mjolsness, Xie
University of California Irvine Department of Computer Science
Information
• a.k.a Big Data• Storing, searching, organizing– Google’s primary task
• Database management
University of California Irvine Department of Computer Science
Information Requirements• COMPSCI 121 Information Retrieval• COMPSCI 122A Introduction to Data Management• COMPSCI 178 Machine Learning and Data-Miningand three courses from:• COMPSCI 122B Project in Databases and Web Applications• COMPSCI 125 Next Generation Search Systems• COMPSCI 132 Computer Networks• COMPSCI 134 Computer and Network Security• COMPSCI 141 Concepts in Programming Languages I• COMPSCI 142A Compilers and Interpreters• COMPSCI 143A Principles of Operating Systems• COMPSCI 163 Graph Algorithms• COMPSCI 165 Project In Algorithms And Data Structures• COMPSCI 167 Introduction to Applied Cryptography• COMPSCI 179 Algorithms for Probabilistic and Deterministic Graphical Modelsat least one of which must be:• COMPSCI 122B Project in Databases and Web Applications• or COMPSCI 125 Next Generation Search Systems• or COMPSCI 179 Algorithms for Probabilistic and Deterministic Graphical Models
Affiliated FacultyCarey, Li, Jain, Mehrotra
University of California Irvine Department of Computer Science
Intelligent Systems
• Artificial Intelligence• Machine learning, vision, knowledge
representation, etc.• Machine learning is broadly applicable
University of California Irvine Department of Computer Science
Information Requirements• COMPSCI 171 Introduction to Artificial Intelligence• COMPSCI 175 Project in Artificial Intelligence• COMPSCI 178 Machine Learning and Data-Miningand at least one course from:• COMPSCI 177 Applications of Probability in Computer Science• or COMPSCI 179 Algorithms for Probabilistic and Deterministic Graphical
Modelsand at least one course from:• COMPSCI 162 Formal Languages and Automata• COMPSCI 163 Graph Algorithms• COMPSCI 164 Computational Geometry and Geometric Modeling• COMPSCI 168 Network Optimization• COMPSCI 169 Introduction to Optimizationand at least one course from:• COMPSCI 116 Computational Photography and Vision• COMPSCI 121 Information Retrieval• COMPSCI 125 Next Generation Search Systems• COMPSCI 174 Bioinformatics• COMPSCI 184B Probabilistic Modeling of Biological Data
Affiliated FacultyBaldi, Dechter, Fowlkes, Ihler, Lathrop, Smyth
University of California Irvine Department of Computer Science
Networked Systems
• Networks, big and small• Internet architecture and applications• Ad-hoc networks also (Bluetooth, zigbee,
etc.)• Understanding network protocols– How does a message find its destination? How is
flow controlled?• Network security
University of California Irvine Department of Computer Science
Networked Sys Requirements• COMPSCI 132 Computer Networks• COMPSCI 133 Advanced Computer Networks• COMPSCI 134 Computer and Network Security• COMPSCI 143A Principles of Operating SystemsRecommended electives: One course from:
– COMPSCI 122B Project in Databases and Web Applications– COMPSCI 143B Project in Operating System Organization
Two courses from:– COMPSCI 122A Introduction to Data Management– COMPSCI 131 Parallel and Distributed Computing– COMPSCI 137 Internet Applications Engineering– COMPSCI 167 Introduction to Applied Cryptography– COMPSCI 145A Embedded Computing Systems– COMPSCI 163 Graph Algorithms– COMPSCI 169 Introduction to Optimization
Affiliated FacultyEl Zarki, Jordan, Levorato, Tsudik, Venkatasubramanian
University of California Irvine Department of Computer Science
Systems and Software
• Designing System Software– Software which manages the resources of the system
• Cloud-based Software– Virtual Machines
• Operating Systems– Networking support– Concurrency support– Security issues
• Compilers and Interpreters
University of California Irvine Department of Computer Science
Systems Software Requirements
Three courses in the following list:• COMPSCI 131 Parallel and Distributed Computing• COMPSCI 141 Concepts in Programming Languages I• COMPSCI 142A Compilers and Interpreters• COMPSCI 142B Language Processor Construction• COMPSCI 143A Principles of Operating Systems• COMPSCI 143B Project in Operating System OrganizationRecommended electives:• COMPSCI 132 Computer Networks• COMPSCI 134 Computer and Network Security• COMPSCI 144 High-performance Computers and Program Optimization• COMPSCI 152 Computer Architecture
Affiliated FacultyBic, Franz, Veidenbaum, Xu
University of California Irvine Department of Computer Science
Visual Computing
• Graphics and related issues• Typical applications– Games– Any GUI– Virtual reality– Computer Vision
University of California Irvine Department of Computer Science
Visual Comp. Requirements
Four courses in the following list:• COMPSCI 111 Digital Image Processing• COMPSCI 112 Computer Graphics• COMPSCI 114 Projects in Advanced 3D Computer Graphics• COMPSCI 116 Computational Photography and Vision• COMPSCI 117 Project in Computer Vision• I&C SCI 162 Modeling and World Building
Affiliated FacultyFowlkes, Majumdar, Meenakshisundaram, Ramanan