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 Faculty Dillencourt, 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 Requirements Four courses from the following list: • COMPSCI 144 High-performance Computers and Program Optimization • COMPSCI 145A-45B Embedded Computing Systems and Lab • COMPSCI 151 Digital Logic Design • COMPSCI 152 Computer Systems Architecture • COMPSCI 153 Logic Design Laboratory • COMPSCI 154 Computer Design Laboratory Recommended electives: • COMPSCI 131 Parallel and Distributed Computing • COMPSCI 142A Compilers and Interpreters • COMPSCI 143A Principles of Operating Systems Affiliated Faculty Bozorgzadeh, 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 Biology and 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 Faculty Baldi, 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-Mining and 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 Models at 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 Faculty Carey, 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 • COMPSCI 175 • COMPSCI 178 and at least one course from: • COMPSCI 177 • or COMPSCI 179 Models and at least one course from: • COMPSCI 162 • COMPSCI 163 • COMPSCI 164 • COMPSCI 168 • COMPSCI 169 and at least one course from: • COMPSCI 116 • COMPSCI 121 • COMPSCI 125 • COMPSCI 174 • COMPSCI 184B Introduction to Artificial Intelligence Project in Artificial Intelligence Machine Learning and Data-Mining Applications of Probability in Computer Science Algorithms for Probabilistic and Deterministic Graphical Formal Languages and Automata Graph Algorithms Computational Geometry and Geometric Modeling Network Optimization Introduction to Optimization Computational Photography and Vision Information Retrieval Next Generation Search Systems Bioinformatics Probabilistic Modeling of Biological Data Affiliated Faculty Baldi, 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 • COMPSCI 133 • COMPSCI 134 • COMPSCI 143A Recommended electives: One course from: – COMPSCI 122B – COMPSCI 143B Two courses from: – COMPSCI 122A – COMPSCI 131 – COMPSCI 137 – COMPSCI 167 – COMPSCI 145A – COMPSCI 163 – COMPSCI 169 Computer Networks Advanced Computer Networks Computer and Network Security Principles of Operating Systems Project in Databases and Web Applications Project in Operating System Organization Introduction to Data Management Parallel and Distributed Computing Internet Applications Engineering Introduction to Applied Cryptography Embedded Computing Systems Graph Algorithms Introduction to Optimization Affiliated Faculty El 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 Organization Recommended electives: • COMPSCI 132 Computer Networks • COMPSCI 134 Computer and Network Security • COMPSCI 144 High-performance Computers and Program Optimization • COMPSCI 152 Computer Architecture Affiliated Faculty Bic, 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 Faculty Fowlkes, Majumdar, Meenakshisundaram, Ramanan University of California Irvine Department of Computer Science