Syllabus, CMPSC 190J, Winter 2018

Basic Facts

Course Number
of CS190J mentors
Supervising
Instructor
Official
Discussion Time
on GOLD
Actual
Course Discussion Section
Times
Open Lab Times  
CMPSC 8 3 Richert Wang Wed 9am - 11:50am Wed 9am-12:50pm Mon 1-8pm, Thu noon-1:30pm, Fri 1-5pm  
CMPSC 16 6 Diba Mirza Tues 9am - 11:50am Tue 9am-12:50pm Mon 1-8pm, Fri 1-5pm  
CMPSC 24 5 Diba Mirza Mon 9am - 11:50am Mon 9am-12:50pm Mon 5-8, Thu noon-3pm, Fri 1-5pm  
CMPSC 56 4 Phill Conrad Thu 4pm - 6:50pm Thu 4pm-6:50pm Mon 1-8pm, Thu noon-3pm, Fri 1-5pm  

The three instructors and the 18 students in the course should coordinate their scheduled open labs times so as to ensure that there is coverage across the courses, and that the lab does not become overcrowded.

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.

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:

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.

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:

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, hold office hours to assist students 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 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:

  1. Preparing (very thoroughly) for each lab/assignement before your lab section
  2. 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.
  3. Tracking the progress of approximately 10 students in your mentor group and setting up a time to meet with them on a regular basis
  4. Providing feedback on student code (for your mentees only)
  5. Writing biweekly reports to communicate overall progress to your mentees. You are highly encouraged maintain logs on each student which will help you create these reports.
  6. Reflect on your tutoring style and adjusting it to better suite your audience (your mentees).
  7. Assist the TAs with study sessions prior to exams
  8. Service roles—helping with improving curriculum, proctoring exams, and other occasionally administrative tasks, etc. where called upon

Mentoring in the context of CMPSC 56

Each CS56 mentor will be typically assigned to 4 pairs of students (8 students) that will be their “team”. They will also be associated with a team of fellow mentors under the supervision of a lead. The lead will be either a TA, or an experience mentor assisted by a Reader. (Only TAs and Readers have final grading responsibilties.)

The chief duties of CS56 mentors are:

  1. Curation of six legacy project repos.
    • This involves getting the repos ready for students to work on them. Details here and here
    • Anticipated schedule: two by Thursday of week 2, two more by Monday of week 3, two more by Monday of week 4.
  2. Going through labs before class (when available) to help uncover possible problem areas.
  3. Helping students with labs during discussion sections and open labs hours
  4. Providing code review of certain specific labs, legacy code project issues
  5. General guidance of the legacy code project process, meaning helping to guide the design of the software towards good practices, and helping students manage the issues, pull requests, etc.
  6. Serving as role models and sources of information and inspiration for the students in the course
  7. Service roles—helping with improving curriculum, proctoring exams, and other occasionally administrative tasks, etc. where called upon.

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