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
Prerequisites: At least one year of high school algebra and strong computer skills or CSCI 101.
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)
Prerequisites: 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: CSCI 111 with a grade of C- or higher, MATH 109 or MATH 120.
Offers an intensive introduction to discrete mathematics as it is used in computer science. Topics include functions, relations, sets, propositional and predicate logic, simple circuit logic, proof techniques, elementary combinatorics, and discrete probability. 3 hours discussion. (002331)
Prerequisites: Completion of ELM, MATH 119 (or equivalent), CSCI 111.
A rigorous introduction to discrete mathematical structures for computer science majors (fulfills a requirement for the minor in math). Topics include propositional and predicate calculus; basic proof methods; sets, functions, and operations with them; algorithms and their complexity; applications of number theory to computer science and computer security; matrices and matrix arithmetic; mathematical induction, recursive definitions and algorithms; combinatorics and counting techniques; relations and their representation by matrices and digraphs, applications to databases; equivalence relations and partitions of sets; partially ordered sets, lattices, and Boolean algebras; Boolean functions and circuits; graphs, trees, and their applications; formal languages and grammars; finite-state automata and language recognition, regular languages. 3 hours discussion. (005550)

Upper-Division Requirements: 10 units

2 courses required:

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: CSCI 211 with a grade of C- or higher, CSCI 217 or MATH 217 recommended.
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)
Prerequisites: CSCI 311 for CSCI/CINS/APCG majors or EECE 237 for Engineering majors with a grade of C- or higher.
An overview of software engineering principles and practice. Topics include: traditional software engineering methodologies, agile software engineering methodologies, requirements engineering, software design, risk analysis, quality assurance, testing, group dynamics, communication, and project planning/management. Students work in groups to design and implement a semester long 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.

SUBJ NUM Title Sustainable Units Semester Offered Course Flags
Prerequisites: CSCI 311 for CSCI/CINS/APCG majors or EECE 237 for Engineering majors with a grade of C- or higher.
An overview of software engineering principles and practice. Topics include: traditional software engineering methodologies, agile software engineering methodologies, requirements engineering, software design, risk analysis, quality assurance, testing, group dynamics, communication, and project planning/management. Students work in groups to design and implement a semester long software project. 2 hours discussion, 2 hours activity. (002310)
Catalog Cycle:15