CSCI 5123 -- Proposed New Course

Wed Apr 12 12:20:06 2017

Approvals Received:
on 4/12/17
by Mary Freppert
Approvals Pending: College/Dean  > Provost > Catalog
Effective Status:
Effective Term:
1179 - Fall 2017
CSCI 5123
UMNTC - Twin Cities/Rochester
UMNTC - Twin Cities
TIOT - College of Science and Engineering
11108 - Computer Science & Eng


Course Title Short:
Recommender Systems
Course Title Long:
Recommender Systems
Max-Min Credits for Course:
3.0 to 3.0 credit(s)
Catalog Description:
An overview of recommender systems, including content-based and collaborative algorithms for recommendation, programming of recommender systems, and evaluation and metrics for recommender systems. prereq: Java programming and 2033 and 3081, or instructor consent.
Print in Catalog?:
CCE Catalog Description:
Grading Basis:
Topics Course:
Honors Course:
Online Course:
Freshman Seminar:
Is any portion of this course taught outside of the United States?:
Community Engaged Learning (CEL): None
Instructor Contact Hours:
3.0 hours per week
Course Typically Offered:
Fall Odd Year
Component 1:
Auto Enroll Course:
Academic Progress Units:
3.0 credit(s) (Not allowed to bypass limits.)
Financial Aid Progress Units:
3.0 credit(s) (Not allowed to bypass limits.)
Repetition of Course:
Repetition not allowed.
Course Prerequisites for Catalog:
<No Text Provided>
Course Equivalency:
No Course Equivelencies
Cross-listings: No cross-listings
Add Consent Requirement:
No required consent
Drop Consent Requirement:
No required consent
Enforced Prerequisites: (course-based or non-course-based):
001186 - Exclude fr or soph 5000 level courses
Editor Comments:
<No text provided>
Proposal Changes:
<No text provided>
History Information:
<No text provided>
Faculty Sponsor Name:
Joe Konstan
Faculty Sponsor E-mail Address:

Student Learning Outcomes

Student Learning Outcomes

* Students in this course:

- Can identify, define, and solve problems

How will you assess the students' learning related to this outcome? Give brief examples of how class work related to the outcome will be evaluated.

Students will explore a variety of problems related to recommenders and personalization, including how to identify the types of data available, how to identify the recommendation need and evaluation criteria, and most importantly how to draw upon a set of available algorithms and techniques to solve these problems. For examples, students will review solved problem cases and then solve their own cases as part of course work, both locally within units that focus on a particular goal or technique, and globally across the full set of techniques.

Please explain briefly how this outcome will be addressed in the course. Give brief examples of class work related to the outcome.

There is a set of graded problems and exam questions that assess student learning in this area. Examples include questions that offer students evaluation cases (e.g., an online content site supported by advertising trying to maximize advertisement click through) and ask them to design or select the most important metrics for evaluations, and problems where students are given data sets and objectives and asked to achieve the objectives either by coding a recommender or through mathematical manipulations.

- Have mastered a body of knowledge and a mode of inquiry

How will you assess the students' learning related to this outcome? Give brief examples of how class work related to the outcome will be evaluated.

Students will master a body of knowledge on recommender algorithms (including non-personalized, product-association, content-based, correlational collaborative filtering, and matrix-factorization algorithms) and recommender metrics (including predictive accuracy, decision-support, rank, diversity, and user experience metrics). They will learn from research on how different algorithms perform in different circumstances, and how different metrics relate to different underlying goals. They will be prepared to explore and evaluate new algorithms and metrics in the course.

Please explain briefly how this outcome will be addressed in the course. Give brief examples of class work related to the outcome.

There is a set of exam questions that test the understanding of the body of knowledge (e.g., asking students to articulate the strengths and weaknesses of different algorithms and metrics in relation to a context). There are also graded assignments where students will develop new algorithms and metrics (with some guidance and constraint) to demonstrate their mastery (e.g., developing a new hybrid algorithm to learn to integrate content preference data with collaborative data).

Liberal Education

Describe how the course meets the specific bullet points for the proposed core requirement. Give concrete and detailed examples for the course syllabus, detailed outline, laboratory material, student projects, or other instructional materials or method.

Core courses must meet the following requirements:

  • They explicitly help students understand what liberal education is, how the content and the substance of this course enhance a liberal education, and what this means for them as students and as citizens.
  • They employ teaching and learning strategies that engage students with doing the work of the field, not just reading about it.
  • They include small group experiences (such as discussion sections or labs) and use writing as appropriate to the discipline to help students learn and reflect on their learning.
  • They do not (except in rare and clearly justified cases) have prerequisites beyond the University's entrance requirements.
  • They are offered on a regular schedule.
  • They are taught by regular faculty or under exceptional circumstances by instructors on continuing appointments. Departments proposing instructors other than regular faculty must provide documentation of how such instructors will be trained and supervised to ensure consistency and continuity in courses.

Describe how the course meets the specific bullet points for the proposed theme requirement. Give concrete and detailed examples for the course syllabus, detailed outline, laboratory material, student projects, or other instructional materials or methods.

