Computer Science Curricula 2013

3y ago
22 Views
2 Downloads
3.12 MB
518 Pages
Last View : 23d ago
Last Download : 3m ago
Upload by : Milena Petrie
Transcription

Computer ScienceCurricula 2013Curriculum Guidelines forUndergraduate Degree Programsin Computer ScienceDecember 20, 2013The Joint Task Force on Computing CurriculaAssociation for Computing Machinery (ACM)IEEE Computer SocietyA Cooperative Project of

Computer ScienceCurricula 2013Curriculum Guidelines forUndergraduate Degree Programsin Computer ScienceDecember 20, 2013The Joint Task Force on Computing CurriculaAssociation for Computing Machinery (ACM)IEEE Computer Society

Computer Science Curricula 2013Copyright 2013 by ACM and IEEE.All rights reserved.Copyright and Reprint Permissions: Permission is granted to use these curriculum guidelines for the development of educational materials and programs. Other use requiresspecific permission. Permission requests should be addressed to: ACM Permissions Dept. at permissions@acm.org or to the IEEE Copyrights Manager at copyrights@ieee.org.ISBN: 978-1-4503-2309-3DOI: 10.1145/2534860Web link: http://dx.doi.org/10.1145/2534860ACM Order Number: 999133Additional copies may be ordered from:IEEE Computer SocietyCustomer Service Center10662 Los VaquerosP.O. Box 3014Los Alamitos, CA 90720-1314IEEE Service Center IEEE445 Hoes LaneP.O. Box 1331Piscataway, NJ 08855-1331Tel: 1 800 272 6657Fax: 1 714 821 Tel: 1 732 981 0060Fax: 1 732 981 e.orgIEEE Computer SocietyAsia/Pacific OfficeWatanabe Bldg., 1-4-2Minami-AoyamaMinato-ku, Tokyo 107-0062JAPANACM Order DepartmentP.O. Box 30777New York, NY 10087-0777Tel: 81 3 3408 3118Fax: 81 3 3408 0500 (outside U.S.)orders@acm.orgCover art by Robert VizziniPrinted in the United States of AmericaSponsoring SocietiesThis report was made possible byfinancial support from the following societies:ACMIEEE Computer SocietyThe CS2013 Final Report has been endorsed by ACM and the IEEE Computer Society.

Computer ScienceCurricula 2013Final ReportDecember 2013The Joint Task Force on Computing CurriculaAssociation for Computing MachineryIEEE-Computer Society

CS2013 Steering CommitteeACM DelegationIEEE-CS DelegationMehran Sahami, Chair (Stanford University)Steve Roach, Chair (Exelis Inc.)Andrea Danyluk (Williams College)Ernesto Cuadros-Vargas (Univ. Católica San Pablo)Sally Fincher (University of Kent)Ronald Dodge (US Military Academy)Kathleen Fisher (Tufts University)Robert France (Colorado State University)Dan Grossman (University of Washington)Amruth Kumar (Ramapo Coll. of New Jersey)Elizabeth Hawthorne (Union County College)Brian Robinson (ABB Corporation)Randy Katz (UC Berkeley)Remzi Seker (Embry-Riddle Aeronautical Univ.)Rich LeBlanc (Seattle University)Alfred Thompson (Microsoft, retired)Dave Reed (Creighton University)-2-

Table of ContentsChapter 1: Introduction . 10Overview of the CS2013 Process . 11Survey Input . 12High-level Themes . 13Knowledge Areas . 14Professional Practice . 15Exemplars of Curricula and Courses . 16Community Involvement and Website . 16Acknowledgments . 16References . 19Chapter 2: Principles . 20Chapter 3: Characteristics of Graduates . 23Chapter 4: Introduction to the Body of Knowledge. 27Knowledge Areas are Not Necessarily Courses (and Important Examples Thereof). 28Core Tier-1, Core Tier-2, Elective: What These Terms Mean, What is Required . 29Further Considerations in Designing a Curriculum . 32Organization of the Body of Knowledge . 32Curricular Hours . 32Courses. 33Guidance on Learning Outcomes . 33Overview of New Knowledge Areas . 34-3-

