====== Methods of Teaching Computer Science ====== EDPS 49100 / CS 49000 (crn: 53491) Spring 2011 \\ Lecture: Tue 1:30-3:20, BCHM 102 \\ Lab: Thu 1:30-3:20, LWSN B160 **Details:** * {{:mt2011:methods_flyer.pdf|Course Flyer}} * {{:mt2011:methods_overview.pdf|Course Overview}} **Instructors:** * [[http://www.edst.purdue.edu/aman | Aman Yadav]], amanyadav (at) purdue.edu * [[http://www.cs.purdue.edu/people/jtk/ | Tim Korb]], [[jtk@purdue.edu]] **Prerequisites (if missing any of these prerequisites, ask for consent of the instructor):** * EDPS 235 (Learning and Motivation) * EDCI 270 (Introduction to Educational Technology and Computing) * Programming ability and experience in two languages * e.g.: CS 158 or 159, 177 or 180, 240, 251 * Discrete mathematics course * e.g.: CS 182 or MATH 375 ====== Course Rationale ====== This course will address methods for teaching computer science at the high school level. It is being developed as part of a new [[:license|computer science supplemental licensure program]], which will draw on existing course work in computer science to provide secondary teaching majors with the content background and experiences to be effective high school computer science teachers. The target audience for this course is secondary teaching majors, particularly those in the STEM disciplines. We hope to attract ten to fifteen students per year to complete the course. Students will take the course as a final step before a student teaching experience; therefore, a 40000-level course number designation is appropriate. ====== Goals and Objectives ====== The main purpose of this course is to provide students with pedagogical and content knowledge and experiences to be effective computer science teachers in high school. Upon completing this course students will be able to: * Use the national high school computer science model curriculum; analyze potential learning difficulties and adjust teaching for students with different needs. * Implement a variety of methods in the teaching process, including meaningful learning, collaborative learning, inquiry learning, etc. * Develop constructivist, authentic activities to engage students to learn computer science; create a supportive and active learning environment. * Develop various types of assessments (e.g., formative and summative, authentic, and performance assessments) and corresponding rubrics to evaluate student learning. * Develop detailed lesson plans for selective topics, consisting of goals and objectives, descriptions of activities and tasks, teaching methods, teaching aids, and evaluation. * Effectively manage a computer science classroom and laboratory. * Establish a bank of resources for teaching computer science in high school, including possible materials, lab assignments, class activities, and websites. * Actively participate in professional communities such as CSTA and ACM. Keep up with research in the area of computer science education, and apply it to the teaching process. ====== Class Schedule ====== NOTE: The order of the labs is approximate, as it depends on the scheduling of CS 177 and classroom observations. ^ Week ^ Week of ^ Lecture and Readings ^ Lab ^ Lead ^ | 1 |Jan 10| [[mt2011:week1|Course Introduction and State of CS Education in High Schools]] | CS Unplugged | Yadav/Korb | | 2 |Jan 17| [[mt2011:week2|General Pedagogical Skills and Lesson Planning]] | Designing the "First CS Lesson" | Yadav | | 3 |Jan 24| [[mt2011:week3|Apprentice-Based and Problem-Based Learning]] | Recycling Lesson (using NYT) | Yadav | | 4 |Jan 31| [[mt2011:week4|Pre-AP Curricula and Challenges of CS Teaching]] | Teaching Conditionals/Loops | Korb/Yadav | | 5 |Feb 07| [[mt2011:week5|Teaching Programming: Execution Flow, Variables, Memory]] | Prepare for CS 177 and HS Visits | Korb | | 6 |Feb 14| [[mt2011:week6|Using Kinesthetic Activities, Role Playing, and Algorithm Visualization]] | Teaching with Toys/Manipulatives | Korb/Yadav | | 7 |Feb 21| [[mt2011:week7|Teaching Debugging and Unit Testing; Arrays and Sorting]] | Interactive Debugging (Eclipse) | Korb | | 8 |Feb 28| [[mt2011:week8|Teaching Tough Topics: Dynamic Data Structures and Recursion]] | Scratch (including BYOB) | Korb | | 9 |Mar 07| [[mt2011:week9|Collaborative Learning and Assessment]] | CS 177 Participation #1 | Yadav | | -- |Mar 14| Spring Break | | | | 10 |Mar 21| [[mt2011:week10|Tools to Manage CS Team Projects and Assessment]] | CS 177 Participation #2 | Korb | | 11 |Mar 28| [[mt2011:week11|Running an APCS Course: Scope, Case Study, and Exam]] | GridWorld (AP workshop) | Korb | | 12 |Apr 04| Objects First and Other OOP Approaches | Classroom Observation #1 | Korb | | 13 |Apr 11| Professional Organizations and Resources | Classroom Observation #2 | Korb| | 14 |Apr 18| Microteaching & Peer Feedback (Part 1) | Alice (story telling) | Yadav | | 15 |Apr 25| Microteaching & Peer Feedback (Part 2) | Greenfoot (simulations) | Yadav | Abbreviations: * BCK: Bennedsen, Caspersen, and Kolling, [[http://www.springer.com/computer/general+issues/book/978-3-540-77933-9|Reflections on the Teaching of Programming]], 2008. * CACM: Communications of the ACM (journal). * CSU: Bell, Witten, and Fellows, [[http://csunplugged.org|Computer Science Unplugged]], 2006. * SIGCSE: ACM Special Interest Group on Computer Science Education (conference). **Tentative Textbook and Reading Materials** * Reflections on the Teaching of Programming, Jens Bennedsen, Michael Caspersen, and Michael Kolling, Springer Verlag, LNCS 4821, 2008. * Computer Science Unplugged, Tim Bell, Ian Witten, and Mike Fellows, 2006. Available at http://www.csunplugged.org/. * Guide to Computer Science Education, Orit Hazzan, Tami Lapidot and Noa Ragonis, Springer Verlag, to be published in 2011. * Selected papers from the proceedings of the annual ACM Technical Symposium on Computer Science Education, http://www.sigcse.org/. ====== Homeworks & Projects ====== ===== Lesson Plan ===== As prospective teachers, you will develop a unit and lesson plan for teaching one of the Computer Science topics, which you can choose in consultation with the instructor. Your lesson plan should include enough detail so any computer science teacher is able to teach it. Your lesson plan should also include following components [100 points] ==== Laboratory Activity ==== Laboratories are an important aspect of computer science classroom. As a teacher, you will have to develop the lab activity as well manage the students. You will develop a laboratory activity appropriate to your lesson plan. ==== Assessment ==== Assessment of student learning is one of the most important activities for a teacher. You will also develop an assessment plan (quiz, test, etc) to accompany your lesson plan that assesses student learning. ==== Micro Teaching ==== You will present an aspect of your lesson plan and "teach" it to your peers in the class. [50 points] ==== Field Experience ==== Students enrolled in this course will be required to complete a field experience component. The field experience involves two main components. [100 points] === Lab TA === As a part of this class, you will be required to assist as a lab TA for CS 177. ==== Classroom Observations ==== You will be required to observe local high-school computer science classrooms during the course of the semester. The schedule will be finalized with each individual student to avoid scheduling conflicts. ==== Learning Journals ==== You must keep a journal of your reactions to the assigned readings and class activities. This will provide you with an opportunity to reflect upon your learning in the class. You have to complete at least six written responses to the readings. You can choose which of the weeks you would like to do your written response. The written journal is an opportunity for you to engage the ideas explored in this course thoughtfully. [50 points] ==== Reflection Journals ==== Reflection is an important aspect of teaching to provide you an insight into your teaching and how it is going. You will also keep a journal of your reflections on your experiences as a lab TA, classroom visits, and micro teaching experience. [50 points] ==== Course Participation ==== Contribute in class (10%), both the right quantity and quality. Contribute out of class (10%) as well (using email and the Google group discussion). A good rule of thumb is to have something substantive to say at least once a week. [50 points] ===== Course Policies ===== __Attend the class__. You are expected to attend each class session. This is critical as one cannot simply "get the notes" in a class where the interaction among peers and material is key. __Come to class prepared__. We expect you to have read and thought about the required readings; that is, read them with questions, ideas, and conjectures in mind. Good general questions are: What is the author saying? Where does what the author is saying fit into his or her argument? What would it be like to believe what the author is saying? What parts of the paper or chapter were puzzling, confusing, surprising? __Participate in the class__. We will have small group and whole-class discussions of reading assignments, and other topics that may arise. The success or failure of each discussion depends in large part on your participation. We expect each of you will be able to contribute something to our discussions and will do so regularly. You are smart, capable people and the topics, readings, and assignments are designed to engage your interest and experiences. __Students with disabilities__. If you have a disability which requires some special accommodation, please let us know within the first two weeks of the semester to discuss the appropriateness of the instructor’s methods in this class or any other accommodation you may need. __Academic Honesty/Plagiarism__. We will uphold Purdue's policies on academic integrity (see "Student Code of Conduct" available at http://www.purdue.edu/usp/acad_policies/). Specifically, all assignments are to be done individually with no collaboration or assistance from any one including the Internet, unless explicitly permitted by the instructor. Violations will be reported to the Dean of Students and result in zero points for that assignment. __Grading Criteria__. Your course grade will be converted into percentage by dividing your points by the total number of points possible (400 points) and the following grading scale will be used: 90-100 A; 80-89 B; 70-79 C; 60-69 D; <60 F. ===== Internal Course Materials ===== You must have a student account on this wiki to see [[mt2011p:start|these pages]].