Advanced Placement: Students who have received a score of 4 or 5 on the AP Computer Science A exam will earn one unit of credit for CSCI 131 (Techniques of Programming), and are advised to take CSCI 132 (Data Structures). Students will forfeit their AP credit if they take CSCI 131 or 110 (CSCI 110 Survey of Computer Science is a topics course offered to third-and fourth-year students majoring in non-STEM fields).
Students who have received a score of 4 or 5 on the AP Computer Science Principles exam will earn one unit of credit (for CSCI 110). This does not count toward fulfilling the CSCI major or minor requirements. Students will forfeit their AP credit if they opt to take CSCI 131 or CSCI 110.
All AP credit in computer science counts toward the mathematical science common area requirement. Only AP credit for the Computer Science A exam counts toward the minimum number of courses required for the Computer Science major or minor.
Majors and Minors in Computer Science: Students who are considering a major or minor in computer science and who do not have AP credit in computer science should take CSCI 131 Techniques of Programming, and are encouraged to take this in their first semester if possible.
Advisory Note: Students seeking to fulfill a common area requirement in mathematical sciences who are not planning to major in an area that requires calculus should consider CSCI 110, MATH 110 (topics courses that vary each semester), or STAT 120 (statistics course available only after a major has been declared). These courses all fulfill the mathematical science common area requirement and are not geared toward science, economics, or math majors.
Techniques of Programming
Common Area: Mathematical Science
This entry-level course is an introduction to the fundamentals of programming and computing. This course introduces students to the Java programming language. It is intended not only for students who wish to major or minor in computer science, but also for any students interested in learning to program or use computational skills in other fields. This would usually include all students interested in mathematics, the sciences, or any other field in which computing plays a prominent role (such as economics), even if these students do not intend to pursue further study in computer science. Students interested in applying computation to music, art, classics, psychology, and other fields are equally welcome. This course has no prerequisites and is intended to be a first course in computer science for all students, even students with little or no prior programming experience. Students electing this course should also enroll in one of the required weekly two-hour laboratory sections. This is a required course for both the major and minor in computer science. This course will be offered in both the fall and spring.
Common Area: None
This course builds upon programming skills acquired in CSCI 131 or AP Computer Science A, with a focus on developing more sophisticated programming skills and exploring ways to efficiently store and manipulate data. Standard data structures such as stacks, lists, trees, and graphs are introduced. Algorithms and techniques for sorting, searching, graph traversal, hashing, and recursion are discussed. Analysis of algorithms and special topics are covered as time allows. This course also introduces students to the C++ programming language. Students electing this course should enroll in one of the required weekly two-hour laboratory sections. This required course for both the major and minor in computer science has CSCI 131 (or equivalent, such as a 4 or 5 on the AP Computer Science A exam) as a prerequisite. This course will be offered in both the fall and spring.