The joint task force of ACM and IEEE Computer Society released recent guidelines for undergraduate computer science majors late in 2013. Since that time, many computer science departments have reviewed the included recommendations and exemplars from various institutions, and made changes to the programs that they offer. In this panel, we will share the experiences of the panelists from a variety of computer science programs in reviewing and responding to the new curriculum guidelines. The panel hopes to generate additional discussion about new knowledge areas and models for incorporating recommended content into programs at small, liberal arts institutions.
2. Overview
Represent 4 different small, liberal arts universities
University of Mary Washington
Randolph-Macon College
Furman University
Elon University
3. Terminology used in Report
Topics are identified as either “Core” or “Elective” with
the core further subdivided into
“Tier-1” and “Tier-2.”
• A curriculum should include all topics in the Tier-1 core
and ensure that all students cover this material.
• A curriculum should include all or almost all topics in
the Tier-2 core and ensure that all students encounter
the vast majority of this material.
• A curriculum should include significant elective
material: Covering only “Core” topics is insufficient for
a complete curriculum.
4. Mathematics Requirements in
Computer Science
CS2013 only specifies mathematical
requirements that are directly relevant for the
large majority of all CS, for example,
• elements of set theory,
• logic, and
• discrete probability, among others).
These mathematics requirements are
specified in the Body of Knowledge primarily
in the Discrete Structures (DS) Knowledge
Area.
5. Our Required Mathematics
CPSC 125 (4 Credits)
Designed to prepare beginning Computer
Science majors for advanced study
by emphasizing the components of Discrete
Mathematics especially related to Computer
Science. Topics include systems, logic,
methods of proof, counting techniques,
mathematical induction, sets, relations,
functions, vectors, matrices, graphs and
trees.
http://www.allthemath.org/about/
6. Our Required Mathematics
CPSC 326 (4 Credits)
Prerequisites: CPSC 125A and 240. Covers structures and
concepts relating to the underlying theory of computation
and mathematical models of actual physical
processes. Also covers a repertoire of advanced algorithms
for data processing, and the asymptotic analysis of those
algorithms to describe their running time and space
requirements. Topics may include formal languages,
automata theory, Turing machine, the halting problem, NP-
completeness, searching and traversal algorithms, dynamic
programming, compression algorithms, and random
number generation
http://cs.umw.edu/~finlayson/class/fall15/cpsc326/
10. Electives and Math
UMW Courses/Minors Math discussed in course
or minor
Data Science Minor at
UMW
Numerical Analysis
Probability and Statistics
Graphics Linear Algebra
Security Cryptography
Data Mining Linear Algebra
Statistics
Calculus
11. Recommendation for Students
Students considering a career with the
federal government should be aware that
the US Department of Operations and
Personnel Management standards require a
minimum of 15 credit hours of mathematics in
order for employees to be classified as a
“Computer Scientist.” Students interested in
federal employment in this classification are
encouraged to take MATH 121, MATH 122,
MATH 200, and any additional MATH course
numbered 300 or higher. A minor in Applied
Mathematics would also provide appropriate
preparation.
13. CSC ‘13 Recommendation
New Parallel and Distributed Computing (PD) knowledge area
Five tier-1 hours and ten tier-2 hours,
Approximately 13 lecture hours for ugrad CS degree
14. UMW’s old model
Some coverage of PD topics in required operating systems
course
Elective course: Parallel Computing
15. UMW’s new model
Maintain previous coverage
Add 2-3 week module on parallel programming to
OOA&D course (CS 2 for us)
Required for all majors (CS major, CS minor, CIS major,
GIS major)
16. Content of Parallelism Module
Mostly shared memory model of parallelism
Using materials developed by Dan Grossman at the
University of Washington
goals of parallelism,
the need for communication and coordination,
atomicity,
data races,
bad interleavings,
and deadlock.
17. Adding Distributed Computing
Randolph-Macon College restricts a major <= 42 credit
hours, including those required from other disciplines.
Program was lacking coverage of the core topics from
networking,
operating systems,
and parallel computing.
18. Modifying Existing Unix Course
Already required a course that introduces C/C++
programming and the use of UNIX systems.
Revised to refocus the contents on systems
programming with C/C++ and UNIX as the tools that
will be used instead of being the main focus of the
course
19. Modified Course Content
Covers core topics from several of the knowledge
areas that our program was previously lacking:
the use of sockets and network applications (NC
knowledge area);
memory management, currency and threads (OS);
an introduction to parallel algorithms and
communication and coordination between
applications (PD)
20. Integrate More With Other Disciplines
“Big Tent” View of CS: As CS expands to include more cross-
disciplinary work and new programs of the form “Computational
Biology,” “Computational Engineering,” and “Computational X”
are developed, it is important to embrace an outward-looking
view that sees CS as a discipline actively seeking to work with
and integrate into other disciplines.
Work force: need to prepare students to work in a variety of
potential professions in a rapidly changing field that reaches
across disciplines.
Graduates: need not only technical skills, but also the ability to
combine these skills with domain knowledge gained by
communicating with and learning from experts in diverse
domains.
21. Computing across the Curriculum
Thematic approach to the introductory course
Second-level general education courses
Interdisciplinary IT major with cognate discipline
Interdisciplinary teaching
22. Computing across the Curriculum
Thematic approach to the introductory course
Second-level general education courses
Interdisciplinary IT major with cognate discipline
Interdisciplinary teaching
23. New Introduction to CS Course
Goal: Introduction to the Computer Science discipline
through the lens of an interdisciplinary problem1
Expose students to computing approaches to problem solving they would
not normally see until after completing their core courses, while illustrating
the application of computing to diverse fields.
What do you need to understand about Computer Science
to use computing in an interdisciplinary context?
Survey of topics in Computer Science
Audience:
Entry point to major
Introduction to CS for non-majors
1 Tartaro, A. & Cottingham, H. 2014. A Problem-based Survey Introduction to Computer Science for
Majors and Non-majors. Journal of Computing Sciences in Colleges.
24. The “Rules”
1. Instructor chooses problem area.
2. Instructor chooses computer science topics.
3. Instructor teaches majors and nonmajors.
24
27. Interdisciplinary Information Technology
Major with a Cognate Discipline
Required core courses:
CSC-105: Introduction to Computer Science
CSC-121: Introduction to Programming
CSC-122: Data Structures and Algorithms
Elective options:
Two additional CSC courses numbered 200 or above, with at least
one numbered 300 or above, to be approved at the time of
declaration by the Dept. of CS chair
Three additional courses numbered 200 or above, with at least one
numbered 300 or above, selected from a cognate department or
course of study (i.e. one leading to a major) to be approved at the
time of declaration by the Dept. of CS chair, in consultation with the
chair of the cognate department
Capstone Experience (required):
CSC-475: Seminar in Computer Science, or
CSC-502: Research in Computer Science
Synthesize student’s studies in CS and the cognate discipline
28. Relationship to Computer Science
Designed to offer a complementary balance to our
more theoretically oriented Computer Science major
CS still the primary option for those students seeking
graduate level degrees in Computer Science proper
Common core of courses
29. Experience
Majors declared with a variety of cognates thus far, including:
Business
Political Science
Economics
Music
Religion
Chemistry
Biology
Philosophy
English
Psychology
Of 61 declared majors at present, 17 are IT (28%)
In 2013, 10 of 45 majors were the “old” IT (22%)
30. No Changes
validate some aspects of our existing curriculum
Mobile Computing for the past five years (now explicitly
covered as part of the new Platform-Based Development
Knowledge Area)
Math requirements in computer science reflected our
current concerns and issues in developing
students’ mathematical maturity within the quickly
changing pre-requisite structure from our math
department.
Editor's Notes
We have 3 fairly simple guidelines for instructors teaching this course, which is almost every instructor in the department:
The instructor chooses a problem area
The instructor chooses computer science topics, including some programming, and some advanced topics as they relate to the problem of the course. There are some topics, like AI or databases, that probably come up in multiple sections. Others like human computation or crowdsourcing, which I discuss in mine, may be more unique to the topic of the course.
The instructor targets the material at majors in their first course (with or without previous experience) and non-majors.s
Some of our example problem areas include:
Business analytics and data mining, which demonstrates the use of computer science to analyze and visualize complex information for use in business planning and decision making.
The power of words explores how people and computers work together to solve a variety of problems involving text such as intelligent search or filtering structured information from unstructured text
Social media examines how social media technologies are designed and implemented, focusing on the algorithms that make them work as well as societal implications of the technologies.
Secret communication looks at encryption by exploring how information is represented on a computer and manipulated into different forms.
Bioinformatics explores computer science topics needed to solve complex genetics and molecular biology problem
And creativity… looks at how computers can be used as tools for creative expression and entertainment.