11
Self Study Report – Computer Science Page 74 Computer Science undergraduate students have access to undergraduate teaching, and general computing facilities in three buildings. Two large classrooms are housed in the Davis Centre, which hold about 250 students each. The Mathematics and Computer building (MC) houses approximately 30 undergraduate classrooms and computer technology labs. In fall 2011, Mathematics 3 opened. This facility provides 90,000 gross square feet of research and teaching space primarily for Statistics and Actuarial Science department and the Mathematics Business programs. 5. TEACHING 5.1 Learning Objectives Undergraduate I. Lists of outcomes As explained earlier, we have chosen to regard our undergraduate programs as being divided into four main categories: BCS regular, BCS co-op, BMath(CS) regular, and BMath(CS) co-op. These four programs can be seen as variations around a central Computer Science core. With that in mind, we enumerate outcomes in the following categories: 1. Shared outcomes (S1–S7): outcomes that are shared between all CS programs. 2. BCS outcomes (B1–B2): outcomes specific to the BCS degree (regular or co-op). 3. BMath(CS) outcomes (M1–M2): outcomes specific to the BMath(CS) degree (regular or co-op). 4. Co-op outcomes (C1–C2): outcomes related to co-op degrees (BCS or BMath(CS)). The requirements for co-op degrees are strict supersets of the requirements for the corresponding regular degrees, and so there is no need to define a set of “Regular outcomes”. The tables below present sets of outcomes in these categories. Each outcome is given a code as above and a title. The outcome is then broken down into a few key components that characterize it. Shared outcomes Code Title Details S1 Program Design and Development Students can write computer programs of small or moderate size from scratch. Students can extend complex programs written by others, or write programs that depend on large external libraries. Students demonstrate the ability to write programs

Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

  • Upload
    hanhi

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 74

Computer Science undergraduate students have access to undergraduate teaching, and general computing facilities in three buildings. Two large classrooms are housed in the Davis Centre, which hold about 250 students each. The Mathematics and Computer building (MC) houses approximately 30 undergraduate classrooms and computer technology labs. In fall 2011, Mathematics 3 opened. This facility provides 90,000 gross square feet of research and teaching space primarily for Statistics and Actuarial Science department and the Mathematics Business programs. 5. TEACHING 5.1 Learning Objectives Undergraduate I. Lists of outcomes As explained earlier, we have chosen to regard our undergraduate programs as being divided into four main categories: BCS regular, BCS co-op, BMath(CS) regular, and BMath(CS) co-op. These four programs can be seen as variations around a central Computer Science core. With that in mind, we enumerate outcomes in the following categories:

1. Shared outcomes (S1–S7): outcomes that are shared between all CS programs. 2. BCS outcomes (B1–B2): outcomes specific to the BCS degree (regular or co-op). 3. BMath(CS) outcomes (M1–M2): outcomes specific to the BMath(CS) degree

(regular or co-op). 4. Co-op outcomes (C1–C2): outcomes related to co-op degrees (BCS or

BMath(CS)). The requirements for co-op degrees are strict supersets of the requirements for the corresponding regular degrees, and so there is no need to define a set of “Regular outcomes”.

The tables below present sets of outcomes in these categories. Each outcome is given a code as above and a title. The outcome is then broken down into a few key components that characterize it.

Shared outcomes Code Title Details

S1 Program Design and Development

• Students can write computer programs of small or moderate size from scratch.

• Students can extend complex programs written by others, or write programs that depend on large external libraries.

• Students demonstrate the ability to write programs

Page 2: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 75

in multiple languages and multiple paradigms (notably imperative, functional, and object-oriented).

S2 Programming

Methodology and Practice

• Students can read a specification for a computer program and design and/or implement a working prototype.

• Students are able to choose appropriate data structures, algorithms, languages, and libraries to solve a variety of programming problems.

• Students can select and use suitable editors, development environments, and tools as part of the programming process.

• Students can verify the correctness of a program via testing, and to correct faults via debugging.

S3 Computer

Systems and Applications

• Students recognize the organization of a computer system and the main functional units of a computer.

• Students can explain the main components of modern operating systems, and can construct simple implementations of those components.

• Students demonstrate awareness of some of the most important application areas of computer science.

S4 Communication

Skills • Students can create programs with comprehensible

comments that allow source code to be understood by others.

• Students can author specifications and other documentation for programs that explain how to run and/or maintain them.

• Students can produce other prose of a technical or non-technical nature.

S5 Breadth of Knowledge Outside of CS

• Students receive a broad exposure to human knowledge outside of computer science, including the humanities, social sciences, and pure and applied sciences.

Page 3: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 76

• Students demonstrate intermediate depth in at least one topic outside of computer science.

S6 Advocacy and Stewardship

• Students demonstrate awareness of the history of computer science, its important people, events, ideas, and artifacts.