Theme courses have the common goal of cultivating in students a number of habits of mind:
  • thinking ethically about important challenges facing our society and world;
  • reflecting on the shared sense of responsibility required to build and maintain community;
  • connecting knowledge and practice;
  • fostering a stronger sense of our roles as historical agents.

LE Recertification-Reflection Statement (for LE courses being re-certified only):
<No text provided>
Statement of Certification:
This course is certified for a Core (blank) as of
This course is certified for a Theme (blank) as of

Writing Intensive

Propose this course as Writing Intensive curriculum:
Question 1 (see CWB Requirement 1):

How do writing assignments and writing instruction further the learning objectives of this course and how is writing integrated into the course? Also, describe where in the syllabus there are statements about the critical role writing plays in the course.

<No text provided>
Question 2 (see CWB Requirement 2):

What types of writing (e.g., research papers, problem sets, presentations, technical documents, lab reports, essays, journaling etc.) will be assigned? Explain how these assignments meet the requirement that writing be a significant part of the course work, including details about multi-authored assignments, if any. Include the required length for each writing assignment and demonstrate how the 2,500 minimum word count (or its equivalent) for finished writing will be met.

<No text provided>
Question 3 (see CWB Requirement 3):

How will students' final course grade depend on their writing performance? What percentage of the course grade will depend on the quality and level of the student's writing compared to the percentage of the grade that depends on the course content? Note that this information must also be on the syllabus.

<No text provided>
Question 4 (see CWB Requirement 4):

Indicate which assignment(s) students will be required to revise and resubmit after feedback from the instructor. Indicate who will be providing the feedback. Include an example of the assignment instructions you are likely to use for this assignment or assignments.

<No text provided>
Question 5 (see CWB Requirement 5):

What types of writing instruction will be experienced by students? How much class time will be devoted to explicit writing instruction and at what points in the semester? What types of writing support and resources will be provided to students?

<No text provided>
Question 6 (see CWB Requirement 6):

If teaching assistants will participate in writing assessment and writing instruction, explain how will they be trained (e.g. in how to review, grade and respond to student writing) and how will they be supervised. If the course is taught in multiple sections with multiple faculty (e.g. a capstone directed studies course), explain how every faculty mentor will ensure that their students will receive a writing intensive experience.

<No text provided>
Statement of Certification:
This course is certified for a Theme (blank) as of

Course Syllabus

Course Syllabus:
Course: CSci 5123,Recommender Systems, 3 credits Instructor: Joseph A. Konstan Course meetings: Twice per week 75 minutes each(Time/Place TBD) This course is an introduction to recommender systems. The goal for the course is for you to learn: * The basic concepts behind recommender systems--software tools to recommend or evaluate products, information, or other options for users * The use of recommender systems in practice * Techniques for making recommendations, including non-personalized, content-based, and collaborative recommendation techniques * The details of algorithms for product-association, keyword-based information filtering profiles, user-user collaborative filtering, item-item collaborative filtering, and dimensionality-reduction collaborative filtering * How to evaluate recommender systems, including a variety of metrics and the strengths, weaknesses, and use-cases for each * How to program recommender systems using the LensKit open source toolkit * Advanced concepts and current research in recommender systems Note on Course Materials Option 1: This course may be offered using a traditional textbook on recommender systems such as Jannach and Zanker's Recommender Systems: An Introduction, or Aggarwal's Recommender Systems:The Textbook. These would be supplemented by class readings, software documentation, and other materials. Option 2: This course may also be offered using material recorded for the University of Minnesota's online 4-course sequence on "Recommender Systems" offered through Coursera. This online sequence has approximately 4 hours of lecture material for each week of the course. When this option is used, contact time will be split between flipped classroom project exercise time and supplemental lecture and discussion time. In either option, there will be seven non-programming assignments and five programming assignments completed during the course (and graded by course TAs). Prerequisites and Expected Knowledge This course requires Java programming and the use of matrix techniques common in linear algebra. If you do not have these skills, it will be very difficult to pass this course. You should have completed CSci 2033 and CSci 3081W or have equivalent skills. Course Assignments, Exams, and Grading The course has three types of deliverables from students: 1. Non-Programming Assignments. These seven assignments are designed to help teach you the fundamentals behind algorithms and metrics. They will involve submitting spreadsheets or specific answers. 2. Programming Assignments. Programming assignments will use the open source LensKit toolkit and the Java programming language. They are designed to help you learn how to implement and experiment with recommender systems. Assignments may be completed individually or in pairs; if completed in pairs, please make sure both students' name and ID number is included in the submission. 3. Exams. The course has four short exams (approx. 45 minutes each) to assess your knowledge of the course materials. Exams will be administered in class. Late Assignments Assignments are due before the start of class on the due date. Students may late on assignments up to twice in the course without penalty. The late assignments must be completed within one week of the original due date. All assignments due on a particular date count as part of a single excused lateness. Assignments submitted more than one week late will receive no credit. The third (and subsequent) late submissions will be penalized by 30%. Course Grades Course grades will be determined based 40% on exams (10% each), 30% on programming assignments (6% each), and (30% on written assignments 4-5% each). The course is not graded on a curve; students who earn 93.5% or better will earn an A; 90-93.49 will earn an A-; 86.5 - 89.99 will earn a B+; and so forth. If this results in unfairly low grades, I will consider reducing the thresholds, but not increasing them. I hope all students earn an A in the course. There is no final exam in this course. Incompletes Incompletes are only awarded in very rare circumstances when an unforeseeable event causes a student who has completed all coursework to date to be unable to complete a small portion of work (typically an assignment). Incompletes will not be awarded for foreseeable events including a heavy courseload and poorer-than-expected performance on assignments. Scholastic Conduct All work submitted for this course is expected to be your original work. Work copied or derived from other sources should credit these sources appropriately. Your assignments may be jointly submitted to another course with the approval of the other instructor (they will still be judged on CSci 5123 criteria for this course). Special Circumstances Students with special needs or circumstances should contact me as soon as possible to make any necessary arrangements. As with incompletes, extensions are only granted for unforeseeable events, but arrangements may be made to obtain materials and submit work in advance if needed. Other accommodations may be arranged in cooperation with disability services. Everything else that is required I'm required to tell you a lot of generic things. I do so by providing a link to a set of syllabus statements you should review: . Course topics and tentative due dates: Week 1: Intro to recommender systems and to course. Weeks 2-3: Non-Personalized Recommenders (assignments due Week 3). Weeks 4-5: Content-Based Recommenders (assignments due Week 5). Weeks 6-7: User-Based Collaborative Filtering Recommenders (assignments due week 7) Weeks 8-9: Item-Based Collaborative Filtering Recommenders (assignments due week 8) Weeks 10-11: Metrics and Evaluation (assignments due week 11) Weeks 12-13: Matrix Factorization and Advanced Techniques (assignments due week 14) Week 14: Advanced topics, course conclusion

