Class webpage and communication

http://www.cs.ucr.edu/~nael/217-f15

Note: We will be using iLearn for assignments, and Piazza for Discussions/help.

Textbooks

Course textbook

Catalog Description

Introduces the popular CUDA based parallel programming environments based on Nvidia GPUs. Covers the basic CUDA memory/threading models. Also covers the common data-parallel programming patterns needed to develop a high-performance parallel computing applications. Examines computational thinking; a broader range of parallel execution models; and parallel programming principles.

Assignments, Projects and Exams

You have 4 slack days that you can use on any one assignment (Labs or project) or combination of assignments. For group assignments, 1 day is assessed to each partner. Weekend days count as a slack day each. Any part of a day counts as a slack day. If you exceed slack days, penalty is 20% per late day.

Projects

Exam Dates will be on the course Assignments page. No alternative make up exam will be given without a documented excuse such as a major health issue.

Getting help from instructors and TA

During instructor or TA office hours, please feel free to stop in any time without an appointment. Any other time, please email (preferred) or call the instructor to make an appointment at some other mutually convenient time. You may also try to "drop in" for help, but please keep in mind that we may not be able to accommodate you.

Grade Breakdown

Grades will be weighted as follows:

Component Weight
Labs 30%
Exam+Final 40%
Project 30%
Class Participation and Extra credit up to 3% bonus
Please note the following:
  • Grades will be assigned relative to the rest of the class; however,
  • You must pass both projects and exams/homeworks to pass the class

    Academic Integrity

    Academic integrity is fundamentally about ethical behavior. Appropriate collaboration and research of previous work is an important part of the learning process. However, not all collaboration or use of existing work is ethical. The overarching principles which should guide you when determining whether or not it is appropriate to use a source or collaborate with a classmate involve answering these questions:
    • Does this fit within the spirit of the assignment/activity?

      In any ethical decision there is always judgment involved. Some assignments and activities involve collaborating with a team, in others you are asked to work individually. You are expected to have some common sense and to use it.

    • Does this help me or someone else in the class to improve our skills and/or understanding of class material?

      As a guiding principle, talking about concepts is usually good, talking about specific answers or approaches to problems is usually not.

    • Does this misrepresent my own (or someone else's) capabilities and understanding of materials for the purpose of grading?

      Attribution of sources is a key idea here; if you use work which is not your own, that work should be cited. For this class, citation is not required to be in a specific format, but any citation should clearly identify the author and source of any work which is not your own. Refer to the university policy on plagiarism and cheating.

    • Have any specific instructions been given for this assignment?

      Not all assignments are the same. On some you will be given explicit instructions about what level of collaboration is appropriate, and you are expected to abide by those restrictions even if you disagree with them.

    If you are at all uncertain about an action, whether it be working with another student, researching existing code, or something else, you are always welcome to ask the instructor for clarification.

    The severity of sanctions imposed for an academic integrity violation will depend on the severity of the transgression and ascertained intent of the student. Penalties may range from failing the assignment to failing the course. Again, actions will adhere to the Academic Honesty policies of BCOE and UCR.