Introduction to how computers work and how to use them. Topics covered include network information systems, text editors, formatting, file and directory system, spreadsheets and databases. Computers as symbol manipulation devices. Introduction to programming concepts and computer languages. Impact of computers on society. Designed for students with little or no experience using computers. Preference is given to students who have not taken other computer engineering or computer science courses. Students cannot receive credit for this course and Computer Engineering 3. (Formerly Computer Science 2.)
General Education Code
PE-T
Provides an introduction to computers. Personal computing is emphasized, and students are introduced to word processing, spreadsheets, database management, graphics, and programming. Covers fundamentals of computing and current and future uses of computer technology, PC hardware, Windows operating system, applications software, networking and the Internet, and developments in the computer industry. Designed for students with little or no experience using computers. Students cannot receive credit for this course and Computer Science 2. (Formerly Computer Engineering 3.)
Quarter offered
Fall, Winter, Spring, Summer
Introduces programming in Java 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 small to medium-sized programs. This course and courses 5C and 5P cover similar concepts, but use different programming languages. Because 5J followed by course 11 is a two-quarter alternative to the accelerated course 12A/L, engineering majors and students planning on continuing the programming sequence are encouraged to take 5J rather than 5C or 5P. Students may not receive credit for 5J taken concurrently or subsequently to course 12A, 12B, or Computer Engineering 13. (Formerly CMPS 5J.)
General Education Code
MF
An overview of the theory, foundations, and practice of computer science with emphasis on what computers can and cannot do, now and in the future. Topics include algorithms and data, correctness and efficiency of algorithms, hardware, programming languages, limitations of computation, applications, and social issues. No programming skills are required as a prerequisite. Major concepts and open problems in computer science are presented without reliance on sophisticated mathematical tools. Students cannot receive credit for this course after completing CSE 15. (Formerly CMPS 10.)
Instructor
The Staff, Patrick Tantalo, Demetrios Achlioptas, Marilyn Walker
General Education Code
MF
Continuation of course 5J. Covers basic object-oriented programming, event-driven programming, graphical user interface (GUI) creation, recursion, two-dimensional arrays. The two-quarter sequence courses 5J and 11 cover in two quarters the same material as the accelerated introductory course and lab 12A/L cover in one quarter. Students cannot receive credit this course and course 12A. (Formerly CMPS 11.)
Instructor
The Staff, Patrick Tantalo, Narges Norouzi
Introduction to computer systems and assembly language and how computers compute in hardware and software. Topics include digital logic, number systems, data structures, compiling/assembly process, basics of system software, and computer architecture. May include C language. Students with no prior programming experience are strongly recommended to take course 3, Computer Science 5J, Computer Science 5P, Computer Science 10, or equivalent before taking this course. (Formerly Computer Engineering 12.)
Instructor
R. Rashkin, T. Larrabee, D. Long, J. Renau Ardevol, M. Guthaus, M. Dunne
Quarter offered
Fall, Winter, Spring, Summer
Introduction to computer systems and assembly language and how computers compute in hardware and software. Topics include digital logic, number systems, data structures, compiling/assembly process, basics of system software, and computer architecture. May include C language. Students with no prior programming experience are strongly recommended to take course 3, Computer Science 5J, Computer Science 5P, Computer Science 10, or equivalent before taking this course. (Formerly Computer Engineering 12L.)
Instructor
R. Rashkin, T. Larrabee, D. Long, J. Renau Ardevol, M. Guthaus, M. Dunne
Quarter offered
Fall, Winter, Spring, Summer
Introduction to the C programming language as a means for controlling embedded computing systems. Continuing the exploration begun in course 12, students move to higher levels of abstraction in the control of complex computer systems. Students cannot receive credit for both CSE 13E and CSE 13S. Course is 7 credits with integrated laboratory. (Formerly Computer Engineering 13, Computer Systems and C Programming, and Computer Engineering 13L, Computer Systems and C Programming Lab.)
Instructor
The Staff, Ethan Miller, Darrell Long, Gabriel Elkaim, Maxwell Dunne
Quarter offered
Winter, Spring
Focuses on C programming, command line, shell programming, editors, debuggers, source code control, and other tools. Examines basic computer systems, algorithm design, and development, data types, and program structures. Develops understanding of process model, compile-link-execute build cycle, language-machine interface, memory, and data representation. Students cannot receive credit for both CSE 13S and CSE 13E. Course is 7 credits with integrated laboratory.
Instructor
Darrell Long, Peter Alvaro, Faisal Nawab
Quarter offered
Fall, Winter
Accelerated introduction to programming. Students write medium-sized programs. Topics include: functions; conditionals and loops; classes; event-driven programming and graphic user interfaces (GUIs); recursion; and arrays. Students who have no or very limited programming experience should consider courses 5J and 11 which cover the same material in two quarters. Students may not receive credit for both this course and course 11. Some prior programming experience in a language such as C, C++, Java, or C# strongly recommended. (Formerly CMPS 12A.)
Instructor
The Staff, Delbert Bailey, Wesley Mackey, Darrell Long, Cormac Flanagan, Alex Pang, David Helmbold, Narges Norouzi
Laboratory sequence complementing topics taught in course 12A by providing training and exposure to several software development tools and practices not covered in course 14. In addition, the lab provides an initial exposure to a second programming language to reinforce concepts from course 14. (Formerly CMPS 12L.)
Instructor
The Staff, Delbert Bailey, Wesley Mackey, Darrell Long, Cormac Flanagan, Alex Pang, David Helmbold
Teaches students to implement common data structures and the algorithms associated with each data structure, through progressively difficult exercises. Topics include big O notation; pointers, recursion (induction), and dynamic allocation; linked lists and list processing; stacks, queues, binary trees and binary search trees; simple sorting techniques and simple search techniques. Students will gain a working knowledge of the elements of the Java and C programming languages. Prior experience with Unix is assumed. (Formerly Computer Science 12B.)
Instructor
The Staff, Patrick Tantalo, Wesley Mackey, Darrell Long, Seshadhri Comandur
General Education Code
MF
Complements course 12B, gaining additional competence with a number of important software development tools, languages, and techniques. Included are advanced Unix features and utilities such as grep, find, diff, the shell, and pipes; C programs utilizing I/O, arrays, pointers, and structures; a scripting language to perform simple text and file manipulation; and the make utility. (Formerly CMPS 12M.)
Instructor
The Staff, Patrick Tantalo, Wesley Mackey, Darrell Long, Seshadhri Comandur
Introduction to applications of discrete mathematical systems. Topics include sets, functions, relations, graphs, predicate calculus, mathematical proof methods (induction, contraposition, contradiction), counting methods (permutations, combinations), and recurrences. Examples are drawn from computer science and computer engineering. Knowledge of computer programming is useful before taking this course. Students who do not have prior programing experience are strongly recommended to take Computer Science 5C, 5J, or 5P before taking this course. (Formerly Computer Engineering 16.)
Instructor
Tracy Larrabee, Martine Schlag, William Dunbar, Chen Qian, A. Cardenas
General Education Code
MF
Quarter offered
Fall, Winter, Spring, Summer
Provides students with Python programming skills and the ability to design programs and read Python code. Topics include data types, control flow, methods and advanced functions, built-in data structures, and introduction to OOP. No prior programming experience is required. Students may not receive credit for CSE 20 after receiving credit for CSE 30. (Formerly CMPS 5P, Introduction to Programming in Python.)
Instructor
P. Alvaro, N. Norouzi, T. Larrabee, F. Nawab, P. Tantalo, B. Paten
General Education Code
MF
Quarter offered
Fall, Winter, Spring
Introduction to software development in Python focusing on structuring software in terms of objects endowed with primitive operations. Introduces concepts and techniques via a sequence of concrete case studies. Coursework consists of programming assignments and a final examination.
Instructor
L. De Alfaro, P. Alvaro, D. Bailey, L. Kuper, A. Pang
Quarter offered
Fall, Winter, Spring
Addresses the use of information systems (IS) within a business enterprise. Subjects include computer hardware and software concepts, system design and implementation, telecommunications, data management, transaction-based systems, management information systems, and the use of IS to compete. Intended for technology and information management and business management economics majors. (Formerly TIM 50.)
Instructor
Ramakrishna Akella, John Musacchio, Yunfei Chen
Quarter offered
Fall, Winter, Spring
Students learn how information technology is used to deal with business requirements and/or solve business problems. Provides an understanding of structured computer systems analysis and design methodologies and techniques and their application to business information systems. Intended for technology and information management and business management economics majors. (Formerly TIM 58.)
Overview of human-centered technology and of its potential for increasing the quality of life and independence of disabled individuals. A substantial portion of the course is devoted to studying physical, psychological, and psychosocial aspects of disability. Topics include: diversity and integration, legislation, accessibility, and universal design. (Formerly Computer Engineering 80A.)
Instructor
Roberto Manduchi, Sri Kurniawan
General Education Code
PE-T
Focuses on the creation and management of technology start-ups and small companies, using case studies and team projects as the basis for learning and applying the course materials. (Formerly TIM 80C.)
Instructor
Subhas Desa, David Lee
Course examines: social data analytics--veracity, consistency, uncertainty, volume; statistical computation--misuse, bias, dispersion, correlation, regressions, differential scales, normal distributions, factor and cluster analysis, extrapolation, inference, simple programming; visual representations--communication, critique and design of infographics; applications--environment, energy, economics, education, empowerment. (Formerly Computer Science 80L.)
General Education Code
SR
Introduction to the evolution, technological basis, and services of the Internet, with descriptions of its underlying communications structure, routing algorithms, peer-to-peer hierarchy, reliability, and packet switching. Network security, mail, multimedia and data compression issues, HTML, and digital images. Students who have completed course 150 cannot receive credit for this course. (Formerly Computer Engineering 80N.)
Instructor
C. Parsa, T. Larrabee, P. Mantey
General Education Code
PE-T
Quarter offered
Fall, Winter, Spring
Introduction to social networks and game theory. Topics include the structure of social networks; the world wide web; the flow of information and behavior through networks; and the principles behind modern web search and search-ad placement. (Formerly Computer Science 17.)
Instructor
Phokion Kolaitis, Demetrios Achlioptas, Lise Getoor
General Education Code
SR
Provides a means for a small group of students to study a particular topic in consultation with a faculty sponsor. Students submit petition to sponsoring agency.
Quarter offered
Fall, Winter, Spring
Provides a means for a small group of students to study a particular topic in consultation with a faculty sponsor. Students submit petition to sponsoring agency.
Quarter offered
Fall, Winter, Spring
Students submit petition to sponsoring agency.
Quarter offered
Fall, Winter, Spring
Students submit petition to sponsoring agency.
Quarter offered
Fall, Winter, Spring