Syllabus, CMPSC 190J, Fall 2017

Basic Facts

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.

Course components:

The course has three main components lectures, discussions and homeworks as described below.

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 review student work on exams. Mentors will also be involved with creating collaborative study guides and assisting with study sessions prior to exams.

Mentoring in the context of CMPSC 56

As you may recall, when you were enrolled in Phill Conrad’s CMPSC 56 course, there were a number of CS undergrads that served as “mentors” for the course, particularly for the legacy code projects. These students help with curating the legacy code projects, reviewing student code, approving “issues” (bug fixes, feature proposals), and in many other aspects of the course.

It is a great opportunity to build on your understanding of Java, Design Patterns, git/github, software testing, and other materials from CS56, as well as developing communication and leadership skills in a software development context.

More information on mentor responsibilities for CS56 can be found at these links: