Advanced Data Science (CSCI 4022)

General information:

  • Instructor: Majid Zamani (

  • During spring semesters

  • Days: Tuesdays and Thursdays

  • Time: 8:00 AM – 9:15 AM

  • Room: ECCS 1B12

  • Office hours: Mondays, 11:00 AM – 12:00 PM, in-person at ECCE 1B09 or remotely via Zoom

Course Description:

In brief, this course introduces students to advanced tools, methods, and theory for extracting insights from data. Covers computational tools for storing and working with large data sets and computational techniques for common big data scenarios like graph data, streaming data, recommender systems, and dimensionality reduction. Emphasizes both the efficient implementation of algorithms as well as the mathematical foundations behind techniques.


  • Prereqs of (APPM 3310 or CSCI 2820 or MATH 2130 or MATH 2135 or 3130 or MATH 3135) & (CSCI 3022 or APPM 3570 or CHEN 3010 or CVEN 3227 or MATH 3510 or MATH 4510 or ECEN 3810 or ECON 3818 or STAT 3100 or STAT 4000 or 4520) & CSCI 3104 (all min grade C-).

Course objectives:

Course goals include being able to:

  • Utilize Python 3 via Jupyter notebook to clean, munge, visualize, and explore data

  • Understand the theory and practice behind distance-based similarity measures, including clustering algorithms in generic metric spaces and similarity measures on graphs

  • Apply similarity measures in a modern industry setting, including frequent itemsets and recommendation systems

  • Understand the theory and practice behind matrix decomposition techniques in modern data science, including applications of singular values and eigenvalues for both networked and continuous data

  • Implement many of the techniques above in the context of modern databasing (SQL) and algorithmic parallelization (MapReduce)

Importantly, our aim in this course is to help students become proficient in the technical aspects of data analysis; but, we also aim to help you identify when certain techniques are justified, and when certain techniques might lead you astray.


Other supplemental materials:

  • Homework: 48%

    • Homework will be assigned roughly every 1-2 weeks throughout the course. We will use Jupyter notebooks for all homework assignments. You are expected to write up your solutions with full explanations and justifications, where appropriate, and your code must work.

    • The lowest assignment grade will be dropped.

  • Midterm exam: 16%

  • Final exam: 16%

  • Project: 20%

Syllabus Statements:

  • Classroom Behavior
    Both students and faculty are responsible for maintaining an appropriate learning environment in all instructional settings, whether in person, remote or online. Those who fail to adhere to such behavioral standards may be subject to discipline. Professional courtesy and sensitivity are especially important with respect to individuals and topics dealing with race, color, national origin, sex, pregnancy, age, disability, creed, religion, sexual orientation, gender identity, gender expression, veteran status, political affiliation or political philosophy. For more information, see the policies on classroom behavior and the Student Code of Conduct.

  • Requirements for COVID-19
    As a matter of public health and safety due to the pandemic, all members of the CU Boulder community and all visitors to campus must follow university, department and building requirements, and public health orders in place to reduce the risk of spreading infectious disease. Required safety measures at CU Boulder relevant to the classroom setting include:

    • maintain 6-foot distancing when possible,

    • wear a face covering in public indoor spaces and outdoors while on campus consistent with state and county health orders,

    • clean local work area,

    • practice hand hygiene,

    • follow public health orders, and

    • if sick and you live off campus, do not come onto campus (unless instructed by a CU Healthcare professional), or if you live on-campus, please alert CU Boulder Medical Services.

      Students who fail to adhere to these requirements will be asked to leave class, and students who do not leave class when asked or who refuse to comply with these requirements will be referred to Student Conduct and Conflict Resolution. For more information, see the policies on COVID-19 Health and Safety and classroom behavior and the Student Code of Conduct. If you require accommodation because a disability prevents you from fulfilling these safety measures, please see the “Accommodation for Disabilities” statement on this syllabus.

      Before returning to campus, all students must complete the COVID-19 Student Health and Expectations Course. Before coming on to campus each day, all students are required to complete a Daily Health Form. In this class, you may be reminded of the responsibility to complete the Daily Health Form and given time during class to complete it. Students who have tested positive for COVID-19, have symptoms of COVID-19, or have had close contact with someone who has tested positive for or had symptoms of COVID-19 must stay home and complete the Health Questionnaire and Illness Reporting Form remotely. In this class, if you are sick or quarantined, please email the instructor about absence due to illness or quarantine.

  • Accommodation for Disabilities
    If you qualify for accommodations because of a disability, please submit your accommodation letter from Disability Services to your faculty member in a timely manner so that your needs can be addressed. Disability Services determines accommodations based on documented disabilities in the academic environment. Information on requesting accommodations is located on the Disability Services website. Contact Disability Services at 303-492-8671 or for further assistance. If you have a temporary medical condition, see Temporary Medical Conditions on the Disability Services website.

  • Preferred Student Names and Pronouns
    CU Boulder recognizes that students’ legal information doesn't always align with how they identify. Students may update their preferred names and pronouns via the student portal; those preferred names and pronouns are listed on instructors’ class rosters. In the absence of such updates, the name that appears on the class roster is the student's legal name.

  • Honor Code
    All students enrolled in a University of Colorado Boulder course are responsible for knowing and adhering to the Honor Code. Violations of the policy may include: plagiarism, cheating, fabrication, lying, bribery, threat, unauthorized access to academic materials, clicker fraud, submitting the same or similar work in more than one course without permission from all course instructors involved, and aiding academic dishonesty. All incidents of academic misconduct will be reported to the Honor Code (; 303-492-5550). Students found responsible for violating the academic integrity policy will be subject to nonacademic sanctions from the Honor Code as well as academic sanctions from the faculty member. Additional information regarding the Honor Code academic integrity policy can be found at the Honor Code Office website.

  • Sexual Misconduct, Discrimination, Harassment and/or Related Retaliation
    The University of Colorado Boulder (CU Boulder) is committed to fostering an inclusive and welcoming learning, working, and living environment. CU Boulder will not tolerate acts of sexual misconduct (harassment, exploitation, and assault), intimate partner violence (dating or domestic violence), stalking, or protected-class discrimination or harassment by members of our community. Individuals who believe they have been subject to misconduct or retaliatory actions for reporting a concern should contact the Office of Institutional Equity and Compliance (OIEC) at 303-492-2127 or Information about the OIEC, university policies, anonymous reporting, and the campus resources can be found on the OIEC website.

    Please know that faculty and instructors have a responsibility to inform OIEC when made aware of incidents of sexual misconduct, discrimination, harassment and/or related retaliation, to ensure that individuals impacted receive information about options for reporting and support resources.

  • Religious Holidays
    Campus policy regarding religious observances requires that faculty make every effort to deal reasonably and fairly with all students who, because of religious obligations, have conflicts with scheduled exams, assignments or required attendance. In this class, you should notify your instructor of any conflict at least two weeks in advance.

    See the campus policy regarding religious observances for full details.