Chapter 5: Introductory Courses . 39Design Dimensions . 39Mapping to the Body of Knowledge. 45Chapter 6: Institutional Challenges . 46Localizing CS2013 . 46Actively Promoting Computer Science . 46Broadening Participation . 47Computer Science Across Campus . 48Computer Science Minors . 48Mathematics Requirements in Computer Science . 49Computing Resources . 51Maintaining a Flexible and Healthy Faculty. 51Teaching Faculty. 52Undergraduate Teaching Assistants. 53Online Education . 53References . 54Appendix A: The Body of Knowledge . 55Algorithms and Complexity (AL). 55Architecture and Organization (AR). 62Computational Science (CN) . 68Discrete Structures (DS) . 76Graphics and Visualization (GV) . 82Human-Computer Interaction (HCI) . 89Information Assurance and Security (IAS) . 97-4-

Information Management (IM) . 112Intelligent Systems (IS) . 121Networking and Communication (NC). 130Operating Systems (OS) . 135Platform-Based Development (PBD) . 142Parallel and Distributed Computing (PD) . 145Programming Languages (PL) . 155Software Development Fundamentals (SDF) . 167Software Engineering (SE) . 172Systems Fundamentals (SF). 186Social Issues and Professional Practice (SP) . 192Appendix B: Migrating to CS2013 . 204Outcomes . 204Changes in Knowledge Area Structure . 205Core Comparison . 206Conclusions . 211Appendix C: Course Exemplars. 228Course Exemplar Template . 232CSCI 140: Algorithms, Pomona College . 234COS 226: Algorithms and Data Structures, Princeton University. 237CS 256 Algorithm Design and Analysis, Williams College . 240CSE332: Data Abstractions, University of Washington . 243CS/ECE 552: Introduction to Computer Architecture, University of Wisconsin . 246CS150: Digital Components and Design, University of California, Berkeley . 249-5-

CC152: Computer Architecture and Engineering, University of California, Berkeley . 251eScience, University of North Carolina at Charlotte . 253COSC/MATH 201: Modeling and Simulation for the Sciences, Wofford College . 258MAT 267: Discrete Mathematics, Union County College . 262CS103: Mathematical Foundations of Computer Science, Stanford University . 265CS109: Probability Theory for Computer Scientists, Stanford University . 265CS 250 - Discrete Structures I, Portland Community College . 268CS 251 - Discrete Structures II, Portland Community College . 271CS 175 Computer Graphics, Harvard University . 274CS371: Computer Graphics, Williams College . 277Human Aspects of Computer Science, University of York . 280FIT3063 Human Computer Interaction, Monash University. 282CO328: Human Computer Interaction, University of Kent . 285Human Computer Interaction, University of Cambridge . 287Human-Computer Interaction, Stanford University . 289Human Information Processing (HIP), Open University Netherlands . 291Software and Interface Design, University of Cambridge . 293Computer Systems Security (CS-475), Lewis-Clark State College . 295CS430: Database Systems, Colorado State University. 298Technology, Ethics, and Global Society (CSE 262), Miami University . 301CS 662; Artificial Intelligence Programming, University of San Francisco . 304Intelligenza Artificiale ( Artificial Intelligence), Politecnico di Milano . 306CMSC 471, Introduction to Artificial Intelligence, U. of Maryland, Baltimore County . 308Introduction to Artificial Intelligence, Case Western Reserve University . 310-6-

CS188: Artificial Intelligence, University of California Berkeley . 313Introduction to Artificial Intelligence, University of Hartford . 315Computer Networks I, Case Western Reserve University . 318CS144: Introduction to Computer Networking, Stanford University . 320Computer Networks, Williams College . 323CSCI 432 Operating Systems, Williams College . 327CS 420, Operating Systems, Embry-Riddle Aeronautical University . 330CPSC 3380 Operating Systems, U. of Arkansas at Little Rock . 332582219 Operating Systems, University of Helsinki . 334RU STY1 Operating Systems, Reykjavik University . 336Parallel Programming Principle and Practice, Huazhong U. of Science and Technology . 339Introduction to Parallel Programming, Nizhni Novgorod State University . 342CS in Parallel (course modules on parallel computing) . 344CS453: Introduction to Compilers, Colorado State University . 348Csc 453: Translators and Systems Software, The University of Arizona . 351CSCI 434T: Compiler Design, Williams College . 353Compilers, Stanford University . 356Languages and Compilers, Utrecht University . 359COMP 412: Topics in Compiler Construction, Rice University . 361CSC 131: Principles of Programming Languages, Pomona College. 364CSCI 1730: Introduction to Programming Languages, Brown University . 367CSC 2/454: Programming Language Design and Implementation, University of Rochester 369CSE341: Programming Languages, University of Washington . 372CSCI 334: Principles of Programming Languages, Williams College . 374-7-

