Skip to Side Navigation Skip to Content Skip to Accessibility Settings

The Minor in Computer Science

Course Requirements for the Minor: 21 units

The following courses, or their approved transfer equivalents, are required of all candidates for this minor.

Lower-Division Requirements: 11 units

2 courses required:

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisite: Completion of ELM requirement.
A first-semester programming course, providing an overview of computer systems and an introduction to problem solving and software design using procedural object-oriented programming languages. Coverage includes the software life cycle, as well as algorithms and their role in software design. Students are expected to design, implement, and test a number of programs. 3 hours lecture, 2 hours activity. (002281)
Prerequisite: CSCI 111 with a grade of C or higher.
A second semester object-oriented programming course in computer science that emphasizes problem solving. This course continues the study of software specification, design, implementation, and debugging techniques while introducing abstract data types, fundamental data structures and associated algorithms. Coverage includes dynamic memory, file I/O, linked lists, stacks, queues, trees, recursion, and an introduction to the complexity of algorithms. Students are expected to design, implement, test, and analyze a number of programs. 3 hours lecture, 2 hours activity. (002282)

1 course selected from:

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: Completion of ELM, CSCI 111 with a grade of C or higher, MATH 119 (or equivalent).
Offers an intensive introduction to discrete mathematics as used in computer science. Topics include sets, relations, propositional and predicate logic, basic proof methods including mathematical induction, digital logic circuits, complexity of algorithms, elementary combinatorics, and solving linear recurrence relations. 3 hours discussion. (002331)
Prerequisites: Completion of ELM, CSCI 111 with a grade of C or higher, MATH 119 (or equivalent).
Offers an intensive introduction to discrete mathematics as used in computer science. Topics include sets, relations, propositional and predicate logic, basic proof methods including mathematical induction, digital logic circuits, complexity of algorithms, elementary combinatorics, and solving linear recurrence relations. 3 hours discussion. (005550)

Upper-Division Requirements: 10 units

2 courses required:

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: CSCI 211, CSCI 217 or MATH 217, all with a grade of C or higher.
This course focuses on object-oriented methodologies in designing and implementing a variety of data structures and algorithms. Coverage includes recursion, trees, search structures, hashing, heaps, sorting algorithms, and graph algorithms. Data structure and algorithm combinations will be studied and analyzed along with their relative merits using both mathematical and empirical measurements. The course includes a number of large programming assignments focusing on object-oriented software engineering and algorithm development. Students will be required to design, implement, test, and analyze their programs in at least one object-oriented language. 3 hours lecture, 2 hours activity. (002325)
Prerequisite: CSCI 311 with a grade of C or higher.
An overview of software engineering principles, practice, and tools. Topics include: agile software engineering methodologies, requirements engineering, test-driven development, software design patterns, MVC architecture, version control, software metrics, and static analysis. Students work in groups to design and implement a semester-long open source software project. 2 hours discussion, 2 hours activity. (002310)

3 units selected from:

Any upper-division Computer Science (CSCI) or Computer Information Systems (CINS) courses except CSCI 301, CSCI 313H, CSCI 380, and CSCI 381. 3 units may be from another department as long as the course has significant computational content, as determined by the Chair of the Department of Computer Science. Courses must be taken for a letter grade.

Catalog Cycle:17