This is an archived version of the University Catalog and is no longer being maintained. References to people, offices, policies, and web links may be outdated. View the current catalog or email catalog@csuchico.edu for updated information. Students who have catalog rights to this version of the catalog should check with an advisor for graduation requirements.

Skip to Side Navigation Skip to Content Skip to Accessibility Settings

The Minor in Computer Science

Course Requirements for the Minor: 24 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: MATH 109, MATH 119 (or high school equivalent), or MATH 120; or a passing score on the Math department administered calculus readiness exam.
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: GE Mathematics/Quantitative Reasoning Ready, CSCI 111 with a grade of C or higher (may be taken concurrently), MATH 119 (or equivalent).
This course is also offered as MATH 217.
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)
Prerequisites: GE Mathematics/Quantitative Reasoning Ready, CSCI 111 with a grade of C or higher (may be taken concurrently), MATH 119 (or equivalent).
This course is also offered as CSCI 217.
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: 13 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)

2 courses selected from:

Any upper-division Computer Science (CSCI) or Computer Information Systems (CINS) courses except CINS 490, CSCI 301, CSCI 344, CSCI 398, CSCI 399, CSCI 400, CSCI 444, CSCI 490, CSCI 498, CSCI 499, and CSCI 598. One course 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:20