CMPS 140 Home

       Narges Norouzi
  • Email:
  • Office Hours: Tuesdays & Thursdays, 4 - 5 pm, Engineering 2, Room 247A
Class Location and Time: 
  • Natural Sciences Building and Annex, 101
  • Tuesdays & Thursdays 9:50 - 11:25

  • Ryan Hausen - Email: 
  • Keller Jordan - Email:  
Online Support Systems:
  • Piazza            
You can submit your questions as well as your answers to other's questions online. The system is highly tailored to getting help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza.
Grepthink facilitates team formation for the purpose of developing and collaborating on group projects. You are able to create projects (after getting approval from your instructor and TA) on Grepthink or make a request to join an existing project. The code to enroll in Grepthink course for CMPS140 is VKEHs5anbI. When adding a project on Grepthink, mention which one of the section you will attend to meet with your TA.
We will also use Grepthink to get your weekly feedback (by filling out Team Status Report) about the performance and contribution of your teammates to the project.


You will meet with Ryan in a section to report your progress. Monday section will meet on odd weeks + week 2 and Wednesday section will meet on even weeks. Here is the schedule of the sections:

  • Monday 13 - 15, Social Sciences 1, 135
  • Wednesday 9 - 11, Social Sciences 1, 135


There is no required textbook for this class, and you should be able to learn everything from the lecture notes and assignments. However, if you would like to pursue more advanced topics or get another perspective on the same material, bellow is the textbook I would recommend. Two copies of the book are also on reserve in Science & Engineering Library.

    • Class participation and in-class activities (5%)
    • 5 Quizzes (15%)
    • Course Project (40%)
    • 4 Assignments (40%)
    Late policy:
    • 1 second late to 24 hours late -> -25%
    • 24 hours and 1 second late -> -100%
    Course Project: 
    The final project provides an opportunity for you to use the tools from class to build something interesting of your choice. Projects should be done in groups of up to 4. The project will be something that you work on throughout the course and we have set up some milestones to help you along the way:
    1. Forming teams (due on Sunday April 5th)
    2. 1-page proposal (due in week 2, should hand in the proposal during your meeting with the TA in your section)
    3. Progress report (due on Tuesday May 8th)
    4. In-class presentation (June 5th or June 7th)
    5. Final project report (due on June 8th)
    Project Milestones:
    • Proposal
    1 page. Describe your project idea, the dataset you will be working on, input-output behavior of your system, and your evaluation metric for success.
    • Progress report
    3 - 4 pages. Propose a model and an algorithm for tackling your task. You should describe the model and algorithm in detail and use a concrete example to demonstrate how the model and algorithm work. Don't describe methods in general; describe precisely how they apply to your problem (what are variables, factors, states, etc.)? You should also have finished implementing a preliminary version of your algorithm (maybe it's not fully optimized yet and it doesn't have all the features you want). Report your initial experimental results.
      • Project presentaion
      By the project presentation lectures, you should have finished implementation, run a good chunk of your experiments, and done some basic error analysis. In your presentation, you should describe the motivation, problem definition, challenges, approaches, results, and analysis. The goal of the presentation is to convey the important high-level ideas and give intuition rather than be a super-detailed specification of everything you did (but you should still be precise). You will be evaluated on both the contents of the presentation as well as your presentation.
      • Project report
      5 - 7 pages (single-spaced). You should have completed everything (task definition, infrastructure, approach, literature review, error analysis).
      report should include following sections:
      • Introduction
      • Background and literature review
      • Materials and methods: includes description of the data, approaches and models built, and infrastructure.
      • Result section: includes details of the results and analysis of performance/accuracy of models.
      • Citation

      Project Evaluation:
      • Proposal (2%)
      • Progress check (5%)
      • Team Status Report (4%)
      • Project Presentation (10%)
      • Project Report (10%)
      • Individual Contribution (9%)

      Academic Dishonesty:

      Any confirmed academic dishonesty including but not limited to copying programs or cheating on exams, will constitute a failure of the computer ethics portion of this class and may result in a no-pass or failing grade. You are encouraged to read the campus policies regarding academic integrity.


      UC Santa Cruz is committed to creating an academic environment that supports its diverse student body. If you are a student with a disability who requires accommodations to achieve equal access in this course, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me privately during my office hours or by appointment, preferably within the first two weeks of the quarter. At this time, I would also like us to discuss ways we can ensure your full participation in the course. I encourage all students who may benefit from learning more about DRC services to contact DRC by phone at 831-459-2089, or by email at