Computer Science Foundations

SEEK CMP.cf

SEEK: Software Engineering Education Knowledge: what every SE graduate must know, from the ACM/IEEE Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering

CMP: Computing Essentials, one of the ten knowledge areas that make up the SEEK

cf: Computer Science Foundations, a Knowledge Unit within the CMP Knowledge Area containing 11 topics, listed below. The cf knowledge unit is intended to be covered in 120 "lecture hours", basically the equivalent of three courses. Consequently, we will examine all topics within the entire knowledge unit, but will not comprehensively cover all of them. We will focus most on programming, algorithms, and problem solving.

Topics

CMP.cf.1 Programming fundamentals (control and data, typing, recursion)

CMP.cf.2 Algorithms, data structures, and complexity

CMP.cf.3 Problem solving techniques

CMP.cf.4 Abstraction, use and support for (encapsulation, hierarchy, etc.)

CMP.cf.5 Computer organization

CMP.cf.6 Basic user human factors (I/O, error messages, and robustness)

CMP.cf.7 Basic developer human factors (comments, structure, and readability)

CMP.cf.8 Programming language basics

CMP.cf.9 Operating system basics

CMP.cf.10 Database fundamentals

CMP.cf.11 Network protocols

SEEK tells us the topics but does not have much information about them. For that, we can reference SWEBOK, the Software Engineering Body of Knowledge. SEEK is a subset of SWEBOK. The SEEK Computer Science Foundations topics are found in the SWEBOK Computer Foundations knowledge area (KA), chapter 13.