Learn to program, theorize about artificial intelligence, study algorithmic processes, explore the history of video games, and analyze complex biological data.
Whether you are taking a single course or concentrating in Computer Science, you’ll work closely with faculty and tackle projects based on your interests. You'll have the opportunity to learn several languages including Python, C, and Java as well as the basics of functional programming. With the annual topics course, you’ll work on projects of contemporary themes. Many students supplement course work with classes in Mathematics and Pre-Engineering.
You’ll use these tools as a foundation to follow your passion. You might be using data science to better understand the great Russian novel, building a better health app, or pushing the boundaries of artificial intelligence. Wherever you are headed, the faculty are here to support you. And not just faculty, it’s a communal department with students and alumni actively collaborating. By your senior year, Computer Science students have the tools and experience for high level, individualized study. And Simon's Rock is ready to support you with mentoring and research opportunities that are usually only found in graduate school.
Computer Science Club hosts coding workshop with Simon’s Rock Alumni and Google developers.
The experience prepares you for a successful career in tech, business, and industry as well as graduate study in computer science and related fields. Recent graduates from the Simon’s Rock program have secured a wide variety of positions ranging from engineering at Google to independent video game development.
At least 24 CMPT credits are required to complete a concentration in Computer Science. There is one prerequisite course (Computer Science 100) and then two core courses at the 200-level (Computer Science 243, Computer Science/Mathematics 252) that are required. In addition one of the following programming courses is required: Computer Science 200, Computer Science 242, or Computer Science 212. For the remaining credits, students must take courses of their choice at the 200-level or above, with at least two courses at the 300-level or above.
In addition to regularly scheduled courses, students can pursue independent studies and tutorials as well as taking courses at Bard College at Annandale. Students interested in electrical engineering should consider the Dual Degree Columbia University Engineering Program.
This course begins by modeling problems using graph search by considering uninformed and informed graph search algorithms including A* search. Then we model problems as constraint satisfaction problems and consider backtracking with forward checking, the generalized arc consistency algorithm, local search, genetic programming, and optimization. We also consider problems that can be modeled using knowledge bases, and 2-player games that can be solved using minmax strategies. Throughout the course students will model problems and implement programs to solve them.