Computer Science

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.

Courses

CSCI 131
Techniques of Programming
Common Area: Mathematical Science

A broad introduction to fundamental concepts in computer science, with emphasis on designing and writing correct and elegant computer programs. Concepts are illustrated through examples drawn from a variety of application areas and may include graphics, digital media, scientific computing, or games. Weekly lab meetings provide supervised practice. This course is appropriate for any student interested in creating or understanding software, and students with little or no prior programming experience are welcome. Students in this course develop both real-world programming skills and gain a foundation for applications in Mathematical Science, the sciences, economics, accounting, or any other discipline in which computing plays an important role. This course also prepares students for further study in Computer Science 132, Data Structures, and it is required for both the major and the minor.


CSCI 132
Data Structures
Common Area: None

An introduction to techniques for storing and manipulating complex data. Students gain experience with sophisticated programs by studying frequently used data structures, including stacks, lists, trees, graphs, and hash tables, and by discussing algorithms for searching, sorting, graph traversal, and hashing. Weekly lab meetings provide supervised practice designing, implementing and using these data structures. As time allows, students also begin an introduction to analysis of algorithms by examining the space and time efficiency of data structures and related algorithms. This course is required for both the major and the minor.

 

Back to First-Year Course listing »

Back to Course Schedule »