• Students demonstrate awareness of the state-of-the-art in computer science, and can speculate on its future evolution.

• Students demonstrate awareness and concern for the role computer science plays in society.

• Students acquire and retain a passion for the discipline of computer science.

S7 Personal and Disciplinary Limitations

• Students demonstrate awareness of the fundamental, theoretical limits of computation, and of the practical limits of contemporary computers.

• Students can identify the limitations of their own knowledge.

BCS outcomes

Code Title Details B1 Mathematical

Foundations (BCS)

• Students demonstrate awareness of core concepts in pre-calculus, linear algebra, differential and integral calculus, probability, statistics, combinatorial enumeration, and graph theory.

• Students demonstrate awareness of mathematical logic, and the role it plays as a foundational component of computer science.

• Students are able to write moderate-sized proofs of simple mathematical statements, using standard proof techniques including induction.

B2 Core Algorithms and Data Structures (BCS)

• Students can analyze the asymptotic complexity of algorithms, and recall or determine the complexity classes of common algorithms.

• Students can recognize and use important classes

Page 4: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 77

of algorithms: divide-and-conquer, greedy, and dynamic programming.

• Students demonstrate awareness of fundamental trade-offs in algorithm design, including time versus space, and basic lower bounds.

BMath(CS) outcomes

Code Title Details M1 Mathematical

Foundations (BMath(CS))

• Students demonstrate awareness of core concepts in pre-calculus, linear algebra, differential, integral and multivariable calculus, probability, statistics, combinatorial enumeration, and graph theory.

• Students demonstrate awareness of mathematical logic, and the role it plays as a foundational component of computer science.

• Students are able to write moderate-sized proofs of simple mathematical statements, using standard proof techniques including induction.

• Students recognize the core abstract machines in theoretical computer science (automata and Turing machines), and the languages to which they apply.

M2 Core Algorithms and Data Structures (BMath(CS))

• Students can analyze the asymptotic complexity of algorithms, and recall or determine the complexity classes of common algorithms.

• Students can recognize and use important classes of algorithms: divide-and-conquer, greedy, and dynamic programming.

• Students demonstrate awareness of fundamental trade-offs in algorithm design, including time versus space, and basic lower bounds.

• Students demonstrate competence with core concepts of numerical analysis, including the approximate representation of numbers in computer hardware.

Co-op outcomes

Page 5: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 78

Code Title Details C1 Professionalism • Students behave ethically, professionally and

responsibly with co-workers, supervisors, clients, and users.

• Students recognize signs of harassment and other unethical behaviour, and seek to resolve issues when they arise.

C2 Workplace

Skills • Students are able to prepare résumés, apply for

jobs, and comport themselves appropriately in interviews.

• Students can respond to criticism and praise on the workplace.

Based on the tables above, we can define the following sets of outcomes for the four program combinations under consideration:

1. BCS regular: S1–S7, B1, B2 2. BCS co-op: S1-S7, B1, B2, C1, C2 3. BMath(CS) regular: S1–S7, M1, M2 4. BMath(CS) co-op: S1–S7, M1, M2, C1, C2

II. Mapping from UDLEs to outcomes The Ontario Council of Academic Vice Presidents (OCAV) defines a standardized set of degree-level expectations for undergraduate programs, known as UDLEs. In the table below, we show how each of the UDLEs is satisfied by one or more of our program outcomes. Degree-level expectation

Details Relevant outcomes

1. Depth and Breadth of Knowledge

a) a developed knowledge and critical understanding of the key concepts, methodologies, current advances, theoretical approaches and assumptions in a discipline overall, as well as in a specialized area of a discipline.

b) a developed understanding of many of the major fields in a discipline, including, where appropriate, from an interdisciplinary

S1, S2, S3, S5, B1, B2, M1, M2

Page 6: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 79

perspective, and how the fields may intersect with fields in related disciplines.

c) a developed ability to: i) gather, review, evaluate and interpret information; and ii) compare the merits of alternate hypotheses or creative options, relevant to one or more of the major fields in a discipline.

d) a developed, detailed knowledge of and experience in research in an area of the discipline.

e) developed critical thinking and analytical skills inside and outside the discipline.

f) the ability to apply learning from one or more areas outside the discipline.

2. Knowledge of Methodologies

… an understanding of methods of enquiry or creative activity, or both, in their primary area of study that enables the student to: • evaluate the appropriateness of different

approaches to solving problems using well established ideas and techniques;

• devise and sustain arguments or solve problems using these methods; and

• describe and comment upon particular aspects of current research or equivalent advanced scholarship.

S2, B2, M2

3. Application of knowledge

a) the ability to review, present and critically evaluate qualitative and quantitative information to: 1. develop lines of argument; 2. make sound judgments in accordance

with the major theories, concepts and methods of the subject(s) of study;

