{"api":"curriculum","status":"200","success":"true","version":"2.0","collection":"courses","courses":[{"subject":"COMP","catalog_number":"499A","section_number":"01","title":"Independent Study","course_id":2269,"description":"Independent Study\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"333","section_number":"02","title":"Concepts of Programming Languages","course_id":8341,"description":"Prerequisites: COMP 122\/L 182\/L. Discussion of issues in the design implementation and use of high-level programming languages through a historical framework including how languages reflect different design philosophies and use requirements and the technical issues in the design of main abstraction constructs of programming languages. Other approaches to imperative or object-oriented programming functional programming logical programming and parallel programming.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"440","section_number":"02","title":"Database Design","course_id":8346,"description":"Prerequisites: COMP 380\/L; Attempted Upper Division Writing Proficiency Exam. Database structure including: structure definition data models semantics of relations and operation on data models. Database schemas including element definition and use and manipulation of the schema. Elements of implementation. Algebra of relations on a database. Hierarchical databases. Discussion of information retrieval reliability protection and integrity of databases.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"440","section_number":"01","title":"Database Design","course_id":8346,"description":"Prerequisites: COMP 380\/L; Attempted Upper Division Writing Proficiency Exam. Database structure including: structure definition data models semantics of relations and operation on data models. Database schemas including element definition and use and manipulation of the schema. Elements of implementation. Algebra of relations on a database. Hierarchical databases. Discussion of information retrieval reliability protection and integrity of databases.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"310","section_number":"02","title":"Automata, Languages, and Computation","course_id":10083,"description":"Prerequisites: COMP 256\/L 333. Study of the relation of languages (e.g.. sets of strings) and machines for processing these languages with emphasis on classes of languages and corresponding classes of machines. Phrase structure languages and grammar. Types of grammar and classes of languages. Regular languages and finite state automata. Context-free languages and pushdown automata. Unrestricted languages and Turing Machines. Computability models of Turing Church Markov and McCarthy. Applications to programming languages compiler design and program design and testing.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"524","section_number":"02","title":"CRYPTOGRAPHY SECURTY","course_id":10084,"description":null,"units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"485","section_number":"01","title":"Human-Computer Interaction","course_id":11131,"description":"Prerequisites: COMP 380\/L or CIT 360 and IS 451; Attempted Upper Division Writing Proficiency Exam. Examines the information exchange between humans and computer systems. Discusses aspects of input\/output devices software engineering and human factors with respect to human-computer interactions. Topics include text and graphic display; user modeling; program design debugging complexity and comprehension; and current research studies and methodologies.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"182","section_number":"01","title":"Data Structures and Program Design","course_id":13869,"description":"Prerequisites: Grade of C or better in COMP 110\/L; Grade of C or better in MATH 103 104 105 150A or 255A or a passing score on the Math Placement Test (MPT) that satisfies prerequisites for MATH 150A or 255A; Lower Division writing requirement. Corequisite: COMP 182L. Introduction to data structures and the algorithms that use them. Review of composite data types such as arrays records strings and sets. Role of the abstract data type in program design. Definition implementation and application of data structures such as stacks queues linked lists trees and graphs. Recursion. Use of time complexity expressions in evaluating algorithms. Comparative study of sorting and searching algorithms. Lab: 3 hours per week.\n","units":"2","term":"Summer-2026"},{"subject":"COMP","catalog_number":"410","section_number":"02","title":"Logic Programming","course_id":14804,"description":"Prerequisites: COMP 232 282 310; Attempted Upper Division Writing Proficiency Exam. Programming techniques in the logic programming language PROLOG. Prenex conjunctive normal form and grammatical algorithms. Tableaux sequenzen resolution and other semi-decision procedures. Closures of relations fixed point theory control mechanisms relationship to functional programming.\n","units":"2","term":"Summer-2026"},{"subject":"COMP","catalog_number":"110L","section_number":"02","title":"Introduction to Algorithms and Programming Lab","course_id":15268,"description":"Prerequisites: Grade of C or better in MATH 102 103  104 105 150A or 255A or a passing score on the Math Placement Test (MPT) that satisfies prerequisites for MATH 150A or 255A . Corequisites: COMP 110. Introduction to algorithms their representation design structuring analysis and optimization. Implementation of algorithms as structured programs in a high level language. Lab: three hours per week. (Available for General Education Lifelong Learning if required by students major.)\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"322L","section_number":"01","title":"Introduction to Operating Systems and System Architecture Lab","course_id":15269,"description":"Prerequisite: COMP 222 or ECE 422 and ECE 425\/L. Corerequisite: COMP 322; Recommended Prerequisite: COMP 105C or knowledge ofC Language. Examination of the principal types of systems including batch multi-programminga nd time-sharing. Discusses networked system. Considers the salient problems associated with implementing systems including interrupt of event driven systems multitasking storage and database management and input-output. Emphasizes some of the simple algorithms used to solve common problems encountered such as deadlocks queue service and multiple access to data. Projects are implemented to reinforce the lectures. One 3-hour lab per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"110","section_number":"02","title":"Introduction to Algorithms and Programming","course_id":18237,"description":"Prerequisites: Grade of C or better in MATH 102 103  104 105 150A or 255A or a passing score on the Math Placement Test (MPT) that satisfies prerequisites for MATH 150A or 255A . Corequisites: COMP 110L. Introduction to algorithms their representation design structuring analysis and optimization. Implementation of algorithms as structured programs in a high level language. Lab: three hours per week. (Available for General Education Lifelong Learning if required by students major.)\n","units":"2","term":"Summer-2026"},{"subject":"COMP","catalog_number":"322","section_number":"01","title":"Introduction to Operating Systems and System Architecture","course_id":18524,"description":"Prerequisite: COMP 222 or ECE 422 and ECE 425\/L. Corerequisite: COMP 322L; Recommended Prerequisite: COMP 105C or knowledge ofC Language. Examination of the principal types of systems including batch multi-programminga nd time-sharing. Discusses networked system. Considers the salient problems associated with implementing systems including interrupt of event driven systems multitasking storage and database management and input-output. Emphasizes some of the simple algorithms used to solve common problems encountered such as deadlocks queue service and multiple access to data. Projects are implemented to reinforce the lectures. One 3-hour lab per week.\n","units":"2","term":"Summer-2026"},{"subject":"COMP","catalog_number":"282","section_number":"02","title":"Advanced Data Structures","course_id":20702,"description":"Prerequisites: Grade of C or better in COMP 182\/L and MATH 150A. Introduction to advanced data structures (particularly persistent structures) using object-oriented design. Main memory structures hash tables and trees. Architectural foundations for files. Large-scale sorting. Hash-based persistent structures. Indexed files. Introduction to databases.\n","units":"2","term":"Summer-2026"},{"subject":"COMP","catalog_number":"182L","section_number":"01","title":"Data Structures and Program Design Lab","course_id":21480,"description":"Prerequisites: Grade of C or better in COMP 110\/L; Grade of C or better in MATH 103 104 105 150A or 255A or a passing score on the Math Placement Test (MPT) that satisfies prerequisites for MATH 150A or 255A; Lower Division writing requirement. Corequisite: COMP 182. Introduction to data structures and the algorithms that use them. Review of composite data types such as arrays records strings and sets. Role of the abstract data type in program design. Definition implementation and application of data structures such as stacks queues linked lists trees and graphs. Recursion. Use of time complexity expressions in evaluating algorithms. Comparative study of sorting and searching algorithms. Lab: 3 hours per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"380L","section_number":"01","title":"Introduction to Software Engineering Lab","course_id":23709,"description":"Prerequisites: COMP 270\/L or 282. Corerequisite: COMP 380. Concepts and techniques for systems engineering requirements analysis design implementation and testing of large-scale computer systems. Principles of software engineering for production of reliable maintainable and portable software products. Emphasis on object-oriented analysis and design techniques. Topics include unit integration and systems testing configuration management software quality assurance practices and an introduction to Computer Aided Software Engineering (CASE). This is a lecture portion of a course in software engineering involving the design and partial implementation of a software system as a group project. Lab: 3 hours per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"380L","section_number":"02","title":"Introduction to Software Engineering Lab","course_id":23709,"description":"Prerequisites: COMP 270\/L or 282. Corerequisite: COMP 380. Concepts and techniques for systems engineering requirements analysis design implementation and testing of large-scale computer systems. Principles of software engineering for production of reliable maintainable and portable software products. Emphasis on object-oriented analysis and design techniques. Topics include unit integration and systems testing configuration management software quality assurance practices and an introduction to Computer Aided Software Engineering (CASE). This is a lecture portion of a course in software engineering involving the design and partial implementation of a software system as a group project. Lab: 3 hours per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"380L","section_number":"03","title":"Introduction to Software Engineering Lab","course_id":23709,"description":"Prerequisites: COMP 270\/L or 282. Corerequisite: COMP 380. Concepts and techniques for systems engineering requirements analysis design implementation and testing of large-scale computer systems. Principles of software engineering for production of reliable maintainable and portable software products. Emphasis on object-oriented analysis and design techniques. Topics include unit integration and systems testing configuration management software quality assurance practices and an introduction to Computer Aided Software Engineering (CASE). This is a lecture portion of a course in software engineering involving the design and partial implementation of a software system as a group project. Lab: 3 hours per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"380","section_number":"01","title":"Introduction to Software Engineering","course_id":23712,"description":"Prerequisites: COMP 270\/L or 282. Corerequisite: COMP 380L. Concepts and techniques for systems engineering requirements analysis design implementation and testing of large-scale computer systems. Principles of software engineering for production of reliable maintainable and portable software products. Emphasis on object-oriented analysis and design techniques. Topics include unit integration and systems testing configuration management software quality assurance practices and an introduction to Computer Aided Software Engineering (CASE). This is a lecture portion of a course in software engineering involving the design and partial implementation of a software system as a group project. Lab: 3 hours per week.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"380","section_number":"02","title":"Introduction to Software Engineering","course_id":23712,"description":"Prerequisites: COMP 270\/L or 282. Corerequisite: COMP 380L. Concepts and techniques for systems engineering requirements analysis design implementation and testing of large-scale computer systems. Principles of software engineering for production of reliable maintainable and portable software products. Emphasis on object-oriented analysis and design techniques. Topics include unit integration and systems testing configuration management software quality assurance practices and an introduction to Computer Aided Software Engineering (CASE). This is a lecture portion of a course in software engineering involving the design and partial implementation of a software system as a group project. Lab: 3 hours per week.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"122","section_number":"01","title":"Computer Architecture and Assembly Language","course_id":24324,"description":"Prerequisite: Grade of C or better in COMP 110\/L; Grade of C or better in MATH 103 104 105 150A or 255A or a passing score on the Math Placement Test (MPT) that satisfies prerequisites for MATH 150A or 255A; Lower Division writing requirement. Corequisite: COMP 122L. Introduction to computer architecture assembly language programming system software and computer applications. Number systems and data representation. Internal organization of a computer. Primitive instructions and operations. Assembly language. Integrated lecture\/lab environment. Lab: 3 hours per week.\n","units":"2","term":"Summer-2026"},{"subject":"COMP","catalog_number":"122L","section_number":"01","title":"Computer Architecture and Assembly Language Lab","course_id":24325,"description":"Prerequisite: Grade of C or better in COMP 110\/L; Grade of C or better in MATH 103 104 105 150A or 255A or a passing score on the Math Placement Test (MPT) that satisfies prerequisites for MATH 150A or 255A; Lower Division writing requirement. Corequisite: COMP 122. Introduction to computer architecture assembly language programming system software and computer applications. Number systems and data representation. Internal organization of a computer. Primitive instructions and operations. Assembly language. Integrated lecture\/lab environment. Lab: 3 hours per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"484","section_number":"01","title":"Web Engineering I","course_id":24552,"description":"Prerequisites: COMP 322\/L or 380\/L or CIT 360 and IS 451; Attempted Upper Division Writing Proficiency Exam. Corequisite: COMP 484L. Internet infrastructure and the underlying networking technologies. Study of system and software architectures for web applications e-business and e-commerce systems. Principles of website design. Advances in web-engineering technologies. Principles of web-based based transaction processing. XML and the associated technologies. Web service technology. Security and privacy issues. Study of the emerging Internet technologies. Lab: three hours per week.\n","units":"2","term":"Summer-2026"},{"subject":"COMP","catalog_number":"494A","section_number":"01","title":"Academic Internship","course_id":40547,"description":"Prerequisites: Junior standing or above in major; Upper Division Writing Proficiency Exam; Prior approval of the Department; Good standing as a matriculated student. Academic internship training program. Supervised off-campus professional computing experience for selected computer science students. Academic internship units do not count toward General Education units or major requirements. Maximum of 6 units of enrollment is allowed. Only one enrollment per semester permitted. (Credit\/No Credit only)\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"484L","section_number":"01","title":"Web Engineering I Lab","course_id":40863,"description":"Prerequisites: COMP 322\/L or 380\/L or CIT 360 and IS 451; Attempted Upper Division Writing Proficiency Exam. Corequisite: COMP 484. Internet infrastructure and the underlying networking technologies. Study of system and software architectures for web applications e-business and e-commerce systems. Principles of website design. Advances in web-engineering technologies. Principles of web-based based transaction processing. XML and the associated technologies. Web service technology. Security and privacy issues. Study of the emerging Internet technologies. Lab: three hours per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"256","section_number":"01","title":"Discrete Structures for Computer Science","course_id":41749,"description":"Prerequisites: COMP 182\/L; MATH 150A; PHIL 230.  Study of discrete mathematical structures and proof techniques as used in computer science. Discrete structures such as functions relations sets graphs and trees. Proof techniques such as proof by induction proof by contradiction and proof by cases. Counting techniques. Lab: 3 hours per week.\n","units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"256L","section_number":"01","title":"Discrete Structures for Computer Science Lab","course_id":41750,"description":"Prerequisites: COMP 182\/L; MATH 150A; PHIL 230.  Study of discrete mathematical structures and proof techniques as used in computer science. Discrete structures such as functions relations sets graphs and trees. Proof techniques such as proof by induction proof by contradiction and proof by cases. Counting techniques. Lab: 3 hours per week.\n","units":"1","term":"Summer-2026"},{"subject":"COMP","catalog_number":"482","section_number":"01","title":"ALGORITHM DESIGN","course_id":43176,"description":null,"units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"482","section_number":"02","title":"ALGORITHM DESIGN","course_id":43176,"description":null,"units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"442","section_number":"01","title":"MACHINE LEARNING","course_id":44077,"description":null,"units":"3","term":"Summer-2026"},{"subject":"COMP","catalog_number":"324","section_number":"02","title":"NETWRKS AND SECURITY","course_id":44528,"description":null,"units":"3","term":"Summer-2026"}]}