Button Menu

Computer Science

The most important aspect of Computer Science is problem solving, an essential skill for life. Students study algorithmic processes and the design, development and analysis of software and hardware used to carry out these processes. Since computers are used for a variety of purposes by people in all walks of life, there is a significant human side to computer science as well.

Some graduates choose to continue their studies in graduate or professional school (not necessarily in computer science) before seeking employment. Majors accepting positions upon graduation typically work for companies that provide computing hardware, software or services for use in business, education, government and research.

The department regularly offers Computer Science I and other courses of a more general nature for students interested in surveying key topics in computing. Departmental programs consist of a computer science major and a computer science minor. Most courses provide hands-on computing experience.

Computing facilities include pen-based computer laboratories that are part of the University network. They provide tools for computer science, standard desktop productivity, e-mail and connectivity to the Internet. The department maintains a state-of-the-art laboratory of Linux workstations with high-end servers that provide robust file services and a full array of software development tools. The department also has a computer-based, cooperative-work laboratory and a lounge for use by its majors.

University programs of interest to computer science majors include: Science Research Fellows Program, Information Technology Associates Program and Winter Term internships. Some employment and research opportunities with the department and the Computer Center are available during the year and summer. Finally, the student computer clubs (Association for Computing Machinery and ACM-Women) provide coordinated programs each year.

Course Catalog

Requirements for a major

Computer Science

Total courses required Nine and one-half CSC + MATH 123 + one allied course
Core courses CSC 121, CSC 122, CSC 231, CSC 232, CSC 233, CSC 240, CSC 498
Other required courses One CSC course at the 400 level in addition to CSC 498.
Number 300 and 400 level courses Four including CSC 498
Senior requirement and capstone experience The senior requirement is CSC 498. As a culmination of the computer science major, each senior completes an independent project with credit earned through the course CSC498. Each student describes his or her project idea in a formal project proposal. Projects typically involve the design, implementation, testing and documentation of a software system that builds on earlier coursework both inside and outside the department. Students are mentored by a faculty member and meet regularly in groups to present their work and to discuss related topics such as the ethical implications of their work.
Additional information MATH 123 is also required. MATH 223 may be substituted for MATH 123 with approval of the advisor. Students are required to take one allied course from a list maintained by the department; with approval of the advisor, students may substitute a 300/400 level CSC course for the allied course. Students are encouraged to complete an internship or research experience related to the major. This is not a requirement, however, and no departmental credit is awarded for these experiences. The advisor will offer guidance on selection of courses inside and outside of the department for students who may be interested in focusing on particular areas related to computer science.
Recent changes in major Beginning Fall 2013, the number of CSC courses required for the major is reduced from 10 to 9.5. CSC 240, Writing in Computer Science (.5 credit) has been added to the core courses for the major. Students are now required to take an allied course. These new requirements apply to students entering DePauw Fall 2012 and after.
Writing in the Major

Computer scientists must be able to communicate effectively with other computer scientists (e.g., as a member of a team designing a large system, or conveying results of research) and non-computer scientists (e.g., user documentation such as a user manual, or describing a project to a potential investor or customer). Communicating with other people, both orally and in writing, is an essential skill required of all computer scientists. Students majoring in Computer Science develop writing skills across several courses:

  • CSC 232, Object Oriented Software Development. Students write in the context of a software development project. Some of this writing is to an internal audience consisting of other team members, while other writing is to an external audience consisting of users and/or customers. Internal writing includes design documents, formal program specification, and commented code. External writing includes requirements documents, user interface documentation, and user documentation.
  • CSC 240, Writing in Computer Science. In this .5 credit course students learn to communicate technical and non-technical information about computer science to technical and non-technical audiences. This writing includes communication with users (e.g., user manuals), the general public (e.g., oped pieces related to technical issues), and other non-technical audiences (e.g., legislators, potential investors, customers). Students also develop a project proposal document. Some of the writing in this course deals with ethical and social issues.
  • All 400-level CSC Elective Courses. In each of these courses students are required to write appropriately to other computer science professionals. This may involve writing a journal or conference article, summarizing one or more journal articles, or critiquing one or more journal articles.
  • CSC498, Senior Project. Students propose and complete a project of their choosing. The proposal consists of a written document describing the project and the timeline for completing it. The project itself consists of commented code and other internal documentation as well as user documentation (e.g., a user manual).

Writing assignments will comprise a significant portion of the course grade for each of the above-mentioned courses, and the course grade will reflect students' writing proficiency. Students will meet the Writing in Computer Science requirement by earning credit for CSC232 Object Oriented Software Development, CSC240, Writing in Computer Science, at least one 400-level elective course, and CSC498.

Requirements for a minor

Computer Science

Total courses required Five
Core courses CSC 121 and CSC 122
Other required courses At least two of the courses from: CSC 231, CSC 232, CSC 233. At least one CSC course at the 300 or 400 level.
Number 300 and 400 level courses One