Computer Science and Engineering - undergraduate program

Postgraduate

In San Diego (USA)

higher than £ 9000

Description

  • Type

    Postgraduate

  • Location

    San diego (USA)

The lower-division course requirements are designed to provide a strong foundation in mathematics, physics, programming methodology and skills, and computer organization. Upper-division core courses deal with the theory and design of algorithms, hardware, and software. Electives allow students to gain additional breadth and/or depth in computer science and engineering.

Facilities

Location

Start date

San Diego (USA)
See map

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Subjects

  • GCSE Mathematics
  • Programming
  • Communication Training
  • Engineering
  • Systems
  • School
  • Logic
  • Mathematics
  • Design
  • Algorithms
  • Protocol
  • Object-oriented training
  • Unix
  • Networks
  • Java
  • Testing
  • Software Engineering
  • Computing
  • Object oriented training
  • Credit

Course programme

Computer Science and Engineering (CSE)

[ MAS-AESE courses | undergraduate program | graduate program | faculty ]

All courses, faculty listings, and curricular and degree requirements described herein are subject to change or deletion without notice.

Courses

For course descriptions not found in the UC San Diego General Catalog 2019–20, please contact the department for more information.

Lower Division

CSE 3. Fluency in Information Technology (4)

Introduces the concepts and skills necessary to effectively use information technology. Includes basic concepts and some practical skills with computer and networks. Prerequisites: none.

CSE 4GS. Mathematical Beauty in Rome (4)

Exploration of topics in mathematics and engineering as they relate to classical architecture in Rome, Italy. In depth geometrical analysis and computer modeling of basic structures (arches, vaults, domes), and on-site studies of the Colosseum, Pantheon, Roman Forum, and St. Peter’s Basilica. Prerequisites: MATH 10A or MATH 20A; departmental approval, and corequisite of CSE 6GS.

CSE 6GS. Mathematical Beauty in Rome Lab (4)

Companion course to CSE 4GS where theory is applied and lab experiments are carried out “in the field” in Rome, Italy. For final projects, students will select a complex structure (e.g., the Colosseum, the Pantheon, St. Peter’s, etc.) to analyze and model, in detail, using computer-based tools. Prerequisites: MATH 10A or MATH 20A; departmental approval, and corequisite of CSE 4GS.

CSE 5A. Introduction to Programming I (4)

Introduction to algorithms and top-down problem solving. Introduction to the C language, including functions, arrays, and standard libraries. Basic skills for using a PC graphical user interface operating system environment. File maintenance utilities are covered. A student may not receive credit for CSE 5A after receiving credit for CSE 11 or CSE 8B. Recommended preparation: A familiarity with high school-level algebra is expected, but this course assumes no prior programming knowledge. Prerequisites: restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 7. Introduction to Programming with Matlab (4)

Fundamentals of computer programming and basic software design covering topics related to variables, functions, and control structures; writing, testing, and debugging programs in Matlab. Examples focus on scientific applications. Recommended preparation: high school algebra and familiarity with the computing milieu. Students with limited computing experience may take CSE 3 for preparation. Program or materials fees may apply. Prerequisites: restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 8A. Introduction to Computer Science: Java I (4)

Introductory course for students interested in computer science. Fundamental concepts of applied computer science using media computation. Exercises in the theory and practice of computer science. Hands-on experience with designing, editing, compiling, and executing programming constructs and applications. CSE 8A is part of a two-course sequence (CSE 8A and CSE 8B) that is equivalent to CSE 11. Students should take CSE 8B to complete this track. Formerly offered as corequisite courses CSE 8A plus 8AL. Students who have taken CSE 8B or CSE 11 may not take CSE 8A. Recommended preparation: No prior programming experience is assumed, but comfort using computers is helpful. Students should consult the “CSE Course Placement Advice” web page for assistance in choosing which CSE course to take first. Prerequisites: restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 8B. Introduction to Computer Science: Java II (4)