3. apply underlying concepts, principles, and techniques of analysis, both within and outside the discipline;

4. where appropriate use this knowledge in the creative process; and

b) the ability to use a range of established

S1, S3, B1, M1

Page 7: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 80

techniques to: 1. initiate and undertake critical evaluation

of arguments, assumptions, abstract concepts and information;

2. propose solutions; 3. frame appropriate questions for the

purpose of solving a problem; 4. solve a problem or create a new work;

and c) the ability to make critical use of scholarly

reviews and primary sources.

4. Communication Skills

… the ability to communicate information, arguments, and analyses accurately and reliably, orally and in writing to a range of audiences.

S4

5. Awareness of Limits of Knowledge

… an understanding of the limits to their own knowledge and ability, and an appreciation of the uncertainty, ambiguity and limits to knowledge and how this might influence analyses and interpretations.

S7

6. Autonomy and Professional Capacity

a) qualities and transferable skills necessary for further study, employment, community involvement and other activities requiring: • the exercise of initiative, personal

responsibility and accountability in both personal and group contexts;

• working effectively with others; • decision-making in complex contexts;

b) the ability to manage their own learning in changing circumstances, both within and outside the discipline and to select an appropriate program of further study; and

c) behaviour consistent with academic integrity and social responsibility.

S6, C1, C2

7. Experiential Learning

articulate their learning from experiential or applied opportunities.

C2

8. Diversity demonstrate an understanding of the intellectual, social, cultural, and political diversity of the world in which we live.

S5, S6

Page 8: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 81

III. Mapping from curriculum to outcomes We present three curriculum maps: one for the BCS regular degree, one for the BMath(CS) regular degree, and one for extra requirements of co-op degrees. Each map shows the various requirements of the program, together with the outcomes satisfied by those requirements. In this context, outcomes are grouped by intensity into three categories: a curriculum requirement can introduce the material in an outcome, reinforce that material, or cause students to master the material. Curriculum map for the BCS regular degree Curriculum requirement Relevant outcomes

CS 1 (CS 115 or CS 135 or CS 145) Introduce: S1, S2, S4, S6, S7, B2 CS 2 (CS 136 or CS 146) Introduce: S4

Reinforce: S1, S2, B2 Calculus 1 (MATH 127 or MATH 137 or MATH 147)

Introduce: B1

Calculus 2 (MATH 128 or MATH 138 or MATH 148)

Reinforce: B1

Algebra 1 (MATH 135 or MATH 145) Introduce: B1 Algebra 2 (MATH 136 or MATH 146) Introduce: B1 First-year English writing skills requirement Introduce: S4 Discrete (MATH 239 or MATH 249) Reinforce: B1 Probability (STAT 230 or STAT 240) Reinforce: B1 Data structures and Data Management (CS 240)

Introduce: S1, S7 Reinforce: B1, B2

Foundations of Sequential Programs (CS 241) Introduce: S3 Reinforce: S1, S2

Logic and Computation (CS 245) Introduce: S4, S7 Reinforce: B1

Computer Organization and Design (CS 251) Introduce: S3 Reinforce: B1

Object-Oriented Software Development (CS 246)

Reinforce: S1, S2

Algorithms (CS 341) Reinforce: B2, S7 Operating Systems (CS 350) Reinforce: S3, S4

Master: S1 Fourth-year systems and SE courses Reinforce: S1, S2

Master: S3 Fourth-year applications courses Introduce: S6

Reinforce: S1, S2 Master: S3

Fourth-year mathematical foundations of CS courses

Reinforce: S4, S7 Master: B2

Humanities electives Reinforce: S5 Social science electives Reinforce: S5 Pure science electives Reinforce: S5 Pure and applied science electives Reinforce: S5 Depth requirement Reinforce: S5

Page 9: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 82

Curriculum map for the BMath(CS) regular degree For reference, I place an asterisk next to the requirements that are different relative to the BCS. Curriculum requirement Relevant outcomes

CS 1 (CS 115 or CS 135 or CS 145) Introduce: S1, S2, S4, S6, S7, M2 CS 2 (CS 136 or CS 146) Introduce: S4

Reinforce: S1, S2, M2 Calculus 1 (MATH 127 or MATH 137 or MATH 147)

Introduce: M1

Calculus 2 (MATH 128 or MATH 138 or MATH 148)

Reinforce: M1

* Calculus 3 (MATH 237 or MATH 247) Master: M1 Algebra 1 (MATH 135 or MATH 145) Introduce: M1 Algebra 2 (MATH 136 or MATH 146) Introduce: M1 First-year English writing skills requirement Introduce: S4 Discrete (MATH 239 or MATH 249) Reinforce: M1 Probability (STAT 230 or STAT 240) Reinforce: M1 Data structures and Data Management (CS 240)

Introduce: S1, S7 Reinforce: M1, M2

