Course information from your instructor


This course is divided in to a series of seven modules, each taking between one and two weeks to complete. There will be introductory lectures for each module, and students will begin work related to the topic immediately. Each module has an associated project and many modules have smaller initial assignments to get students moving quickly. Module projects are generally worth more than assignments. More complicated/longer modules are also generally worth more overall points than simpler/shorter ones. There is no text book for the course; all reading materials are available through the course wiki.


Class URL
Location Urbauer Labs 10 AM - 11:20 AM, Mondays and Wednesdays

I do not take attendance, but you are responsible for all material presented in class.

Instructor Todd Sproull (
Office 536 Jolley Hall
Phone 935-7140
Office Hours By appointment
Textbook No textbook for this course


We will use the Q&A tool Piazza during the semester to answer questions and post information about the course. Be sure to sign up for CSE 330 on Piazza's website.

Collaboration Policy

For individual assignments, the code you submit must be your own or from the course wiki. For group assignments, the code must come from you or your partner (or the wiki). You are allowed to use small portions of code found on the Internet (as long as it is not from another CSE 330 student, past or present, or yourself from a previous semester) as long as it is cited properly.

If you are using a significant amount of code from a website outside of the wiki, you must include a comment specifying the exact URL containing that code. Assume significant means 2 or more lines of code. This comment must be placed directly above the start of each piece of cited code, be sure to also provide a closing comment specifying the end of the citation. Failing to adhere to this policy will result in an F in the course and treated as an academic integrity violation.
If you are citing tens or hundreds of lines of code from a website outside of the wiki, you are most likely doing something wrong and may be subject to receiving a zero on the assignment. These assignments are meant for you to solve. You are certainly free to use external libraries in your code, but you must write the majority of the core logic for an assignment. If you have a question about this feel free to ask the instructor for clarification before submitting the assignment.

Submitting code from another student or from a previous semester (even if you wrote the code in a previous semester) is considered cheating and you will receive an F in the course and this will be treated as an academic integrity violation. I have a zero tolerance policy towards students using code (or derived code) from another student or your own code from a previous semester, do not do it.

Assignment Submission

All of the assignments must be submitted to Github before the end of class on the due date. For the creative project you will also demo your assignment to a TA before the end of class on the due date. You will not need to demo modules 1 - 6 to a TA.

Group Assignments

If you choose to work with another student on a group assignment, each student is expected to contribute equally to the assignment. You may not let your partner work on one group assignment and you work on another group assignment. Failing to contribute to each group assignment may result in a grade reduction or even a zero if one group member does not contribute to a particular assignment and will be treated as an Academic Integrity Violation.

Regrade Policy

It must be objectively clear that an error was made during grading. Examples of such errors include a grader incorrectly summing points or incorrectly marking something not completed. Grades based on the judgement of the grader, except in extremely extenuating circumstances, will not be regraded. In particular, grades for categories like "Site is Visually Appealing" will not be regraded. All regrade requests must be submitted by email to within one week of grading. Requests submitted after this deadline will not be considered. Requests must contain a specific explanation of the error, including filenames and line numbers of code, if appropriate.


Grades are based on your performance of the labs assigned throughout the semester along with completing two surveys (one at the beginning and end of the semester, each worth 10 points). CSE 503S students must complete a performance analysis study of their creative project. To compute your grade add up all of the points you have earned and divide by the total number of points in the semester. The table below describes the letter grade assigned to that percentage.

Your letter grade in this course is based on your semester score, computed as described above. No rounding is performed on your semester score: you must have at least the stated number of points to earn the associated grade. The following table explains how the score is converted into a letter or pass/fail grade:

Score Grade
97 A+ Pass
93 A
90 A-
87 B+
83 B
80 B-
77 C+
73 C
70 C-
60 D Fail
0 F