Covers the basics of multimedia signal acquisition, compression, and communication. Various formats are considered, including audio, speech, image and video. Topics covered in class include: Acquisition: Sampling and quantization of 1-dimensional data (audio), spatial-temporal sampling structures for video (e.g. 4:2:0 and 4:2:2 subsampling schemes), color spaces and color conversion, dithering. Compression: Transform coding as applied to audio (MP3, AAC, Dolby AC-3) and images (JPEG, JPEG 2000), motion-compensated coding for video (MPEG 1-2-4, H.264), model-based analysis-by-synthesis for speech (e.g. G. 723). Communication: Audio and video over IP networks, VBR streaming. All students in class must complete a project based on a cell phone platform.
This course covers the basics of sensor technology, including: the physical phenomena underpinning various types of sensors; sensor signal conditioning and amplification; sampling and quantization. Sensors considered in the class include: temperature sensors; pressure sensors; microphones; light sensors; passive IR sensors; distance sensors; accelerometers.
Course Description Introduction to the concepts, approaches, tools, and methodology of database design. Covers the entity-relationship model, the relational model, relational algebra, relational calculus, commercial languages (such as SQL and QBE), functional dependencies, normal forms, and design theory. Other topics may include knowledge-bases, constraint databases, and alternative database models. Prerequisite(s): course 101.
Introduction to the basics of computer programming using the Python programming language for engineering or science students who have no prior programming experience. Students learn programming and documentation skills, as well as algorithmic problem-solving and programming methodologies. Introduces students to computers, programming tools, and editors.
Introductory programming for students who have no prior programming experience. Students learn programming and documentation skills, as well as algorithmic problem-solving and programming methodologies. Introduces computers, compilers, and editors. Students write medium-sized programs. The two-quarter sequence courses 5J and 11 cover in two quarters the same material as the accelerated introductory course and lab 12 A/L cover in one quarter. (Formerly course 60G.)
Covers issues in the design, implementation, analysis, and specification of programming languages. Topics include formal semantics (including operational, axiomatic, and denotational semantics), advanced type systems, program analysis (including abstract interpretation and model checking), specification, and verification.
Prerequisites: CMPS203 Programming Languages, or a similarly semantics-oriented course in programming languages.
CMPS 278 is an advanced course in the implementation of database systems. The class is of interest to students who wish to do research in databases or learn more about large-scale data processing. Topics include indexing of complex data, techniques for high-volume concurrency control, query processing and optimization, database recovery, parallel database system architectures, database systems for streaming data, approximate query answering. Additional topics may include self-managing database systems, advanced query optimization techniques, and query processing techniques for semi-structured data. Prerequisite(s): course 181 or 277 (or equivalent) or consent of instructor.
Introductory programming for School of Engineering majors who have no prior programming experience. Students learn programming and documentation skills, as well as algorithmic problem-solving and programming methodologies. Introduces computers, compilers, and editors. Students write medium-sized programs. The two-quarter sequence courses 5J and 11 cover in two quarters the same material as the accelerated introductory course and lab 12 A/L cover in one quarter.
CS203 is designed to acquaint graduate students with basic ideas behind modern programming language design, including the study of operational and axiomatic semantics and type systems.
In addition to the topics studies in class, students will have the opportunity to consider other related topics of interest in the form of a course project.
This course is designed primarily for SoE majors who have had some prior programming experience. The course focuses on the Java language. Topics include classes and methods, arrays, recursion, and inheritance.
Introduction to programming for engineering or science students who have no prior programming experience. Students learn programming and documentation skills, as well as algorithmic problem-solving and programming methodologies. Introduces students to computers, programming tools, and editors. Students write medium-sized programs to solve web-based and scientific problems. This course and course 5J cover largely the same material, but use different programming languages.
Welcome to the Jack Baskin School of Engineering Moodle Web Site! If you are an instructor and would like to use Moodle, please create an account and then e-mail webmaster@soe.ucsc.edu with your login name so that your account can be made a course creator.