Continuation of the Java language. Continuation of programming techniques. More on inheritance. Exception handling. CSE 8B is part of a two-course sequence (CSE 8A and CSE 8B) that is equivalent to CSE 11. Students should consult the “CSE Course Placement Advice” web page for assistance in choosing which CSE course to take first. Students may not receive credit for CSE 8B and CSE 11. Prerequisites: CSE 8A; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 11. Introduction to Computer Science and Object-Oriented Programming: Java (4)

An accelerated introduction to computer science and programming using the Java language. Basic UNIX. Modularity and abstraction. Documentation, testing and verification techniques. Basic object-oriented programming, including inheritance and dynamic binding. Exception handling. Event-driven programming. Experience with AWT library or other similar library. Students who have completed CSE 8B may not take CSE 11. Students should consult the “CSE Course Placement Advice” web page for assistance in choosing which CSE course to take first. Recommended preparation: high school algebra and familiarity with computing concepts and a course in a compiled language. Prerequisites: restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 12. Basic Data Structures and Object-Oriented Design (4)

Use and implementation of basic data structures including linked lists, stacks, and queues. Use of advanced structures such as binary trees and hash tables. Object-oriented design including interfaces, polymorphism, encapsulation, abstract data types, pre-/post-conditions. Recursion. Uses Java and Java Collections. Prerequisites: CSE 8B or CSE 11, and concurrent enrollment with CSE 15L; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 15L. Software Tools and Techniques Laboratory (2)

Hands-on exploration of software development tools and techniques. Investigation of the scientific process as applied to software development and debugging. Emphasis is on weekly hands-on laboratory experiences, development of laboratory notebooking techniques as applied to software design. Prerequisites: CSE 8B or CSE 11, and concurrent enrollment with CSE 12; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 20. Discrete Mathematics (4)

Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence relations, partial orders, and number systems. Methods of reasoning and proofs: prepositional logic, predicate logic, induction, recursion, and pigeonhole principle. Infinite sets and diagonalization. Basic counting techniques; permutation and combinations. Applications will be given to digital logic design, elementary number theory, design of programs, and proofs of program correctness. Students who have completed MATH 109 may not receive credit for CSE 20. Credit not offered for both MATH 15A and CSE 20. Equivalent to MATH 15A. Prerequisites: COGS 7 or CSE 8B or CSE 11. Prerequisite courses must have been completed with a grade of C– or better; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 21. Mathematics for Algorithms and Systems (4)

This course will provide an introduction to the discrete mathematical tools needed to analyze algorithms and systems. Enumerative combinatorics: basic counting principles, inclusion-exclusion, and generating functions. Matrix notation. Applied discrete probability. Finite automata. Prerequisites: CSE 20 or MATH 15A; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 30. Computer Organization and Systems Programming (4)

Introduction to organization of modern digital computers—understanding the various components of a computer and their interrelationships. Study of a specific architecture/machine with emphasis on systems programming in C and Assembly languages in a UNIX environment. Prerequisites: CSE 12 and CSE 15L; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 42. Building and Programming Electronic Devices (2)

This course allows students to use what they learned in introductory programming courses to make things happen in the real world. Working in teams, students will first learn to program Arduino-based devices. Teams of students will design a custom device and program it to do their bidding. This course is targeted to freshmen and sophomores in engineering and science disciplines who want to practice applying what they have learned in a programming class and to have the chance to program things other than computers. Program or materials fees may apply. Prerequisites: restricted to freshman and sophomore students; instructor approval required.

CSE 80. UNIX Lab (2)

The objective of the course is to help the programmer create a productive UNIX environment. Topics include customizing the shell, file system, shell programming, process management, and UNIX tools. Prerequisites: CSE 8B or CSE 11.

CSE 86. C++ for Java Programmers (2)

Helps the Java programmer to be productive in the C++ programming environment. Topics include the similarities and differences between Java and C++ with special attention to pointers, operator overloading, templates, the STL, the preprocessor, and the C++ Runtime Environment. Prerequisites: CSE 12 or consent of instructor.

