One of the most attractive aspects of Princeton is the fact that students can develop a major combining depth in core technical areas with the breadth encouraged by the liberal arts degree. The computer science major offers a particularly attractive foundation for building a traditional liberal arts education with links to other disciplines. Emphasis in the major is on learning fundamental concepts of the discipline. The curriculum covers software systems, algorithms and complexity, machine architecture, computer graphics, and other core areas of computer science. Faculty, graduate students, and undergraduates work together on research and teaching.
Independent work is an important part of the undergraduate curriculum in the department.
It provides an excellent opportunity for students to obtain practical experience in research and development in a particular area. It also allows concentrators to work closely in research with faculty and graduate students. The following list of recent independent projects indicates the type of independent study that may be appropriate, and there is wide latitude in the choice of projects. An exploration of the tiling of 3D objects with repeating patterns. Visualization of equilibrium solutions of ordinary differential equations.