Computer Science Program
Department of Mathematics,
Statistics, and Computer Science
Old Music Hall
St. Olaf College
Northfield, MN 55057-1098
(507) 646-3113
(507) 646-3116 FAX
cs@stolaf.edu
Richard Brown, Director
cs-director@stolaf.edu
Donna Brakke,
Academic Administrative Assistant
brakke@stolaf.edu
|
|
|
CS Body of Knowledge (from CC2001)
The following list is adapted from
Table
5.1
of CC2001
(Computing Curriculum 2001
, the joint curricular recommendations of the Computer Science
professional societies (ACM-IEEE/CS Task Force on the Curriculum).
The boldface headings are titles of knowledge areas that
frequently appear in CS at the undergraduate
level.
The
bulleted list items are "knowledge units" of topics for undergraduate
study.
-
The parenthesized recommended minimum hours (described as
"core hours" in
CC2001) represent the number of class hours per each knowledge unit
that the committee recommends for an undergraduate major.
Annotations of the form
"-- CS1"
means that the indicated course(s) in St. Olaf's CS major include(s)
some or all of
the material listed for a particular "knowledge unit" in the list.
- DS. Discrete Structures (43 recommended minimum hours)
- DS1. Functions, relations, and sets (6) -- MFC
- DS2. Basic logic (10) -- MFC
- DS3. Proof techniques (12) -- MFC
- DS4. Basics of counting (5) -- MFC
- DS5. Graphs and trees (4) -- MFC
- DS6. Discrete probability (6) -- MFC
- PF. Programming Fundamentals (38 recommended minimum hours)
- PF1. Fundamental programming constructs (9) -- CS1
- PF2. Algorithms and problem-solving (6) -- CS1
- PF3. Fundamental data structures (14) -- CS1
- PF4. Recursion (5) -- CS1
- PF5. Event-driven programming (4) -- CSA
- AL. Algorithms and Complexity (31 recommended minimum hours)
- AL1. Basic algorithmic analysis (4) -- ADS
- AL2. Algorithmic strategies (6) -- ADS
- AL3. Fundamental computing algorithms (12) -- ADS
- AL4. Distributed algorithms (3) -- PA , CSA
- AL5. Basic computability (6) -- TC , MFC
- AL6. The complexity classes P and NP (0) -- TC
- AL7. Automata theory (0) -- TC
- AL8. Advanced algorithmic analysis (0) -- ADS
- AL9. Cryptographic algorithms (0) -- TC
- AL10. Geometric algorithms (0)
- AL11. Parallel algorithms (0) -- PA ,
- AR. Architecture and Organization (36 recommended minimum hours)
- AR1. Digital logic and digital systems (6) -- HD
- AR2. Machine level representation of data (3) -- PA , HD
- AR3. Assembly level machine organization (9) -- HD
- AR4. Memory system organization and architecture (5) -- HD
- AR5. Interfacing and communication (3) -- HD
- AR6. Functional organization (7) -- HD
- AR7. Multiprocessing and alternative architectures (3) -- PA , HD
- AR8. Performance enhancements (0) -- HD
- AR9. Architecture for networks and distributed systems (0) -- PA , HD
- OS. Operating Systems (18 recommended minimum hours)
- OS1. Overview of operating systems (2) -- OS
- OS2. Operating system principles (2) -- OS
- OS3. Concurrency (6) -- PA , CSA , OS
- OS4. Scheduling and dispatch (3) -- CSA , OS
- OS5. Memory management (5) -- SD , OS
- OS6. Device management (0) -- OS
- OS7. Security and protection (0) -- OS
- OS8. File systems (0) -- OS
- OS9. Real-time and embedded systems (0)
- OS10. Fault tolerance (0)
- OS11. System performance evaluation (0)
- OS12. Scripting (0) -- OS
- NC. Net-Centric Computing (15 recommended minimum hours)
- NC1. Introduction to net-centric computing (2) -- PA , CSA
- NC2. Communication and networking (7) -- CSA
- NC3. Network security (3) -- CSA
- NC4. The web as an example of client-server computing (3) -- CSA
- NC5. Building web applications (0) -- ATP
- NC6. Network management (0) -- NET
- NC7. Compression and decompression (0) -- ADS
- NC8. Multimedia data technologies (0)
- NC9. Wireless and mobile computing (0)
- PL. Programming Languages (21 recommended minimum hours)
- PL1. Overview of programming languages (2) -- PL
- PL2. Virtual machines (1) -- HD
- PL3. Introduction to language translation (2) -- PL
- PL4. Declarations and types (3) -- PL
- PL5. Abstraction mechanisms (3) -- PL
- PL6. Object-oriented programming (10) -- SD
- PL7. Functional programming (0) -- CS1
- PL8. Language translation systems (0) -- PL
- PL9. Type systems (0) -- PL
- PL10. Programming language semantics (0) -- PL
- PL11. Programming language design (0) -- PL
- HC. Human-Computer Interaction (8 recommended minimum hours)
- HC1. Foundations of human-computer interaction (6) -- ESD
- HC2. Building a simple graphical user interface (2) -- CSA
- HC3. Human-centered software evaluation (0)
- HC4. Human-centered software development (0)
- HC5. Graphical user-interface design (0)
- HC6. Graphical user-interface programming (0) -- ATP
- HC7. HCI aspects of multimedia systems (0)
- HC8. HCI aspects of collaboration and communication (0)
- GV. Graphics and Visual Computing (3 recommended minimum hours)
- GV1. Fundamental techniques in graphics (2) -- CSA
- GV2. Graphic systems (1) -- CSA
- GV3. Graphic communication (0)
- GV4. Geometric modeling (0) -- CG
- GV5. Basic rendering (0) -- CG
- GV6. Advanced rendering (0) -- CG
- GV7. Advanced techniques (0) -- CG
- GV8. Computer animation (0)
- GV9. Visualization (0)
- GV10. Virtual reality (0)
- GV11. Computer vision (0)
- IS. Intelligent Systems (10 recommended minimum hours)
- IS1. Fundamental issues in intelligent systems (1) -- LP
- IS2. Search and constraint satisfaction (5) -- LP
- IS3. Knowledge representation and reasoning (4) -- LP
- IS4. Advanced search (0) -- LP
- IS5. Advanced knowledge representation and reasoning (0) -- LP
- IS6. Agents (0)
- IS7. Natural language processing (0)
- IS8. Machine learning and neural networks (0)
- IS9. AI planning systems (0)
- IS10. Robotics (0)
- IM. Information Management (10 recommended minimum hours)
- IM1. Information models and systems (3) -- CSA
- IM2. Database systems (3) -- CSA
- IM3. Data modeling (4) -- CSA
- IM4. Relational databases (0) -- DB
- IM5. Database query languages (0) -- DB
- IM6. Relational database design (0) -- DB
- IM7. Transaction processing (0) -- DB
- IM8. Distributed databases (0)
- IM9. Physical database design (0) -- DB
- IM10. Data mining (0)
- IM11. Information storage and retrieval (0)
- IM12. Hypertext and hypermedia (0) -- CSA
- IM13. Multimedia information and systems (0)
- IM14. Digital libraries (0)
- SP. Social and Professional Issues (16 recommended minimum hours)
- SP1. History of computing (1) -- ESD
- SP2. Social context of computing (3) -- ESD
- SP3. Methods and tools of analysis (2) -- ESD , SD
- SP4. Professional and ethical responsibilities (3) -- ESD
- SP5. Risks and liabilities of computer-based systems (2) -- ESD
- SP6. Intellectual property (3) -- ESD
- SP7. Privacy and civil liberties (2) -- ESD
- SP8. Computer crime (0) -- ESD
- SP9. Economic issues in computing (0) -- ESD
- SP10. Philosophical frameworks (0)
- SE. Software Engineering (31 recommended minimum hours)
- SE1. Software design (8) -- SD
- SE2. Using APIs (5) -- CSA
- SE3. Software tools and environments (3) -- SD
- SE4. Software processes (2) -- SD
- SE5. Software requirements and specifications (4) -- SD
- SE6. Software validation (3) -- CSA
- SE7. Software evolution (3) -- SD
- SE8. Software project management (3) -- SD
- SE9. Component-based computing (0)
- SE10. Formal methods (0) -- SD , CS1
- SE11. Software reliability (0)
- SE12. Specialized systems development (0) -- PA ,
- CN. Computational Science and Numerical Methods (0 recommended minimum hours)
- CN1. Numerical analysis (0) -- PA ,
- CN2. Operations research (0)
- CN3. Modeling and simulation (0)
- CN4. High-performance computing (0) -- PA ,
|
|
Feedback
|
We'd love to hear from you: inquiries,
corrections, broken links, comments, suggestions---whatever! Send
e-mail to cs@stolaf.edu. |
|
|
|
|
|
|
| |
|
|