Computer Science
CS 151 Introduction to Programming with Python (4)
An introduction to computer science using Python. Introduces students to the fundamental concepts of programming and computational problem solving. Students will study and create programs that perform various tasks, including text and file manipulation, internet scraping, data structures, and testing. Topics will include general programming idioms such as variables, logic and loops as well as Python specific idioms such as list comprehension and generators. Object-oriented programming will be introduced.
- General Education Requirement Fulfillment: Mathematical Sciences
- Offering: Every semester
- Instructor: Staff
CS 152 Data Structures (4)
Theoretical and practical study of programming and abstract data types including lists, stacks, queues, trees and algorithms used on these data structures. The course includes object implementation of structures and sharpens programming skills learned in previous courses.
- General Education Requirement Fulfillment: Mathematical Sciences
- Prerequisite: CS 151
- Offering: Spring
- Instructor: Staff
CS 199 Topics in Computer Science (1-4)
A semester-long study of topics in Computer Science. Topics and emphases will vary according to the instructor. This course may be repeated for credit with different topics. See the New and Topics Courses page on the Registrar’s webpage for descriptions and applicability to majors/minors in other departments.
- General Education Requirement Fulfillment: Topic dependent
- Prerequisite: Topic dependent
- Offering: Occasionally
- Professor: Staff
CS 199 Topics in Computer Science (1-4)
A semester-long study of topics in Computer Science. Topics and emphases will vary according to the instructor. This course may be repeated for credit with different topics. See the New and Topics Courses page on the Registrar’s webpage for descriptions and applicability to majors/minors in other departments.
- General Education Requirement Fulfillment: Topic dependent
- Prerequisite: Topic dependent
- Offering: Occasionally
- Professor: Staff
CS 271 Networks and Systems (4)
Networks and systems form the boundary between abstractions firmly rooted in language and deeper questions in computing regarding the implementation of thinking machines at engineering and physical levels. This course will prepare computer scientists to reason at and across this abstraction boundary to more fully embrace the power of computation. Students will learn low level languages of C and assembly, use command line tools to study these languages, use features of the operating system including parallelism and networking, and learn how to make changes to operating systems.
- Prerequisite: CS 152
- Offering: Annually
- Professor: Staff
CS 299 Topics in Computer Science (1-4)
A semester-long study of topics in Computer Science. Topics and emphases will vary according to the instructor. This course may be repeated for credit with different topics. See the New and Topics Courses page on the Registrar’s webpage for descriptions and applicability to majors/minors in other departments.
- General Education Requirement Fulfillment: Topic dependent
- Prerequisite: Topic dependent
- Offering: Occasionally
- Professor: Staff
CS 351 Analysis of Algorithms (4)
In this course students will study methods to analyze algorithms for their correctness and run time efficiency as well as general design and analysis techniques. Topics include: asymptotic analysis, searching and sorting algorithms, divide and conquer techniques, greedy algorithms, dynamic programming, graph algorithms, efficient data structures, and NP-completeness.
- General Education Requirement Fulfillment: Mathematical Sciences
- Prerequisite: CS 152 and MATH 251
- Offering: Spring
- Instructor: Staff
CS 391 Independent Study (2 or 4)
This course is intended for the qualified advanced student who wishes to do an intensive independent study in an area not covered by an existing course in the department. Arrangements for this course must be made with a faculty member before registration.
- General Education Requirement Fulfillment: Mathematical Sciences
- Prerequisite: CS 241
- Offering: On demand
- Instructor: Staff
CS 399 Topics in Computer Science (1-4)
A semester-long study of topics in Computer Science. Topics and emphases will vary according to the instructor. This course may be repeated for credit with different topics. See the New and Topics Courses page on the Registrar’s webpage for descriptions and applicability to majors/minors in other departments.
- General Education Requirement Fulfillment: Topic dependent
- Prerequisite: Topic dependent
- Offering: Occasionally
- Professor: Staff
CS 429 Topics in Computer Science (1-4)
A semester-long study of topics in Computer Science. Topics and emphases will vary according to the instructor. This course may be repeated for credit with different topics. See the New and Topics Courses page on the Registrar’s webpage for descriptions and applicability to majors/minors in other departments.
- General Education Requirement Fulfillment: Topic dependent
- Prerequisite: Topic dependent
- Offering: Occasionally
- Professor: Staff