Computer science is best learned by doing, and Cornell's One Course At A schedule allows you to enjoy hands-on activities throughout your coursework. In small, collaborative classes, professors provide individual support to students as they move seamlessly between lectures and projects in the same classroom.
Students are introduced to software development using Java, and in upper-level courses, you will solve problems using JavaScript, Python, Ruby, and other programming languages. Upper-level courses for majors address a range of fundamental concepts, and specialized topics courses are added based on student interest. Recent topics courses include Mobile App Development, Human-Robot Interaction, Open Source Projects, and a "big data" course co-taught with a professor of statistics.
At all course levels, you will develop skills in teamwork, communication, and other important areas that go beyond writing code. You will collaborate on group projects, read from recent journals, write papers, present your work to your peers, and review the work of others. To complete your degree, you will develop a capstone project that builds on previous coursework and involves you in all phases of iterative software development.