CSE 87. Freshman Seminar (1)

The Freshman Seminar Program is designed to provide new students with the opportunity to explore an intellectual topic with a faculty member in a small seminar setting. Freshman Seminars are offered in all campus departments and undergraduate colleges, and topics vary from quarter to quarter. Enrollment is limited to fifteen to twenty students, with preference given to entering freshmen. Prerequisites: none.

CSE 90. Undergraduate Seminar (1)

A seminar providing an overview of a topic of current research interest to the instructor. The goal is to present a specialized topic in computer science and engineering students. May be taken for credit three times when topics vary.

CSE 91. Perspectives in Computer Science and Engineering (2)

A seminar format discussion led by CSE faculty on topics in central areas of computer science, concentrating on the relation among them, recent developments, and future directions. Prerequisites: majors only.

CSE 99. Independent Study in Computer Science and Engineering (4)

Independent reading or research by special arrangement with a faculty member. Prerequisites: lower-division standing. Completion of thirty units at UC San Diego with a UC San Diego GPA of 3.0. Special Studies form required. Department stamp required. Consent of instructor and approval of the department.

Upper Division

CSE 100. Advanced Data Structures (4)

High-performance data structures and supporting algorithms. Use and implementation of data structures like (un)balanced trees, graphs, priority queues, and hash tables. Also memory management, pointers, recursion. Theoretical and practical performance analysis, both average case and amortized. Uses C++ and STL. Credit not offered for both MATH 176 and CSE 100. Equivalent to MATH 176. Recommended preparation: background in C or C++ programming. Prerequisites: CSE 12 and CSE 15L and CSE 21 or MATH 154 or MATH 184A and CSE 5A or CSE 30 or ECE 15 or MAE 9; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 101. Design and Analysis of Algorithms (4)

Design and analysis of efficient algorithms with emphasis of nonnumerical algorithms such as sorting, searching, pattern matching, and graph and network algorithms. Measuring complexity of algorithms, time and storage. NP-complete problems. Prerequisites: CSE 100 or MATH 176; restricted to undergraduates. Graduate students will be allowed as space permits.

CSE 103. A Practical Introduction to Probability and Statistics (4)

Distributions over the real line. Independence, expectation, conditional expectation, mean, variance. Hypothesis testing. Learning classifiers. Distributions over R^n, covariance matrix. Binomial, Poisson distributions. Chernoff bound. Entropy. Compression. Arithmetic coding. Maximal likelihood estimation. Bayesian estimation. CSE 103 is not duplicate credit for ECE 109, ECON 120A, or MATH 183. Prerequisites: MATH 20A-B and MATH 184A or CSE 21 or MATH 154; restricted to CS25, CS26, CS27, and CS28 majors. Other students will be allowed as space permits.

CSE 105. Theory of Computability (4)

An introduction to the mathematical theory of computability. Formal languages. Finite automata and regular expression. Push-down automata and context-free languages. Computable or recursive functions: Turing machines, the halting problem. Undecidability. Credit not offered for both MATH 166 and CSE 105. Equivalent to MATH 166. Prerequisites: CSE 12 and CSE 15L and MATH 15A or MATH 109 or CSE 20 and MATH 184 or CSE 21 or MATH 100A or MATH 103A; restricted to students with sophomore, junior, or senior standing. Graduate students will be allowed as space permits.

CSE 106. Discrete and Continuous Optimization (4)

One frequently deals with problems in engineering, data science, business, economics, and other disciplines for which algorithmic solutions that optimize a given quantity under constraints are desired. This course is an introduction to the models, theory, methods, and applications of discrete and continuous optimization. Topics include shortest paths, flows, linear, integer, and convex programming, and continuous optimization techniques such as steepest descent and Lagrange multipliers. Prerequisites: MATH 18 or MATH 31AH and MATH 20C or MATH 31BH and CSE 21 or DSC 40B or MATH 154 or MATH 184A.