Programming Languages and Techniques I, University of Pennsylvania . 37715-312 Principles of Programming Languages, Carnegie Mellon University. 38015-150: Functional Programming, Carnegie Mellon University . 384CIS 133J: Java Programming I, Portland Community College . 388Introduction to Computer Science, Harvey Mudd College . 391CpSc 215: Software Development Foundations, Clemson University . 394CS1101: Introduction to Program Design, WPI . 397Data Abstraction and Data Structures, Miami University . 400Software Engineering Practices, Embry Riddle Aeronautical University . 402CS169: Software Engineering, University of California, Berkeley. 406SE-2890 Software Engineering Practices, Milwaukee School of Engineering . 409Software Development, Quinnipiac University . 411CS2200: Introduction to Systems and Networking, Georgia Institute of Technology . 414CS61C: Great Ideas in Computer Architecture, University of California, Berkeley. 418CSE333: Systems Programming, University of Washington . 420Ethics in Technology (IFSM304), University of Maryland . 423Technology Consulting in the Community, Carnegie Mellon University . 426Issues in Computing, Saint Xavier University. 430Ethics & the Information Age (CSI 194), Anne Arundel Community College . 433Professional Development Seminar, Northwest Missouri State University . 436The Digital Age, Grinnell College . 439COS 126: General Computer Science, Princeton University . 443CSCI 0190: Accelerated Introduction to Computer Science, Brown University . 447An Overview of the Two-Course Intro Sequence, Creighton University. 449-8-

CSC 221: Introduction to Programming, Creighton University . 450CSC 222: Object-Oriented Programming, Creighton University . 452An Overview of the Mulit-paradigm Three-course CS Introduction at Grinnell College . 454CSC 151: Functional problem solving, Grinnell College . 456CSC 161: Imperative Problem Solving and Data Structures, Grinnell College . 458CSC 207: Algorithms and Object-Oriented Design, Grinnell College .

Computer Science Curricula 2013 Curriculum Guidelines for Undergraduate Degree Programs in Computer Science December 20, 2013 The Joint Task Force on Computing Curricula

Related Documents:

This handbook supplement applies to students entering the fourth year of their degree in Computer Science, Mathematics & Computer Science or Computer Science . Undergraduate Course Handbook 1.2 Mathematics & Computer Science The Department of Computer Science offers the following joint degrees with the Department of Mathematics: BA .

Trends in the State of Computer Science in U.S. K-12 Schools 2016 Table of Contents Executive Summary 3 Introduction 5 Value of Computer Science in Schools 6 Opportunities to Learn Computer Science 9 Perceptions of Computer Science 14 Challenges and Opportunities for Computer Science in K-12

Introduction to Computer Science I Course Overview Computer Science 111 Boston University Welcome to CS 111! Computer science is not so much the science of computers as it is the science of solving pro

Computer Science Teachers Association, Cyber Innovation Center, and National Math and Science Initiative have answered the call by organizing states, districts, and the computer science education community to develop conceptual guidelines for computer science education. The K-12 Computer Science Framework was developed for -12 Computer Science

Minimum Criminal Intelligence Training Standards—October 2007 Page 3 Curricula Program developers are reminded that the minimum standards are not curricula. The standards represent topics for which curricula are developed. A suggested curriculum and sources of information are included for each standard.

Assessment Instrument – A tool used to evaluate, measure, and document the academic readiness, learning progress, skill acquisition, or educational needs of a student. Comprehension – The ability to extract, construct and apply meaning from text. Core Curricula – Core Curricula is a Comprehensive Tier 1 instruction curricula that includes: a.

ENDS content in their programs' curricula 34 4.7 Average values per region regarding ENDS importance to DH programs' curricula 35 . (DH) programs' curricula across the United States. Methods: The emails of 336 entry-level DH program directors were obtained from the American Dental Hygienists' Association (ADHA) website, and a web-based .

hardware IP re-use and consistency accross product families and higher level programming language makes the development job far more convenient when dealing with the STM32 families. HIGH-PERFORMANCE HIGH DEGREE OF INTEGRATION AND RICH CONNECTIVITY STM32H7: highest performance STM32 MCUs with advanced features including DSP and FPU instructions based on Cortex -M7 with 1 to 2 Mbytes of .