Strategic Objectives & Consultation

Name of Department Chair Approver:
Mats Heimdahl
Strategic Objectives - Curricular Objectives:

How does adding this course improve the overall curricular objectives of the unit?

This course fills a void in our computer science curriculum that relates to data science, machine learning, and human-computer interaction. The University of Minnesota is the leading research university in recommender systems worldwide (with multiple experts in CS&E and CSOM), and educates learners worldwide through Coursera. This course (already prototyped) brings a more intensive and more interactive version of that education to our own students. The Computer Science Curriculum Committee reviewed and approved this course proposal for inclusion within the Computer Science program.
Strategic Objectives - Core Curriculum:

Does the unit consider this course to be part of its core curriculum?

This course is an elective and therefore not part of the program's core curriculum. However it fits as an elective as part of several Computer Science upper division track options, including Big Data and Human-Computer Interaction. It also fits as an elective within the graduate programs in Data Science and Computer Science.
Strategic Objectives - Consultation with Other Units:

Before submitting a new course proposal in ECAS, circulate the proposed syllabus to department chairs in relevant units and copy affiliated associate dean(s). Consultation prevents course overlap and informs other departments of new course offerings. If you determine that consultation with units in external college(s) is unnecessary, include a description of the steps taken to reach that conclusion (e.g., catalog key word search, conversation with collegiate curriculum committee, knowledge of current curriculum in related units, etc.). Include documentation of all consultation here, to be referenced during CCC review. If email correspondence is too long to fit in the space provided, paraphrase it here and send the full transcript to the CCC staff person. Please also send a Word or PDF version of the proposed syllabus to the CCC staff person.

We did a search of the TC Undergraduate Catalog for recommender systems. There were only three results: IDSC 4444, Descriptive and Predictive; IDSC 6444, Business Intelligence; and MSBA 6430, Advanced Issues in Business Analytics. We then sent our course proposal to the Department Chair of Information and Decision Sciences (IDSC) within the Carlson School of Management, see his response below: Shawn Curley <> March 29, 2017 5:23 AM (2 hours ago) to Joseph Konstan, Eric Van Wyk, Liz Freppert, Gediminas Adomavicius Thank you for consulting the Information & Decision Sciences Department within the Carlson School regarding the proposed course. Based on the description provided, we are highly supportive of the offering. While the topic of recommender systems is definitely discussed as part of several (mostly analytics-related) courses in our undergraduate, MBA, MSBA, and PhD programs (typically in an introductory/broad overview manner), we do not have a dedicated recommender systems course in any of the programs. There is no issue of a conflicting overlap with your proposed course, and the new course would be a good supplement to our current offerings. Your course may serve as a good elective for some of our students who are interested in pursuing the topic in more depth. If I can be of any further assistance, let me know. And, we would appreciate being informed of the proposal's progress. Thanks, Shawn Curley Professor and Interim Department Chair Department of Information & Decision Sciences Director of Graduate Studies and PhD Program Director Carlson School of Management University of Minnesota 321 19th Avenue S. Minneapolis, MN 55455