CSE 107. Introduction to Modern Cryptography (4)

Topics include private and public-key cryptography, block ciphers, data encryption, authentication, key distribution and certification, pseudorandom number generators, design and analysis of protocols, zero-knowledge proofs, and advanced protocols. Emphasizes rigorous mathematical approach including formal definitions of security goals and proofs of protocol security. Prerequisites: CSE 21 or MATH 15B or MATH 154 or MATH 184A and CSE 101 and CSE 105 or MATH 166; restricted to students within the CS25, CS26, CS27, CS28, and EC26 majors. All other students will be allowed as space permits.

CSE 110. Software Engineering (4)

Introduction to software development and engineering methods, including specification, design, implementation, testing, and process. An emphasis on team development, agile methods, and use of tools such as IDE’s, version control, and test harnesses. Prerequisites: CSE 100; restricted to students with junior or senior standing within the CS25, CS26, CS27, CS28, and EC26 majors. All other students will be allowed as space permits.

CSE 112. Advanced Software Engineering (4)

This course will cover software engineering topics associated with large systems development such as requirements and specifications, testing and maintenance, and design. Specific attention will be given to development tools and automated support environments. Prerequisites: CSE 110; restricted to students with junior or senior standing. Graduate students will be allowed as space permits.

CSE 113. Errors, Defects, and Failures (4)

Errors, resulting in defects and ultimately system failure, occur in engineering and also other areas such as medical care. The ways in which failures occur, and the means for their prevention, mitigation, and management, will be studied. Emphasis will be on software systems but also include the study of practice of other areas. Prerequisites: CSE 12 and CSE 21.

CSE 118. Ubiquitous Computing (4)

Explores emerging opportunities enabled by cheap sensors and networked computing devices. Small research projects will be conducted in teams, culminating in project presentations at the end of the term. Section will cover material relevant to the project, such as research methods, software engineering, teamwork, and project management. Prerequisites: any course from the following: CSE 131, CSE 132B, COGS 102C, COGS 121, COGS 184, COMT 111B, COMT 115, ECE 111, ECE 118, ECE 191, ECE 192, or ICAM 160B; or consent of instructor.

CSE 120. Principles of Computer Operating Systems (4)

Basic functions of operating systems; basic kernel structure, concurrency, memory management, virtual memory, file systems, process scheduling, security and protection. Prerequisites: CSE 30 and CSE 101 and CSE 110; restricted to students with sophomore, junior, or senior standing. Graduate students will be allowed as space permits.

CSE 123. Computer Networks (4)

Introduction to concepts, principles, and practice of computer communication networks with examples from existing architectures, protocols, and standards with special emphasis on the internet protocols. Layering and the OSI model; physical and data link layers; local and wide area networks; datagrams and virtual circuits; routing and congestion control; internetworking. Transport protocols. Credit may not be received for both CSE 123 and ECE 158A. Prerequisites: CSE 30 and CSE 101 and CSE 110; restricted to students with sophomore, junior, or senior standing sophomore, junior, or senior standing within the CS25, CS26, CS27, CS28, and EC26 majors. Graduate students will be allowed as space permits.

CSE 124. Networked Services (4)

(Renumbered from CSE 123B.) The architecture of modern networked services, including data center design, enterprise storage, fault tolerance, and load balancing. Protocol software structuring, the Transmission Control Protocol (TCP), remote procedure calls, protocols for digital audio and video communication, overlay and peer-to-peer systems, secure communication. Credit may not be received for both CSE 124 and ECE 158B. Students may not receive credit for both CSE 123B and CSE 124. Prerequisites: CSE 30 and CSE 101 and CSE 110; restricted to students with sophomore, junior, or senior standing within the CS25, CS26, CS27, CS28, and EC26 majors. Graduate students will be allowed as space permits.

CSE 125. Software ional...

Computer Science and Engineering - undergraduate program

higher than £ 9000