SIGCSE 2020 Pre-Symposium Event by the SIGCSE Committee on Computing Education in Liberal Arts Colleges
Contributed by Grant Braught, braught@dickinson.edu
Dickinson College was founded in 1783 by Dr. Benjamin Rush, a signer of the Declaration of Independence, “to prepare young people, by means of a useful education in the liberal arts and sciences, for engaged lives of citizenship and leadership in the service of society.”
The Dickinson computer science curriculum leverages our strengths while preparing students for a future in which they apply their skills and knowledge for the greater good. To do so the curriculum:
The computer science major requires a total of 13 courses, 11 in computers science (8 required, 3 electives) and 2 in mathematics.
The diagram below illustrates the structure of the major and how the threads of: Writing in the Discipline; Social, Legal and Ethical Issues; and Computing for the Greater Good weave through the courses.
COMP130 - Introduction to Computing, is an introduction to computational thinking and programming in Python for students from across the college. The course satisfies the all college requirements for Laboratory Science and Quantitative Reasoning and also serves as an entry point to the major for those without prior experience.
The department offers a minor in computer science. The minor requires six credits including COMP 132, COMP 190, COMP 232 and COMP 256.
Computer science courses on our Computing for the greater good thread count as electives in the Social Innovation and Entrepreneurship (SINE) certificate program.
The department has a number of co-curricular programs:
We are excited about the threaded themes within the curriculum. By having smaller doses of writing, ethics and social value appear repeatedly we hope to emphasize these elements an integral part of of how computer scientists think. In addition these themes provide opportunity for students in the liberal arts to draw on their collective broad education to examine the ways in which technology creates, addresses and interacts with human challenges.
With the support of our Director of Writing we have been able to interpret writing in the discipline (WID) broadly. The writing elements in our courses include writing code for human readers, API documentation, expressing algorithms in pseudo code, writing mathematical arguments (proofs), poster presentations, blog posts for broad audiences and reflective essays as well as more traditional technical reports.
We have reformulated the traditional organization and architecture and systems sequence as a sequence in abstractions. This makes the larger concept of abstraction the central theme and provides for breadth at the intermediate level (COMP 256 includes organization, architecture, operating systems, languages and translation, networking, web architectures). This is then followed by topic focused courses with rich implementation projects that satisfy the abstraction implementation requirement.
Incorporating Free and Open Source Software (FOSS) and Humanitarian FOSS (HFOSS) as a central theme has provided a motivating context for our courses that emphasize Tools and Practices. The humanitarian aspects connect us directly to the institutional mission while supporting the Social, Legal and Ethical and Computing for the Greater Good threads. This theme also holds potential for broadening participation in the discipline.
Our Writing in the Discipline thread satisfies the all-college writing in the discipline (WID) graduation requirement. In other disciplines this is satisfied by 1 (or 2) courses that students must complete. When they complete those courses they are given the WID credit. For our model we must compile a portfolio of student writing across the courses in our thread and certify at the end of the major that they have satisfied the WID. Thus, we would be interested in any experiences with such a model and/or solutions for portfolio management.