Ccsc 2015 panel

30
Computer Science Curricula 2013 11/7/15

Transcript of Ccsc 2015 panel

Page 1: Ccsc 2015 panel

Computer ScienceCurricula 2013

11/7/15

Page 2: Ccsc 2015 panel

Overview

Represent 4 different small, liberal arts universities University of Mary Washington Randolph-Macon College Furman University Elon University

Page 3: Ccsc 2015 panel

Terminology used in ReportTopics 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.

Page 4: Ccsc 2015 panel

Mathematics Requirements in Computer ScienceCS2013 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.

Page 5: Ccsc 2015 panel

Our Required MathematicsCPSC 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/

Page 6: Ccsc 2015 panel

Our Required MathematicsCPSC 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 generationhttp://cs.umw.edu/~finlayson/class/fall15/cpsc326/

Page 7: Ccsc 2015 panel

Knowledge Area Breakdown

Page 8: Ccsc 2015 panel

Knowledge Area Breakdown

Page 9: Ccsc 2015 panel

Knowledge Area Breakdown

Page 10: Ccsc 2015 panel

Electives and MathUMW Courses/Minors Math discussed in

course or minorData Science Minor at UMW

Numerical AnalysisProbability and Statistics

Graphics Linear AlgebraSecurity CryptographyData Mining Linear Algebra

StatisticsCalculus

Page 11: Ccsc 2015 panel

Recommendation for StudentsStudents 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.

Page 12: Ccsc 2015 panel

Increasing Parallel Programming ContentSurvey conducted to inform the CSC ’13

Two areas most identified to add to Body of Knowledge

security

parallel and distributed computing

Page 13: Ccsc 2015 panel

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

Page 14: Ccsc 2015 panel

UMW’s old modelSome coverage of PD topics in required operating systems course

Elective course: Parallel Computing

Page 15: Ccsc 2015 panel

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)

Page 16: Ccsc 2015 panel

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.

Page 17: Ccsc 2015 panel

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.

Page 18: Ccsc 2015 panel

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

Page 19: Ccsc 2015 panel

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)

Page 20: Ccsc 2015 panel

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.

Page 21: Ccsc 2015 panel

Computing across the Curriculum Thematic approach to the introductory course Second-level general education courses Interdisciplinary IT major with cognate discipline Interdisciplinary teaching

Page 22: Ccsc 2015 panel

Computing across the Curriculum Thematic approach to the introductory course Second-level general education courses Interdisciplinary IT major with cognate discipline Interdisciplinary teaching

Page 23: Ccsc 2015 panel

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.

Page 24: Ccsc 2015 panel

The “Rules”

1. Instructor chooses problem area.

2. Instructor chooses computer science topics.

3. Instructor teaches majors and nonmajors.

24

Page 25: Ccsc 2015 panel

Example Problem Areas

Business Analytics and Data Mining

“The Power of Words”

Social Media

25

(Images from npr.org)

Page 26: Ccsc 2015 panel

Example Problem Areas

“Secret Communication”

Bioinformatics

Creativity & Digital Media

26

(Images from npr.org)

Page 27: Ccsc 2015 panel

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

Page 28: Ccsc 2015 panel

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

Page 29: Ccsc 2015 panel

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%)

Page 30: Ccsc 2015 panel

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.