Liberal Arts Computing Curricula

SIGCSE 2020 Pre-Symposium Event by the SIGCSE Committee on Computing Education in Liberal Arts Colleges

Point Loma Nazarene University

Contributed by Lori Carter, lcarter@pointloma.edu

Institutional and departmental context

Point Loma Nazarene University is a faith-based university (Nazarene is a protestant denomination of Christianity) and as a result, a strong emphasis is put on community. The university provides for many opportunities for faculty across disciplines to congregate and share ideas including weekly faculty lunches and a governance system that includes monthly all- faculty meetings. Interdisciplinary work is strongly encouraged and supported. Our department has a unique opportunity to connect with other departments because of the skillsets we offer that are required for others to do their work. Our mathematicians and statisticians help other faculty (in biology, chemistry, psychology, nursing, kinesiology, social sciences) and administrative personnel with their research statistics. Our computer scientists and applied mathematicians help others with scripting and programming needs. The engineering department requires all students to take the first year programming sequence.

Curricular overview

Major program(s)

As mentioned earlier, we have three emphases for our Computer Science program. The emphases vary in only a few classes. The security emphasis requires 2 additional security classes. Former and current FBI personnel have joined with PLNU to teach these. The technical applications emphasis takes advantage of an additional mathematics course (linear algebra) and an information systems course (networking). The software engineering emphasis requires a business course in administrative communication and an information systems course in project management.

The core courses for all students are fairly common: CS1, CS2, Data Structures and Algorithms, Operating Systems, Computer Architecture, Software Engineering, Programming Languages, Databases, Software Project and four mathematics courses. CS1 and CS2 are taught in Java and we transition to C++ in Data Structures.

Non-major program(s)

We offer a Computational Science minor that has become quite popular. It is open to students in biology, chemistry, physics, psychology, mathematics, and computer science. The goal is to help prepare students to do computational research in the natural and social sciences. It broadens the research toolbox of the science students, and the Math/CS students see applications for their skills. The courses required are:

While the minor is about 26 units, all students will have courses from within the minor that also count towards their majors. Typically, the minor requires only 9-11 units outside of their normal major classes with these additional units varying depending on the major. The additional units for science students, for example, will come from computing courses where additional units for math and CS students will generally come from science courses.

The curriculum was designed by surveying the needs of the biotech industry along with finding ways to use existing courses. Python and Unix Scripting (2 units), Data Management (2 units), and R (1 unit) are the courses we uniquely created for the minor. These courses have also added to the breadth of electives available to our majors. The CS1 course was tweaked so that it went further into the use of objects and data structures, but did not cover the creation of classes until CS2.

The minor has been offered for seven years. We currently graduate 10-12 students with the minor each year.

Co-curricular program(s)

We hold frequent career dinners where we give bring in alumni in various fields, experts in creating LinkedIn pages and resumes, and industry personnel to talk about technical interviews.

Key contributions

There have been huge benefits to the Computational Science Minor. It has provided for interdisciplinary summer research projects. Sometimes it is easier to have undergraduate CS students contribute to a biology lab project, for example, than to come up with a unique CS experience. The biologists appreciate the computational expertise.

The minor has brought more women into computer science courses. Most of the Biology students in the minor have been female. There have been some women who have become computer science majors after experiencing their first programming course as a computational science minor. They realized what computer programming was and that they were good at it! Our CS major is now approximately 30% female.

The program definitely gained momentum when we were able to offer scholarships to participants as part of as NSF S-STEM grant. However, now science professors are suggesting to many of their high-achieving students that they should enroll. The faculty members have appreciated the computational expertise these students bring to their labs. The extra skills gained have given students a leg-up in internships and in applying to graduate school.

Limitations/challenges

The main challenge, of course, with a program such as ours is to have one or more CS professors who are interested in learning enough about the other disciplines (biology, chemistry, physics, psychology) to be able to provide examples in courses of computational techniques applied to these areas. I spent most of a sabbatical learning about DNA and other scientific applications. You must also have close enough relationships with faculty in the sciences to have their support in providing research projects and recommending it to students.

We would like to have other professors who can cross the boundaries between CS/Math and the sciences. We have floated the idea of sitting in each other’s courses. However, with already heavy teaching loads, when can we find the time? Have others been successful in getting unit releases to do such things? Are there other ideas?