CPSC 490: Topics and Methods in Computer Science Education
A student directed seminar in 2010W2 at the University of British Columbia.
Elizabeth Patitsas, course coordinator
email: patitsas at cs.ubc.ca; lab: ICCS 216
Steve Wolfman, faculty sponsor
email: wolf at cs.ubc.ca; office: ICCS 239
Time and registration
MWF 3-4 PM
Location: Mondays and Wednesdays in Frank Forward 519; Fridays in ICCS 238
Registration is available through this form. Two spots are still available in the course as of 05/jan/2010.
Teaching is a subject that we as students develop strong feelings on based on our own experiences -- but how can we go from our own convictions to something more objective and productive? In this seminar, students will explore the CS education literature and the quantitative and qualitative methods for analyzing teaching. Furthermore, students will critically and constructively evaluate their own teaching and learning abilities, including teaching and then reflectively analyzing a guest lecture in a CS course.
Prerequisites: none, although preference may be given to students with TAing or other prior teaching experience in CS. It is expected that students will have a basic CS background.
Credits: 3 credits. The course counts a fourth-year CPSC course, therefore eligible for upper-level CPSC discipline credit as well as science credit in general.
Classes will come in three varieties:
Monday classes are demonstration days: in these classes, students will present solutions to computer science exercises they have created, and receive feedback on them; later in the term, as students arrange to give guest lectures in other CS courses, these classes will evolve into practice sessions for these.
Wednesday classes are flexible: on these days, we will cover things that don't fit into the Monday or Friday blocks. Examples of what we will do are: picking topics for the term, panels with CS educators, a couple of sessions of a "mock curriculum committee", little field trips to other CS classes for observational sampling practice, and discussions of ethics in teaching. Depending on class size, the demonstration days may also spill over into these classes.
Friday classes coincide with the Computer Science Education Reading Group. On these days, students will present and discuss papers from the CS literature on pre-arranged topics such as curriculum paradigms, plagiarism, and pair programming. As we are teaming these times up with the CS Ed Reading Group, the class will be joined by a number of faculty members in the field, as well as anybody else interested in the papers that week.
For more detail, see the schedule page.
About student directed seminars
From the Learning Commons website: "The Student Directed Seminars Program is a student-driven program that puts you in charge of your education. [...] this program allows senior undergraduate students to initiate and coordinate small, collaborative, group learning experiences. [...It is] an upper level 3 credit course. [...] The minimum enrollment of each class is eight, the maximum fifteen. [...] Participants, as members of a self-directed group, also have a high degree of control over their own learning experience. Their learning is enhanced through a small class size of highly motivated students, mutually enthusiastic about the course subject. Classes are discussion based, but involve in depth projects, [and] presentations[.]"
As this is a student directed seminar, students will have a say in a number of aspects of the course. The selection of Reading Group topics, scheduling of demonstrations, and Wednesday activities will largely be chosen by the class, with final say of the course coordinator. Sample topics and schedules will be provided by the course coordinator to facilitate this process, and must adhere to the core curriculum for the course (see below). A final mark breakdown and schedule for the term will be posted once these have been agreed upon by the class in early January.
With the powers that come from selecting, presenting, and assessing most of the coursework, students will be held to a high standard for each. Students will be held responsible for selecting and presenting high-quality work, giving useful feedback to classmates, and fair grading of peers.
There will be three main projects in the term: a literature review on the students' choice of topic, a research project involving observational sampling, and a guest lecture in another computer science course. Other smaller forms of assessment will come from presenting and reviewing demonstrations on the Mondays, presenting and reviewing papers for the Reading Group, and mini-projects for Wednesday classes like curriculum proposals for the "mock curriculum committee." For detailed information, see the grading page.
- To gain awareness of different teaching methods, curricula, and theories of computer science education, particularly pedagogical issues which are discipline-specific (such as difficult concepts for students, issues of retention and gender imbalance, and the relative novelty of the field.)
- To critically assess the teaching and learning they experience as a student, with a realization of the real-world constraints on educators
- To critically and constructively evaluate one’s own teaching methods
- To reflect on the learning process, allowing one to improve one’s own learning abilities
The course is intended to cover three broad units: education research methods, teaching methods and practice, and teaching and learning in academia. Each of the units has a core set of topics that must be covered in the course, but there there is room allocated in the curriculum to cover additional topics of students' choice. The extent to which each of these topics will be covered is dependent on student interest; at the least, 30 minutes will be spent on each topic. Topics may be covered through a variety of methods, from paper selections in the reading group to student presentations in class.
Unit one: Teaching and learning in higher education
- The Canadian university and college systems
- Relationships between education, research and industry; co-operative education
- Retention issues in computer science
- Minority, disability, cultural, and gender issues in computer science education
- Curriculum creation and development processes
- Curriculum paradigms
- Students' choice of topics (examples: advising, textbooks, TA issues, k-12 computer science education, educational technologies, history of CS education, accreditation issues, testing and assessment issues, plagiarism, teacher training, teacher evaluations)
Unit two: Teaching methods and practice
- Practice at exercise creation and solution writing for high school, 100-level, and 200-level computer science
- Practice at presenting exercises and demonstrations for high school, 100-level, and 200-level computer science
- Arrangement, planning, practice and implementation of a guest lecture for a university computer science course
- Instructional theory (Constructivism, cognitive load theory, outcome-based education, standards-based education, Bloom's taxonomy)
- Instructional methods (Pair programming, Socratic method, rote memorization, scaffolding, inquiry learning, active learning, problem-based learning, discovery learning)
- Ethics in teaching
- Students' choice of topics in teaching methods (examples: online/distance learning methods, grading methods, item response theory, expansion of any of the above topics)
Unit three: Education research methods
- Observational research design (events and states, selecting individuals, duration and scope)
- Observational sampling methods (ad libitum, sociometric matrix, focal animal, behavioural, sequence, one-zero, and scan sampling)
- Observational study design (case-control, cohort, longitudinal, ecological, cross-sectional, case study; "in vitro" vs "in situ")
- Survey methods
- Interview methods
- Ethical and epistemological considerations in educational research
- Students' choice of topics in education research (examples: education research conferences, statistical methods, qualitative methods, educational psychology)