Liberal Arts Computing Curricula

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

Benedictine College

Contributed by Donald J. Bagert, dbagert@benedictine.edu

Institutional and departmental context

Contextual Factors:

Curricular overview

Major program(s)

The CS component of both the BA and the BS programs can be done in three years, allowing the student to start their required CS courses (as well as Discrete Structures I) as late as fall of sophomore year. This allows those students who are thinking about CS but are not yet sure to take a 3 credit hour “CS0” (breadth-first) course their freshman year before deciding on a major. (Those that are sure can start with the CS1 course.) Students in both majors must pass the Major Field Test (MFT) in Computer Science given by Educational Testing Services (ETS) in order to graduate. Over the last 6 years, more than 95% of CS seniors (all BA majors) have passed the test on their first try.

Bachelor of Arts in Computer Science (BACS): As stated above, the current BACS curriculum was designed be taught with just one FTE faculty member while still providing an acceptable background for an entry-level CS professional. The BA curriculum breakdown (129 total credit hours):

There are enough free elective hours to allow a double major of the BACS with almost any other degree at Benedictine.   Bachelor of Science in Computer Science (BSCS): The BSCS has a traditional computer science curriculum which takes advantage of the program now having two FTE faculty members. The BS curriculum breakdown (128 credit hours):

Non-major program(s)

Minor: The CS minor is 17 credit hours long and must include the CS1, CS2 and Discrete 1 courses, and at least 6 hours of junior/senior level CS courses.

Certificates: There are no certificate programs at Benedictine College.

Non-major courses: There is a freshman-level web programming course that requires no programming background, a sophomore-level programming course for scientists and engineers that also requires no programming, and a sophomore-level “short course” (only two credit hours) in a particular programming language (e.g. Python or C) which is sometimes taken by non-majors.

Co-curricular program(s)

Math/Computer Science Club

Key contributions

Although a recent development, the new Bachelor of Science program appears to be an important addition to CS at Benedictine. The CS content of the BS is very close to that of CS2013. We expect that this will open doors for our graduates to new possibilities in industry, government and graduate school.

At the same time, the already-successful BACS remains successful for those currently pursuing double majors, which include CS with Accounting, Electrical Engineering, Math, Music, Physics, Psychology, Theatre Arts and Theology.

Closed labs are a part of every four-hour CS class and are very successful. This includes the algorithms and architecture classes, which most CS curricula teach without labs.

Courses whose content which has been fine-tuned in recent years include the CS0 course and the software engineering/capstone project sequence. The breadth-first CS0 is about 25% programming, and the language used was changed 3 years ago from Alice to Python. This has helped prospective CS students to have a better idea of what programming in later classes will be like.

Six years ago, the capstone project successfully started using real projects with real clients. Over that same period, the project process has gone from a waterfall model to agile development, fine-tuning the process for use in an academic environment.

Limitations/challenges

CS at Benedictine College is a small program in a small school, which makes it difficult in recruiting more students to the CS major. It also means no more than one section per year for any CS course, which means 6-8 faculty preps each semester.

More access to Apple hardware is needed for labs in some CS courses.