This course provides an introduction to the features of biological data, how those data are organized efficiently in databases, and how existing data resources can be utilized to solve a variety of biological problems. Object oriented databases, data modeling and description.
Survey of current biological database with respect to above, implementation of a database on a biological topic. This advanced course covers the application of machine learning and modeling techniques to biological systems. Topics include gene structure, recognition of DNA and protein sequence patterns, classification, and protein structure prediction. This course emphasizes the hands-on application of bioinformatics to biological problems.
Students will gain experience in the application of existing software, as well as in combining approaches to answer specific biological questions. Topics include sequence alignment, fast database search, comparative genomics, expression analysis, computational proteomics, genome-wide association studies, next-generation sequencing, genomics, and big data. Topics of special interest in computer science and engineering. Topics may vary from quarter to quarter. May be repeated for credit with the consent of instructor.
Prerequisites: consent of instructor. A seminar course on topics of current interest.
This course cannot be counted toward a technical elective. The Senior Seminar Program is designed to allow senior undergraduates to meet with faculty members in a small group setting to explore an intellectual topic in CSE at the upper-division level.
Topics will vary from quarter to quarter. Senior seminars may be taken for credit up to four times, with a change in topic, and permission of the department. Enrollment is limited to twenty students, with preference given to seniors. Prerequisites: upper-division standing; department stamp required and consent of instructor.
Introduction to research in computer science. Topics include defining a CS research problem, finding and reading technical papers, oral communication, technical writing, and independent learning. Course participants apprentice with a CSE research group, and propose an original research project. Prerequisites: consent of the department chair. Teaching and tutorial assistance in a CSE course under the supervision of the instructor. Field Study in Computer Science and Engineering 4, 8, 12, or Directed study and research at laboratories away from the campus.
Prerequisites: consent of the instructor and approval of the department. Computer science and engineering topics whose study involves reading and discussion by a small group of students under the supervision of a faculty member. Prerequisites: consent of the instructor. Undergraduate research for completing an honors project under the supervision of a CSE faculty member. May be taken across multiple quarters. Students should enroll for a letter grade. May be taken for credit three times. Prerequisites: Admission to the CSE department honors program.
Consent of the instructor. Computability review, including halting problem, decidable sets, r. Prerequisites: CSE or equivalent. Recommended preparation: CSE Prerequisites: graduate standing. The basic techniques for the design and analysis of algorithms. Divide-and-conquer, dynamic programming, data structures, graph search, algebraic problems, randomized algorithms, lower bounds, probabilistic analysis, parallel algorithms.
Modern advances in design and analysis of algorithms. Exact syllabus varies.
Topics include approximation, randomized algorithms, probabilistic analysis, heuristics, online algorithms, competitive analysis, models of memory hierarchy, parallel algorithms, number-theoretic algorithms, cryptanalysis, computational geometry, computational biology, network algorithms, VLSI CAD algorithms.
Propositional logic, resolution, first-order logic, completeness and incompleteness theorems with computational viewpoint, finite model theory, descriptive complexity, logic programming, nonmonotonic reasoning, temporal logic. Applications to databases, automatic theorem proving, program verification, and distributed systems. Formerly CSE C Introduction to the algorithmic theory of point lattices aka algorithmic geometry of numbers , and some of its most important applications in cryptography and cryptanalysis.
Topics usually include: LLL basis reduction algorithm, cryptanalysis of broadcast RSA, hardness of approximating lattice problems. Private and public key cryptography, introduction to reduction based proofs of security, concrete security, block ciphers, pseudorandom functions and generators, symmetric encryption, asymmetric encryption, computational number theory, RSA and discrete log systems, message authentication, digital signatures, key distribution and key management.
Zero-knowledge, secure computation, session-key distribution, protocols, electronic payment, one-way functions, trapdoor permutations, pseudorandom bit generators, hardcore bits. Topics of special interest in algorithms, complexity, and logic to be presented by faculty and students under faculty direction.
Topics vary from quarter to quarter. May be repeated for credit. Topics of special interest in cryptography to be presented by faculty and students under faculty direction. Formerly CSE A. General principles in modern software engineering. Both theoretical and practical topics are covered.
Theoretical topics include proofs of correctness, programming language semantics, and theory of testing. Practical topics include structured programming, modularization techniques, design of languages for reliable programming, and software tools. Prerequisites: CSE , A, , or consent of instructor. Survey of testing and analysis methods.
Introduction to advanced topics in area as well as traditional production methods. Topics include inspections and reviews, formal analysis, verification and validation standards, nonstatistical testing, statistical-testing and reliability models, coverage methods, testing and analysis tools, and organization management and planning. Methods special to special development approaches such as object-oriented testing will also be described.
Prerequisites: undergraduate major in computer science or extensive industrial experience. Prepares students to conduct original HCI research by reading and discussing seminal and cutting-edge research papers. Topics include design, social software, input techniques, mobile, and ubiquitous computing. Student pairs perform a quarter-long mini research project that leverages campus research efforts.
This course will cover a current topic in software engineering in depth. Topics in the past have included software tools, impacts of programming language design, and software system structure. New societal challenges, cultural values, and technological opportunities are changing design—and vice versa. The seminar explores this increased scale, real-world engagement, and disruptive impact. Invited speakers from UC San Diego and beyond share cutting-edge research on interaction, design, and learning.
Operating system structures, concurrent computation models, scheduling, synchronization mechanisms, address spaces, memory management protection and security, buffering, streams, data-copying reduction techniques, file systems, naming, caching, disk organization, mapped files, remote file systems, case studies of major operating systems.
Prerequisites: CSE and , or consent of instructor. Computer communication network concepts, protocols, and architectures, with an emphasis on an analysis of algorithms, protocols, and design methodologies. Topics will include layering, error control, flow control, congestion control, switching and routing, quality of service management, mobility, naming, security, and selected contemporary topics.
Prerequisites: CSE A or consent of instructor. Formerly CSE H. Techniques for speeding up internet implementations, including system restructuring, new algorithms, and hardware innovations.