Foundations of Sequential Programs (CS 241) Introduce: S3 Reinforce: S1, S2

Logic and Computation (CS 245) Introduce: S4, S7 Reinforce: M1

Computer Organization and Design (CS 251) Introduce: S3 Reinforce: M1

Object-Oriented Software Development (CS 246)

Reinforce: S1, S2

Algorithms (CS 341) Reinforce: M2, S7 Operating Systems (CS 350) Reinforce: S3, S4

Master: S1 * Theory of Computing (CS 360 or CS 365) Reinforce: M1

Master: M2 * Numerical Analysis (CS 370 or CS 371) Reinforce: S1, M1, M2 Fourth-year systems and SE courses Reinforce: S1, S2

Master: S3 Fourth-year applications courses Introduce: S6

Reinforce: S1, S2 Master: S3

Fourth-year mathematical foundations of CS courses

Reinforce: S4, S7 Master: M2

Humanities electives Reinforce: S5 Social science electives Reinforce: S5 Pure science electives Reinforce: S5 Pure and applied science electives Reinforce: S5 Depth requirement Reinforce: S5

Curriculum map for the co-op degrees To obtain the complete curriculum maps for the BCS co-op and BMath(CS) co-op, add the following table to the corresponding regular degrees.

Page 10: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 83

Curriculum requirement Relevant outcomes

Work terms Reinforce: S1, S2, S4, S6, S7, C1, C2 Work term reports Reinforce: S4, C2 Professional Development Courses Reinforce: S4, S6, S7, C1, C2

Finally, we summarize our curriculum map with a cross-reference chart that shows the relationship between requirements and outcomes. Individual outcomes are marked with I (introduce), R (reinforce), and M (master). BCS Cross reference Requirement S1 S2 S3 S4 S5 S6 S7 B1 B2 CS 1 (CS 115 or CS 135 or CS 145) I I I I I I CS 2 (CS 136 or CS 146) R R I R Calculus 1 (MATH 127 or MATH 137 or MATH 147)

I

Calculus 2 (MATH 128 or MATH 138 or MATH 148)

R

Algebra 1 (MATH 135 or MATH 145) I Algebra 2 (MATH 136 or MATH 146) I First-year English writing skills requirement

I

Discrete (MATH 239 or MATH 249) R Probability (STAT 230 or STAT 240) R Data structures and Data Management (CS 240)

I I R R

Foundations of Sequential Programs (CS 241)

R R I

Logic and Computation (CS 245) I I R Computer Organization and Design (CS 251)

I R

Object-Oriented Software Development (CS 246)

R R

Algorithms (CS 341) R R Operating Systems (CS 350) M R R Fourth-year systems and SE courses R R M Fourth-year applications courses R R M I Fourth-year mathematical foundations of CS courses

R R M

Humanities electives S5 Social science electives S5 Pure science electives S5 Pure and applied science electives S5 Depth requirement S5

BMath(CS) Cross reference Requirement S1 S2 S3 S4 S5 S6 S7 M1 M2 CS 1 (CS 115 or CS 135 or CS 145) I I I I I I CS 2 (CS 136 or CS 146) R R I R Calculus 1 (MATH 127 or MATH 137 or I

Page 11: Self Study Report – Computer Science · Self Study Report – Computer Science Page 74 ... Object-Oriented Software Development (CS 246) Reinforce: S1, S2 Algorithms (CS 341) Reinforce:

Self Study Report – Computer Science

Page 84

MATH 147) Calculus 2 (MATH 128 or MATH 138 or MATH 148)

R

Calculus 3 (MATH 237 or MATH 247) M Algebra 1 (MATH 135 or MATH 145) I Algebra 2 (MATH 136 or MATH 146) I First-year English writing skills requirement

I

Discrete (MATH 239 or MATH 249) R Probability (STAT 230 or STAT 240) R Data structures and Data Management (CS 240)

I I R R

Foundations of Sequential Programs (CS 241)

R R I

Logic and Computation (CS 245) I I R Computer Organization and Design (CS 251)

I R

Object-Oriented Software Development (CS 246)

R R

Algorithms (CS 341) R R Operating Systems (CS 350) M R R Theory of Computing (CS 360 or CS 365)

R M

Numerical Analysis (CS 370 or CS 371) R R R Fourth-year systems and SE courses R R M Fourth-year applications courses R R M I Fourth-year mathematical foundations of CS courses

R R M

Humanities electives S5 Social science electives S5 Pure science electives S5 Pure and applied science electives S5 Depth requirement S5

Co-op Cross reference Requirement S1 S2 S3 S4 S5 S6 S7 C1 C2 Work terms R R R R R R R Work term reports R R Professional Development Courses R R R R R

Graduate The school went through a consultative process to develop a set of learning outcomes for the graduate program. These are as follows: Master’s level outcomes