Syllabus, CMPSC 190J, Fall 2019
Basic Facts
- Course Web Site: http://ucsb-teaching-cs.github.io/f19/
-
Instructor: Richert Wang
- Lecture: F 2:00-3:15pm HFH 1132, ATTENDANCE REQUIRED.
- Discussion Section. 5 hours of discussion section, negotiated with your supervising instructor, in service to the course to which you are assigned. The actual time might not correspond to the one listed on GOLD. The time will be some combination of service during your courses discussion sections, and/or service during open labs hours. The open lab hours are shared across the four courses.
About this course
CMPSC 190J: Teaching Computer Science
This course is designed for outstanding students who intern as undergraduate mentors in lower division CS courses. Lecture/discussion surveys current research and best practices in CS pedagogy including student development theories, different pedagogical techniques, and methods for assessing learning. Students gain experience working one-on-one with students, fostering positive learning environments, and providing feedback on student work.
Students who successfully complete this course will earn 4 units towards their major field electives by serving as a mentor. They will also be eligible to apply for paid tutoring positions in lower division undergraduate courses in the following quarters.
Final Course Grades
Course grades will be calculated as follows.
- 40%: Tutoring performance in your assigned course
- 40%: Two projects (20% each) (one-on-one observations, end of term project)
- 20%: Homework assignments (average of plenary, and course specific)
Tutoring performance specific to your course
As a tutor, you are a role model to the students in the class. Therefore, your conduct should reflect the values that we would like to instill in our students. With this philosphy in mind, we expect you to be:
- Responsive: As a tutor you will be working with the instructor and the students. You are expected to respond to be respond appropriately and in a timely fashion
- Reliable: This means showing up ON TIME to your scheduled lab hours, keeping up with your commitments and deadlines
- Proactive and engaged: Observe the students in your lab sections and offer to assist them proactively. You must appear “available” to students during your hours and not immersed in your devices.
- Prepared: Read the lab instructions carefully before appearing for your sections, read the lecture slides
- Helpful: Demonstrate and understanding of what it means to be helpful as a tutor. Say I don’t know but seek help from the TA or instructor to make sure that the student received the help they need.
- Ethical: You must follow good ethics in your ineteraction with students and are required by university rules to report any cases of harrassment or inappropriate behavior to you instructor immediately
Your tutoring performance will be graded along the above dimensions based on observations made by the instructor. You may ask the instructor for feedback around Week 5 during their scheduled office hours or by setting up an appointment with them. This is optional.
For purposes of calculating a final course grade, a numeric value out of 100 will be assigned by your supervising instructor for this portion of your course performance.
190J Course components:
The course has three main components lectures, discussions and homeworks as described below.
-
Lectures will cover best practices and current research in CS pedagogy with the goal of providing students with the knowledge and skill set needed to be an effective mentor and teacher of Computer Science. Students will learn about how to assist other students in lab sections, learn about different pedagogical techniques and the ethics of being a mentor. These topics will be presented in the context of five specific undergraduate courses: CS8, CS16, CS24, CS32 and CS56.
-
In discussion sections and open lab hours students will apply the content covered in lectures to mentor students in the context of either CS8 or CS56. At the outset of the course, each student in CS190J will be assigned to one of these two courses where they will gain hands-on experience as “course mentors”. Students must attend one discussion section weekly that is co-located with the discussion section(s) of the course that they have been assigned to (either CS8 or CS56). See the following sections on “Mentoring in the context of CS8/56” for more information.
- There are three projects:
- An observation of one-on-one tutoring by your supervising instructor. (10%)
- Create homework / resource for specific course. (15%)
- A final paper summarizing your learning in the course. (15%)
Each of these is discussed in more detail below.
- Homeworks include reading and writing assignments, as well as the completion of specific tasks that will be specific to the course that students have been assigned to. Assignments include reading scholarly articles and writing summaries/reviews about them, writing reflections on tutoring activities, and providing feedback on student work. Other tasks may be assigned as homework by instructors of the courses that students are mentoring for. For more information, please see the following subsections.
Attendance/Participation
Attendance/participation at the weekly lecture sections, and assigned discussion/open hours sessions is required and mandatory for students enrolled in CS190J. CS190J students should notify their supervising instructor if it is necessary to miss a lecture for an unavoidable reason (e.g. illness, legitimate conflict with academic activity, family emergency.)
Homeworks/In-Class Activitites
Each homeworks or in-Class Activities (ICs) will be worth the same number of points (i.e. normalized to 100 points).
They will be of two types:
-
Plenary Homeworks/ICs are those that all CS190J mentors will complete, regardless of the course to which they are assigned.
At present, at least the following are planned:
- Writing a bio (with photo) for your courses website.
- Summarizing a research paper on CS Education
- Presenting a lightning talk on a topic in CS Education
- Reading short articles (e.g. from Teaching Tips, or other sources) and writing a short reaction paper.
-
Course specific homeworks may or may not be assigned by your supervising instructor. If they are present, they will be factored into your homework grade.
Mentoring in the context of CMPSC 8
CMPSC 8 is usually the first CS course that students take at UCSB. The mentors in CMPSC 8 will assist students with different levels of programming experience understand concepts that are foundational to CS and gain study habits and skills that will help them succeed in future CS courses. Mentors are central to creating a supportive learning environment and helping students engage with the material.
The mentors will assist students during the CS 8 lab sections, while they work on their programming assignments, provide feedback on student code and homework, and hold office hours to assist students. Mentors will also be involved with creating collaborative study guides and assisting with study sessions prior to exams.
Mentoring in the context of CMPSC 16/24
In CS 16 students are expected to solidify their foundations in programming by revisiting key programming constructs (functions, control structures - loops and conditionals etc) in the context of C++). By working in a compiled language, students also learn about basic computer organization, and the hardware software interface. By the end of the course, students are expected to be comfortable working in a unix environment and developing C-style programs in C++ (procedural rather than OO). Key new concepts include pointers, references and memory management in C++. Through practice, students should become more comfortable with debugging code independently, and using techniques to develop accurate programs. Finally, students will learn about git and intergrate it into their workflow.
In CS 24, students learn about OOP, data structures (linked-lists, trees, stacks, queues, heaps) and the mathematical framework (Big O) to analyze the complexity of their algorithms. Other skills students need to develop are working with github (this may be completely new to some), debuggers (gdb) and Makefiles.
As a CS16/24 mentor, your duties include:
- Preparing (very thoroughly) for each lab/assignement before your lab section
- Interacting one-on-one with students in section and open lab hours to assist with programming. Your role is to identify gaps in student understanding and help develop key faculties and techniques needed for programming. In your interactions you should strive to be supportive and non-judgemental.
- Tracking the progress of approximately 10 students in your mentor group and setting up a time to meet with them on a regular basis
- Providing feedback on student code (for your mentees only)
- Writing reports to communicate overall progress to your mentees. You are highly encouraged maintain logs on each student which will help you create these reports.
- Reflect on your tutoring style and adjusting it to better suite your audience (your mentees).
- Assist the TAs with study sessions prior to exams
Mentoring in the context of CMPSC 32
CS 32 will dive deeper into the topics covered in CS 16 and 24. The main emphasis will be on object oriented design, additional C++ features, and basic operating systems concepts. There will be weekly homework and lab assignments in the course where students may seek help from CS 32 mentors.
CS 32 mentors are expected to:
- Prepare for each lab assignment before your lab section
- Attend lab sections and assist TAs in helping students with their lab work
- Hold open lab hours where you can provide personal attention to students who seek additional assistance
- Browse Piazza and help answer questions posted by students
- Attend weekly mentor meetings to provide your observations and feedback on students’ experience and struggles