IT Education Standards

download IT Education Standards

of 98

Transcript of IT Education Standards

  • 7/30/2019 IT Education Standards

    1/98

    Information Technology

    Education Standards

    Jaime D.L. Caro, Ph.D.

    President, PSITEProject Leader, VCTI-IT

    Associate Professor of Computer Science, UP Diliman

  • 7/30/2019 IT Education Standards

    2/98

    2

    Based on reports from Association for Computing Machinery (ACM)

    Institute of Electrical and Electronics Engineers(IEEE) Computer Society

    International Federation for Information Processing(IFIP)

    Association for Information Systems (AIS)

    Association for Information Technology Professionals(AITP)

    We shall also look at policy guidelines from

    Philippines Commission on Higher Education

    (CHED)

  • 7/30/2019 IT Education Standards

    3/98

    3

    Standards? Standards for teaching IT

    Standards for professional development for

    IT educators

    Standards for assessment in IT education

    Standards for IT content

    Standards for IT education programs

    Standards for IT education systems

  • 7/30/2019 IT Education Standards

    4/98

    4

    IT Education Standards

    Recommendations versus Standards

    Minimum Standards UK benchmarking report recognized that establishing a

    minimum standard may discourage both faculty and studentsfrom pushing for excellence beyond that minimum.

    To avoid this danger, the UK report provides benchmarkingstandards to assess various levels of achievement.

    Standards for Achievement

    Benchmarking Standards Threshold Standard

    Modal Standard

    etc

  • 7/30/2019 IT Education Standards

    5/98

    5

    Threshold Standardrepresenting the minimum level

    Demonstrate a requisite understanding of the mainbody of knowledge and theories of computerscience/computing/information technology.

    Understand and apply essential concepts, principles,and practices in the context of well-definedscenarios, showing judgment in the selection andapplication of tools and techniques.

    Demonstrate the ability to work as an individualunder guidance and as a team member.

    Discuss applications based upon the body ofknowledge.

  • 7/30/2019 IT Education Standards

    6/98

    6

    Threshold Standardrepresenting the minimum level

    Produce work involving problem identification,analysis, design, and development of a softwaresystem, along with appropriate documentation. The

    work must show some problem-solving andevaluation skills drawing on some supportingevidence and demonstrate a requisite understandingof and appreciation for quality.

    Identify appropriate practices within a professional,legal, and ethical framework.

    Appreciate the need for continuing professionaldevelopment.

  • 7/30/2019 IT Education Standards

    7/987

    Modal Standardrepresenting the average level

    Demonstrate a sound understanding of the main

    areas of the body of knowledge and the theories of

    computer science, with an ability to exercise criticaljudgment across a range of issues.

    Critically analyze and apply a range of concepts,

    principles, and practices of the subject in the context

    of loosely specified problems, showing effectivejudgment in the selection and use of tools and

    techniques.

  • 7/30/2019 IT Education Standards

    8/988

    Modal Standardrepresenting the average level

    Produce work involving problem identification,

    analysis, design, and development of a softwaresystem, along with appropriate documentation.

    The work must show a range of problem

    solving and evaluation skills, draw uponsupporting evidence, and demonstrate a good

    understanding of the need for quality.

  • 7/30/2019 IT Education Standards

    9/989

    Modal Standardrepresenting the average level

    Demonstrate the ability to work as an individual with

    minimum guidance and as either a leader or member

    of a team. Follow appropriate practices within a professional,

    legal, and ethical framework.

    Identify mechanisms for continuing professional

    development and life-long learning.

    Explain a wide range of applications based upon the

    body of knowledge.

  • 7/30/2019 IT Education Standards

    10/9810

    Excellence Standardrepresenting the highest level

    Demonstrate creativity and innovativeness in

    application of the principles covered in the

    curriculum Contribute significantly to the analysis, design,

    and development of systems which are

    complex, and fit for purpose. Exercise critical evaluation and review of both

    their own work and the work of others.

  • 7/30/2019 IT Education Standards

    11/9811

    Excellence it is important for programs in computer science to

    provide opportunities for students of the highest

    caliber to achieve their full potential. programs in computer science should not limit those

    who will lead the development of the discipline in thefuture.

    human ingenuity and creativity have fostered the rapiddevelopment of the discipline of computer science inthe past

  • 7/30/2019 IT Education Standards

    12/9812

    Characteristics of IT/CS Graduates

    System-level perspective.

    Graduates must develop a high-level

    understanding of systems as a whole. This understanding must transcend the

    implementation details of the various components

    to encompass an appreciation for the structure of

    computer systems and the processes involved in

    their construction and analysis.

  • 7/30/2019 IT Education Standards

    13/9813

    Characteristics of IT/CS Graduates

    Appreciation of the interplay between theory

    and practice.

    A fundamental aspect of computer science/IT isthe balance between theory and practice and the

    essential link between them.

    Graduates must understand not only the theoretical

    underpinnings of the discipline but also how that

    theory influences practice.

  • 7/30/2019 IT Education Standards

    14/9814

    Characteristics of IT/CS Graduates

    Familiarity with common themes.

    In the course of an undergraduate program in

    computer science/IT, students will encountermany recurring themes such as abstraction,complexity, and evolutionary change.

    Graduates should recognize that these themes have

    broad application to the field of computer scienceand must not compartmentalize them as relevantonly to the domains in which they wereintroduced.

  • 7/30/2019 IT Education Standards

    15/9815

    Characteristics of IT/CS Graduates

    Significant project experience.

    To ensure that graduates can successfully apply

    the knowledge they have gained, all students incomputer science/IT programs must be involved in

    at least one substantial software project.

    Such a project demonstrates the practical

    application of principles learned in different

    courses and forces students to integrate material

    learned at different stages of the curriculum.

  • 7/30/2019 IT Education Standards

    16/9816

    Characteristics of IT/CS Graduates

    Adaptability.

    One of the essential characteristics of computer

    science over its relatively brief history has been anenormous pace of change.

    Graduates of a computer science program must

    possess a solid foundation that allows them to

    maintain their skills as the field evolves.

  • 7/30/2019 IT Education Standards

    17/9817

    Capabilities and Skills of IT/CS Graduates

    Cognitive capabilities relating to intellectual

    tasks specific to computer science/IT

    Practical skills relating to computer science/IT

    Additional transferable skills that may be

    developed in the context of computer

    science/IT but which are of a general natureand applicable in many other contexts as well

  • 7/30/2019 IT Education Standards

    18/9818

    Cognitive Capabilities and Skills

    Knowledge and understanding.

    Demonstrate knowledge and understanding of essentialfacts, concepts, principles, and theories relating to

    computer science and software applications. Modeling.

    Use such knowledge and understanding in the modelingand design of computer-based systems in a way that

    demonstrates comprehension of the tradeoff involved indesign choices.

    Requirements.

    Identify and analyze criteria and specifications appropriateto specific problems, and plan strategies for their solution.

  • 7/30/2019 IT Education Standards

    19/9819

    Cognitive Capabilities and Skills

    Critical evaluation and testing.

    Analyze the extent to which a computer-based systemmeets the criteria defined for its current use and future

    development. Methods and tools.

    Deploy appropriate theory, practices, and tools for thespecification, design, implementation, and evaluation of

    computer-based systems. Professional responsibility.

    Recognize and be guided by the social, professional, andethical issues involved in the use of computer technology.

  • 7/30/2019 IT Education Standards

    20/98

    20

    Practical Capabilities and Skills

    Design and implementation.

    Specify, design, and implement computer-based systems.

    Evaluation.

    Evaluate systems in terms of general quality attributes andpossible tradeoffs presented within the given problem.

    Information management.

    Apply the principles of effective information management,

    information organization, and information-retrieval skillsto information of various kinds, including text, images,sound, and video.

    Operation.

    Operate computing equipment and software systemseffectively.

  • 7/30/2019 IT Education Standards

    21/98

    21

    Practical Capabilities and Skills Human-computer interaction.

    Apply the principles of human-computer interaction to theevaluation and construction of a wide range of materialsincluding user interfaces, web pages, and multimedia

    systems. Risk assessment.

    Identify any risks or safety aspects that may be involved inthe operation of computing equipment within a given

    context. Tools.

    Deploy effectively the tools used for the construction anddocumentation of software, with particular emphasis onunderstanding the whole process involved in usingcomputers to solve practical problems.

  • 7/30/2019 IT Education Standards

    22/98

    22

    Additional Transferable Skills

    Communication.

    Make succinct presentations to a range of audiences about

    technical problems and their solutions.

    Teamwork.

    Be able to work effectively as a member of a development

    team.

    Numeracy. Understand and explain the quantitative dimensions of a

    problem.

  • 7/30/2019 IT Education Standards

    23/98

    23

    Additional Transferable Skills

    Self management.

    Manage one's own learning and development,

    including time management and organizationalskills

    Professional development.

    Keep abreast of current developments in thediscipline to continue one's own professional

    development.

  • 7/30/2019 IT Education Standards

    24/98

    24

    Coping With Change

    teaching methodology that emphasizes learning

    as opposed to teaching

    students continually being challenged to thinkindependently

    challenging and imaginative exercises that

    encourage student initiative sound framework with appropriate theory that

    ensures that the education is sustainable

  • 7/30/2019 IT Education Standards

    25/98

    25

    Coping With Change

    up to date equipment and teaching materials

    information resources and appropriate

    strategies for staying current in the field

    cooperative learning and the use of

    communication technologies to promote group

    interaction need for continuing professional development

    to promote lifelong learning

  • 7/30/2019 IT Education Standards

    26/98

    26

    Principles

    Computing is a broad field that extends well beyondthe boundaries of computer science.

    Computer science draws its foundations from a widevariety of disciplines.

    Development of a computer science curriculum mustbe sensitive to

    changes in technology,

    new developments in pedagogy, and

    the importance of lifelong learning.

    Curricula must include professional practice as an

    integral component.

  • 7/30/2019 IT Education Standards

    27/98

    27

    Computing Curricula 2001

    December 15, 2001

    Final Report of the Joint ACM/IEEE-CS Task Force

    on Computing Curricula joint undertaking of the Computer Society of the

    Institute for Electrical and Electronic Engineers

    (IEEE-CS) and the Association for Computing

    Machinery (ACM)

    Curricular guidelines and set of recommendations for

    undergraduate programs in computing

  • 7/30/2019 IT Education Standards

    28/98

    28

    IEEE-ACMComputing Curricula 2001

    http://www.computer.org/education/cc2001/fin

    al/index.htm

    Previous recommendations came out in 1965,

    1973, 1981, 1991, 2001

    Latest: December 15, 2001

    http://www.computer.org/education/cc2001/final/index.htmhttp://www.computer.org/education/cc2001/final/index.htmhttp://www.computer.org/education/cc2001/final/index.htmhttp://www.computer.org/education/cc2001/final/index.htm
  • 7/30/2019 IT Education Standards

    29/98

    29

    ACM-IEEE Computing Curricula

  • 7/30/2019 IT Education Standards

    30/98

    30

    CS Body of Knowledge

    DS. Discrete Structures SP. Social & Professional Issues

    PF. Programming Fundamentals NC. Net-Centric Computing

    AR. Architecture & Organization IS. Intelligent Systems

    AL. Algorithms & Complexity IM. Information Management

    SE. Software Engineering HC. Human-Computer Interaction

    PL. Programming Languages GV. Graphics & Visual Computing

    OS. Operating Systems CN. Computational Science

  • 7/30/2019 IT Education Standards

    31/98

    31

    Pedagogy Focus Groups

    PFG1. Introductory topics and courses

    PFG2. Supporting topics and courses

    PFG3. The computing core

    PFG4. Professional practices

    PFG5. Advanced study and undergraduate

    research

    PFG6. Computing across the curriculum

  • 7/30/2019 IT Education Standards

    32/98

    32

    Computing Curricula Topics

    14 Subject Areas

    132 topics divided between these 14 subject

    areas 64 out of 132 topics designated as core

  • 7/30/2019 IT Education Standards

    33/98

    33

    Core vs. Elective

    Core:

    Those topics required of all students in all CS degreeprograms

    Minimal, and is not a complete curriculum

    Must be supplemented by additional material

    May be taken as introductory, intermediate, or

    advanced course Elective:

    Topics that are not part of the core

  • 7/30/2019 IT Education Standards

    34/98

    34

    Discrete Structures (43 core hrs.)

    DS1. Functions, relations, and sets (6)

    DS2. Basic logic (10)

    DS3. Proof techniques (12)

    DS4. Basics of counting (5)

    DS5. Graphs and trees (4)

    DS6. Discrete probability (6)

  • 7/30/2019 IT Education Standards

    35/98

    35

    Programming Fundamentals (38)

    PF1. Fundamental programming constructs (9)

    PF2. Algorithms and problem-solving (6) PF3. Fundamental data structures (14)

    PF4. Recursion (5)

    PF5. Event-driven programming (4)

  • 7/30/2019 IT Education Standards

    36/98

    36

    Algorithms & Complexity (31)

    AL1. Basic algorithmic analysis (4)

    AL2. Algorithmic strategies (6)

    AL3. Fundamental computing algorithms (12)

    AL4. Distributed algorithms (3)

    AL5. Basic computability (6)

  • 7/30/2019 IT Education Standards

    37/98

    37

    Architecture & Organization (36)

    AR1. Digital logic and digital systems (6)

    AR2. Machine level representation of data (3)

    AR3. Assembly level machine organization (9) AR4. Memory system organization and

    architecture (5)

    AR5. Interfacing and communication (3)

    AR6. Functional organization (7)

    AR7. Multiprocessing and alternative architectures

    (3)

  • 7/30/2019 IT Education Standards

    38/98

    38

    Operating Systems (18)

    OS1. Overview of operating systems (2)

    OS2. Operating system principles (2)

    OS3. Concurrency (6)

    OS4. Scheduling and dispatch (3)

    OS5. Memory management (5)

  • 7/30/2019 IT Education Standards

    39/98

    39

    Net-Centric Computing (15)

    NC1. Introduction to net-centric computing (2)

    NC2. Communication and networking (7)

    NC3. Network security (3)

    NC4. The web as an example of client-server

    computing (3)

  • 7/30/2019 IT Education Standards

    40/98

    40

    Programming Languages (21)

    PL1. Overview of programming languages (2)

    PL2. Virtual machines (1)

    PL3. Introduction to language translation (2)

    PL4. Declarations and types (3)

    PL5. Abstraction mechanisms (3)

    PL6. Object-oriented programming (10)

  • 7/30/2019 IT Education Standards

    41/98

    41

    Human-Computer Interaction (8)

    HC1. Foundations of human-computerinteraction (6)

    HC2. Building a simple graphical user

    interface (2)

  • 7/30/2019 IT Education Standards

    42/98

    42

    Graphics & Visual Computing (3)

    GV1. Fundamental techniques in graphics (2)

    GV2. Graphic systems (1)

  • 7/30/2019 IT Education Standards

    43/98

    43

    Intelligent Systems (10)

    IS1. Fundamental issues in intelligent systems(1)

    IS2. Search and constraint satisfaction (5)

    IS3. Knowledge representation and reasoning (4)

  • 7/30/2019 IT Education Standards

    44/98

    44

    Information Management (10)

    IM1. Information models and systems (3)

    IM2. Database systems (3) IM3. Data modeling (4)

  • 7/30/2019 IT Education Standards

    45/98

    45

    Social & Prof Issues (16)

    SP1. History of computing (1)

    SP2. Social context of computing (3)

    SP3. Methods and tools of analysis (2) SP4. Professional and ethical responsibilities (3)

    SP5. Risks and liabilities of computer-based

    systems (2) SP6. Intellectual property (3)

    SP7. Privacy and civil liberties (2)

  • 7/30/2019 IT Education Standards

    46/98

    46

    Software Engineering (31)

    SE1. Software design (8)

    SE2. Using APIs (5)

    SE3. Software tools and environments (3) SE4. Software processes (2)

    SE5. Software requirements and specifications (4)

    SE6. Software validation (3)

    SE7. Software evolution (3)

    SE8. Software project management (3)

  • 7/30/2019 IT Education Standards

    47/98

    47

    Implementation Strategies

  • 7/30/2019 IT Education Standards

    48/98

    48

    Introductory Courses

    Implementation Strategies

    Programming first

    Imperative first Objects first

    Functional first

    Breadth first

    Algorithms first

    Hardware first

  • 7/30/2019 IT Education Standards

    49/98

    49

    Required Topics in Introductory Courses Functions, relations, and sets

    Basic logic

    Basics of counting

    Discrete probability Fundamental programming constructs

    Recursion

    Overview of programming languages

    Virtual machines Declarations and types

    Abstraction mechanisms

    History of computing

  • 7/30/2019 IT Education Standards

    50/98

    50

    Required Topics in Introductory Courses

    Functions, Relations, and Sets Minimum core coverage time: 6 hours

    Topics

    Functions (surjections, injections, inverses, composition)

    Relations (reflexivity, symmetry, transitivity, equivalence relations) Sets (Venn diagrams, complements, Cartesian products, power sets)

    Pigeonhole principle

    Cardinality and countability

    Learning objectives:1. Explain with examples the basic terminology of functions, relations, and sets.2. Perform the operations associated with sets, functions, and relations.

    3. Relate practical examples to the appropriate set, function, or relation model,and interpret the associated operations and terminology in context.

    4. Demonstrate basic counting principles, including uses of diagonalization andthe pigeonhole principle.

  • 7/30/2019 IT Education Standards

    51/98

    51

    Required Topics in Introductory Courses

    Basic Logic Minimum core coverage time: 10 hours Topics:

    Propositional logic; Logical connectives

    Truth tables

    Normal forms (conjunctive and disjunctive) Validity

    Predicate logic; Universal and existential quantification

    Modus ponens and modus tollens

    Limitations of predicate logic

    Learning objectives:1. Apply formal methods of symbolic propositional and predicate logic.

    2. Describe how formal tools of symbolic logic are used to model algorithms andreal-life situations.

    3. Use formal logic proofs and logical reasoning to solve problems such aspuzzles.

    4. Describe the importance and limitations of predicate logic.

  • 7/30/2019 IT Education Standards

    52/98

    52

    Required Topics in Introductory Courses

    Basic of Counting Minimum core coverage time: 5 hours Topics:

    Counting arguments

    Sum and product rule

    Inclusion-exclusion principle Arithmetic and geometric progressions

    Fibonacci numbers

    The pigeonhole principle

    Permutations and combinations

    Basic definitions Pascal's identity

    The binomial theorem

    Solving recurrence relations

    Common examples

    The Master theorem

  • 7/30/2019 IT Education Standards

    53/98

    53

    Required Topics in Introductory Courses

    Basic of Counting Minimum core coverage time: 5 hours Learning objectives:

    1. Compute permutations and combinations of a set, and

    interpret the meaning in the context of the particularapplication.

    2. State the definition of the Master theorem.

    3. Solve a variety of basic recurrence equations.4. Analyze a problem to create relevant recurrence

    equations or to identify important counting questions.

  • 7/30/2019 IT Education Standards

    54/98

    54

    Required Topics in Introductory Courses

    Discrete Probability Minimum core coverage time: 6 hours Topics:

    Finite probability space, probability measure, events

    Conditional probability, independence, Bayes' theorem

    Integer random variables, expectation

    Learning objectives:

    1. Calculate probabilities of events and expectations of randomvariables for elementary problems such as games of chance.

    2. Differentiate between dependent and independent events.3. Apply the binomial theorem to independent events and Bayes

    theorem to dependent events.

    4. Apply the tools of probability to solve problems such as theMonte Carlo method, the average case analysis of algorithms,

    and hashing.

  • 7/30/2019 IT Education Standards

    55/98

    55

    Required Topics in Introductory Courses

    Discrete Probability Minimum core coverage time: 6 hours Topics:

    Finite probability space, probability measure, events

    Conditional probability, independence, Bayes' theorem

    Integer random variables, expectation

    Learning objectives:

    1. Calculate probabilities of events and expectations of randomvariables for elementary problems such as games of chance.

    2. Differentiate between dependent and independent events.3. Apply the binomial theorem to independent events and Bayes

    theorem to dependent events.

    4. Apply the tools of probability to solve problems such as theMonte Carlo method, the average case analysis of algorithms,

    and hashing.

  • 7/30/2019 IT Education Standards

    56/98

    56

    Required Topics in Introductory Courses

    Fundamental Programming Constructs

    Minimum core coverage time: 9 hours

    Topics:

    Basic syntax and semantics of a higher-level language

    Variables, types, expressions, and assignment

    Simple I/O

    Conditional and iterative control structures Functions and parameter passing

    Structured decomposition

  • 7/30/2019 IT Education Standards

    57/98

    57

    Required Topics in Introductory Courses

    Fundamental Programming Constructs

    Learning objectives: Analyze and explain the behavior of simple programs involving the

    fundamental programming constructs covered by this unit.

    Modify and expand short programs that use standard conditional anditerative control structures and functions.

    Design, implement, test, and debug a program that uses each of thefollowing fundamental programming constructs: basic computation,simple I/O, standard conditional and iterative structures, and the

    definition of functions. Choose appropriate conditional and iteration constructs for a given

    programming task.

    Apply the techniques of structured (functional) decomposition to breaka program into smaller pieces.

    Describe the mechanics of parameter passing.

  • 7/30/2019 IT Education Standards

    58/98

    58

    Required Topics in Introductory Courses

    Recursion Minimum core coverage time: 5 hours Topics:

    The concept of recursion

    Recursive mathematical functions

    Simple recursive procedures

    Divide-and-conquer strategies

    Recursive backtracking

    Implementation of recursion

  • 7/30/2019 IT Education Standards

    59/98

    59

    Required Topics in Introductory Courses

    Recursion Minimum core coverage time: 5 hours Learning objectives:

    1. Describe the concept of recursion and give examples of its use.

    2. Identify the base case and the general case of a recursively defined

    problem.

    3. Compare iterative and recursive solutions for elementary problems

    such as factorial.

    4. Describe the divide-and-conquer approach.

    5. Implement, test, and debug simple recursive functions and procedures.6. Describe how recursion can be implemented using a stack.

    7. Discuss problems for which backtracking is an appropriate solution.

    8. Determine when a recursive solution is appropriate for a problem.

  • 7/30/2019 IT Education Standards

    60/98

    60

    Required Topics in Introductory Courses

    Overview of Programming Languages Minimum core coverage time: 2 hours Topics:

    History of programming languages

    Brief survey of programming paradigms Procedural languages

    Object-oriented languages

    Functional languages

    Declarative, non-algorithmic languages Scripting languages

    The effects of scale on programming methodology

  • 7/30/2019 IT Education Standards

    61/98

    61

    Required Topics in Introductory Courses

    Overview of Programming Languages Minimum core coverage time: 2 hours Learning objectives:

    1. Summarize the evolution of programming languages illustratinghow this history has led to the paradigms available today.

    2. Identify at least one distinguishing characteristic for each of theprogramming paradigms covered in this unit.

    3. Evaluate the tradeoffs between the different paradigms,considering such issues as space efficiency, time efficiency (of

    both the computer and the programmer), safety, and power ofexpression.

    4. Distinguish between programming-in-the-small andprogramming-in-the-large.

  • 7/30/2019 IT Education Standards

    62/98

    62

    Required Topics in Introductory Courses

    Virtual Machines Minimum core coverage time: 1 hour Topics:

    The concept of a virtual machine

    Hierarchy of virtual machines

    Intermediate languages Security issues arising from running code on an alien machine

    Learning objectives:1. Describe the importance and power of abstraction in the context of

    virtual machines.

    2. Explain the benefits of intermediate languages in the compilationprocess.

    3. Evaluate the tradeoffs in performance vs. portability.

    4. Explain how executable programs can breach computer systemsecurity by accessing disk files and memory.

  • 7/30/2019 IT Education Standards

    63/98

    63

    Required Topics in Introductory Courses

    Declarations and Types Minimum core coverage time: 3 hours Topics:

    The conception of types as a set of values with together with a set ofoperations

    Declaration models (binding, visibility, scope, and lifetime)

    Overview of type-checking

    Garbage collection

    Learning objectives:1. Explain the value of declaration models, especially with respect to programming-in-the-

    large.

    2. Identify and describe the properties of a variable such as its associated address, value,scope, persistence, and size.

    3. Discuss type incompatibility.

    4. Demonstrate different forms of binding, visibility, scoping, and lifetime management.

    5. Defend the importance of types and type-checking in providing abstraction and safety.

    6. Evaluate tradeoffs in lifetime management (reference counting vs. garbage collection).

  • 7/30/2019 IT Education Standards

    64/98

    64

    Required Topics in Introductory Courses

    Abstraction Mechanisms Minimum core coverage time: 3 hours Topics:

    Procedures, functions, and iterators as abstraction mechanisms

    Parameterization mechanisms (reference vs. value)

    Activation records and storage management Type parameters and parameterized types

    Modules in programming languages

    Learning objectives:1. Explain how abstraction mechanisms support the creation of reusable software

    components.2. Demonstrate the difference between call-by-value and call-by-reference

    parameter passing.

    3. Defend the importance of abstractions, especially with respect toprogramming-in-the-large.

    4. Describe how the computer system uses activation records to manage program

    modules and their data.

  • 7/30/2019 IT Education Standards

    65/98

    65

    Required Topics in Introductory Courses

    History of computing Minimum core coverage time: 1 hour Topics:

    Prehistory -- the world before 1946

    History of computer hardware, software, networking

    Pioneers of computing

    Learning objectives:

    1. List the contributions of several pioneers in the computing field.

    2. Compare daily life before and after the advent of personal computers

    and the Internet.3. Identify significant continuing trends in the history of the computing

    field.

  • 7/30/2019 IT Education Standards

    66/98

    66

    Other Topics in Introductory Courses Proof techniques:

    The structure of formal proofs;

    proof techniques: direct, counterexample, contraposition,

    contradiction; mathematical induction

    Algorithms and problem-solving:

    Problem-solving strategies;

    the role of algorithms in the problem-solving process; the concept and properties of algorithms; debugging

    strategies

  • 7/30/2019 IT Education Standards

    67/98

    67

    Other Topics in Introductory Courses Fundamental data structures:

    Primitive types; arrays; records;

    strings and string processing;

    data representation in memory;

    static, stack, and heap allocation;

    runtime storage management;

    pointers and references;

    linked structures

    Basic algorithmic analysis: Big O notation;

    standard complexity classes;

    empirical measurements of performance;

    time and space tradeoffs in algorithms

  • 7/30/2019 IT Education Standards

    68/98

    68

    Other Topics in Introductory Courses Fundamental computing algorithms:

    Simple numerical algorithms;

    sequential and binary search algorithms;

    quadratic and O(N log N) sorting algorithms;

    hashing;

    binary search trees

    Digital logic and digital systems: Logic gates;

    logic expressions

  • 7/30/2019 IT Education Standards

    69/98

    69

    Other Topics in Introductory Courses Object-oriented programming:

    Object-oriented design;

    encapsulation and information-hiding;

    separation of behavior and implementation; classes, subclasses, and inheritance;

    polymorphism;

    class hierarchies

    Software design:

    Fundamental design concepts and principles;

    object-oriented analysis and design;

    design for reuse

  • 7/30/2019 IT Education Standards

    70/98

    70

    Other Topics in Introductory Courses Using APIs:

    API programming;

    class browsers and related tools;

    programming by example;

    debugging in the API environment

    Software tools and environments: Programming environments;

    testing tools

    Software requirements and specifications: Importance of specification in the software process

    Software validation: Testing fundamentals;

    test case generation

  • 7/30/2019 IT Education Standards

    71/98

    71

    Intermediate Courses:

    Goal

    To present the fundamental ideas and enduring

    concepts of computer science that every studentmust learn to work successfully in the field. In

    doing so, these intermediate courses lay the

    foundation for more advanced work incomputer science.

  • 7/30/2019 IT Education Standards

    72/98

    72

    Intermediate Courses:

    Implementation Strategies Traditional approach in which each course

    addresses a single topic

    Compressed approach that organises courses

    around broader themes

    System-based approach

    Web-based approach that uses networking as its

    organizing principle

  • 7/30/2019 IT Education Standards

    73/98

    73

    Intermediate Courses:

    Topic-Based Approach CS210T. Algorithm Design and Analysis

    CS220T. Computer Architecture

    CS225T. Operating Systems CS230T. Net-centric Computing

    CS260T. Artificial Intelligence

    CS270T. Databases

    CS280T. Social and Professional Issues

    CS290T. Software Development

    CS490. Capstone Project

  • 7/30/2019 IT Education Standards

    74/98

    74

    Intermediate Courses:

    Compressed Approach CS210C. Algorithm Design and Analysis

    CS220C. Computer Architecture

    CS226C. Operating Systems and Networking

    CS262C. Information and Knowledge

    Management

    CS292C. Software Development and

    Professional Practice

  • 7/30/2019 IT Education Standards

    75/98

    75

    Intermediate Courses:

    Systems-Based Approach CS120. Introduction to Computer Organization CS210S. Algorithm Design and Analysis

    CS220S. Computer Architecture

    CS226S. Operating Systems and Networking CS240S. Programming Language Translation

    CS255S. Computer Graphics

    CS260S. Artificial Intelligence

    CS271S. Information Management

    CS291S. Software Development and SystemsProgramming

    CS490. Capstone Project

  • 7/30/2019 IT Education Standards

    76/98

    76

    Intermediate Courses:

    Web-Based Approach CS130. Introduction to the World-Wide Web

    CS210W. Algorithm Design and Analysis

    CS221W. Architecture and Operating Systems

    CS222W. Architectures for Networking and Communication

    CS230W. Net-centric Computing

    CS250W. Human-Computer Interaction

    CS255W. Computer Graphics CS261W. AI and Information

    CS292W. Software Development and Professional Practice

  • 7/30/2019 IT Education Standards

    77/98

    77

    General Requirements

    Mathematical rigor

    The scientific method

    Familiarity with applications Communications skills

    Working in teams

    The complementary curriculum

  • 7/30/2019 IT Education Standards

    78/98

    78

    Advanced Courses

    Advanced coursescourses whose content

    is substantially beyond the material of the

    core.

    Sample Curricula:

  • 7/30/2019 IT Education Standards

    79/98

    79

    Sample Curricula:

    Minimum Requirements Cover all 280 hours of core material in the CS body

    of knowledge

    Require sufficient advanced coursework to provide

    depth in at least one area of computer science Include an appropriate level of supporting

    mathematics

    Offer students exposure to "real world"

    professional skills such as research experience,teamwork, technical writing, and project

    development

  • 7/30/2019 IT Education Standards

    80/98

    80

    Thesis vs Final Project

    Thesis is research-oriented

    Thesis must have original contribution toknowledge.

    Project is development-oriented

    Project may be software development,information systems development, or webapplication development

  • 7/30/2019 IT Education Standards

    81/98

    81

    ACM Recommendation

    CS390. Capstone Project

    Course Description: Offers students the

    opportunity to integrate their knowledge of theundergraduate computer science curriculum by

    implementing a significant software system as

    part of a programming team.

    Prerequisites: CS261, CS262, or CS360

  • 7/30/2019 IT Education Standards

    82/98

    82

    ACM Syllabus:

    Using APIs

    Human-centered software evaluation

    Human-centered software development

    Graphical user-interface design

    Graphical user-interface programming

    Software requirements and specifications

    Software design

    Software validation

    Software project management

    Software tools and environments

    Effective team management

    Communications skills

  • 7/30/2019 IT Education Standards

    83/98

    83

    ACM Approach:

    This course is different in flavor and concept from most of the

    earlier courses in the curriculum in that it is focused primarily on

    a project.

    There may be lecturesparticularly if the earlier courses do notcover the full set of required units in the corebut the overall

    idea is that students should have a chance to apply all the skills

    they have learned in the curriculum toward the completion of a

    team project.

    Thus, this course has the effect of reinforcing concepts that have

    been learned earlier in a more theoretical way.

  • 7/30/2019 IT Education Standards

    84/98

    84

    UNESCO Informatics Curriculum

    Framework 2000 for HigherEducation

    http://www.ifip.or.at/pdf/ICF2001.pdf

  • 7/30/2019 IT Education Standards

    85/98

    85

    ACM

    The ACM Computing Classification

    System [1998 Version] http://www.acm.org/class/1998/homepage.

    html

  • 7/30/2019 IT Education Standards

    86/98

    86

    Association for Information Systems

    AIS is actively involved in the developmentand ongoing update of curriculum at both theundergraduate and graduate levels.

    IS97: Model Curriculum and Guidelines for

    Undergraduate Degree Programs inInformation Systems

    http://www.acm.org/education/curricula.html#IS97

    http://aisnet.org/Curriculum/index.htm

    http://www.acm.org/education/curricula.htmlhttp://www.acm.org/education/curricula.htmlhttp://aisnet.org/Curriculum/index.htmhttp://aisnet.org/Curriculum/index.htmhttp://www.acm.org/education/curricula.htmlhttp://www.acm.org/education/curricula.html
  • 7/30/2019 IT Education Standards

    87/98

    87

    Association for Information Systems

    IS 2002: Model Curriculum and Guidelines forUndergraduate Degree Programs in InformationSystems

    IS 2002 is the latest undergraduate model curriculum andis the first update of the curriculum effort of the AIS, ACMand AITP societies since IS'97.

    IS'97 has been widely accepted and has become thebasis for accreditation of undergraduate programs of

    information systems. This report has been endorsed by seven organizations

    including SIM.

    http://aisnet.org/Curriculum/index.htm

    http://aisnet.org/Curriculum/index.htmhttp://aisnet.org/Curriculum/index.htm
  • 7/30/2019 IT Education Standards

    88/98

    88

    Association for Information Systems

    MSIS 2000 Model Graduate Curriculum

    MSIS is a Model Curriculum and

    Guidelines for Graduate Degree Programsin Information Systems.

    It was jointly prepared by representatives

    from AIS and ACM. http://aisnet.org/Curriculum/index.htm

    http://aisnet.org/Curriculum/index.htmhttp://aisnet.org/Curriculum/index.htm
  • 7/30/2019 IT Education Standards

    89/98

    89

    ECDL Foundation

    The European Computer DrivingLicence standard of competence [since

    1997] the ECDL is an internationally recognized

    standard of competence certifying that the

    holder has the knowledge and skills

    needed to use the most common computer

    applications efficiently and productively

    http://www.ecdl.com/

    http://www.ecdl.com/http://www.ecdl.com/
  • 7/30/2019 IT Education Standards

    90/98

    90

    National Science Foundation (NSF)

    ISCC99: An Information Systems-Centric Curriculum 99. Program

    Guidelines for Educating the NextGeneration of Information SystemsSpecialists, in Collaboration withIndustry

    http://www.iscc.unomaha.edu/TableOfContents

    .html

    http://www.iscc.unomaha.edu/TableOfContents.htmlhttp://www.iscc.unomaha.edu/TableOfContents.htmlhttp://www.iscc.unomaha.edu/TableOfContents.htmlhttp://www.iscc.unomaha.edu/TableOfContents.html
  • 7/30/2019 IT Education Standards

    91/98

    91

    IEEE Computer Society/ACM

    Computing Curriculum -

    Computer Engineering

    Computing Curricula Volume on ComputerEngineering: Computer Engineering Body of

    Knowledge

    http://www.eng.auburn.edu/ece/CCCE/

    http://www.eng.auburn.edu/ece/CCCE/http://www.eng.auburn.edu/ece/CCCE/
  • 7/30/2019 IT Education Standards

    92/98

    92

    National Science Education Standards

    http://books.nap.edu/html/nses/html/index.html

    outlines what students need to know, understand, andbe able to do to be scientifically literate at different

    levels. describes an educational system in which all students

    demonstrate high levels of performance, in whichteachers are empowered to make the decisions

    essential for effective learning, in which interlockingcommunities of teachers and students are focused onlearning science, and in which supportive educationalprograms and systems nurture achievement.

    http://books.nap.edu/html/nses/html/index.htmlhttp://books.nap.edu/html/nses/html/index.html
  • 7/30/2019 IT Education Standards

    93/98

    93

    CHED

    CHED MEMORANDUM ORDER (CMO)NO. 25 ; Series of 2001

    SUBJECT : Revised Policies AndStandards For Information TechnologyEducation (ITE)

    http://www.ched.gov.ph/policies/CMO2001/C

    MO_25.doc

    http://www.ched.gov.ph/policies/CMO2001/CMO_25.dochttp://www.ched.gov.ph/policies/CMO2001/CMO_25.dochttp://www.ched.gov.ph/policies/CMO2001/CMO_25.dochttp://www.ched.gov.ph/policies/CMO2001/CMO_25.doc
  • 7/30/2019 IT Education Standards

    94/98

    94

    CHED Basic Core Topics

    Basic Non-ITE Core Topics

    Communication skills;

    Technical writing / presentation skills; Algebra /trigonometry;

    Values Formation;

    Probability / Statistics

  • 7/30/2019 IT Education Standards

    95/98

    95

    CHED Basic Core Topics

    Basic ITE Core Topics Professional Ethics / Code of Ethics for the Filipino

    IT Professional;

    Mathematical Logic / Discrete mathematics; Problem Solving;

    Quality Processes;

    Fundamentals of programming / program logic

    formulation;

    Introduction to the Internet / Web-basedprogramming;

    IT Fundamentals;

    Computer Systems Organization

  • 7/30/2019 IT Education Standards

    96/98

    96

    Implementation Factors and Strategies

    There is no single ideal model curriculum.

    need for a considerable degree of freedom forimplementation

    account for specific needs, restrictions, preconditionsand circumstantial opportunities, such as

    cultural and societal setting

    institutional size and scope

    specific disciplines and educational programs offered bythe educational institution

    available budget, personnel and resources

    background and potential of the faculty

  • 7/30/2019 IT Education Standards

    97/98

    97

    Implementation Factors and Strategies

    culture among faculty and management

    management commitment to informatics

    willingness to change

    student-body characteristics

    access to informatics expertise in general

    access to collaborative or transfer options with other

    institutes

    access to collaborative or transfer options with industry

    level of informatics penetration in the region.

  • 7/30/2019 IT Education Standards

    98/98

    Curriculum Review

    review whole curriculum and compare withrecommendations, guidelines and policies.

    compare curricula with actual teaching practice

    review each syllabi identify problems areas

    concentrate faculty development efforts on problemareas

    Ensure that introductory courses are taught properly

    prioritize core courses over electives