CSE 410 (Algorithms have arrived. What's next?) Syllabus
Spring 2020
Tuesdays and Thursdays, 9:30-10:50am, Talbert 112.
Please note
It is your responsibility to make sure you read and understand the contents of this syllabus. If you have any questions, please contact the instructor.
Academic Integrity
Penalty for academic integrity violation
In accordance with the current departmental policy on academic integrity violations, we will follow this procedure in CSE 410:
- If the violation is the student's second academic violation, then it will result in an automatic
F
letter grade in the course. - If the violation is the first ever academic violation, then it will result in a minimum of a
letter grade reduction
in the grade for course andzero in the relevant assignment
. If the violation is serious enough, then it can result in anF in the course
. While it gives me no pleasure in failing students, I will do so since I have to be fair to (the vast majority) of students who do not cheat.
For more details, please see the department policy on academic integrity , as well as the UB UG Academic Integrity policy .
Instructor Information
Atri Rudra
- :
atri "at" buffalo "dot" edu
- : 319 Davis
- : 645-2464
- :
Fridays 3:30-4:20pm
It is preferable to set up an appointment (by email) if you want to talk to me outside of my office hours. However, you can drop by if my office door is open.
TA Information
Sanchit Batra
- :
sanchitb "at" buffalo "dot" edu
- : On piazza.
Course Description
Algorithms make decisions in all parts of our lives, starting from the mundane (e.g. Netflix recommending us movies/TV shows), to the somewhat more relevant (e.g. algorithms deciding which ads Google shows you) to the downright worrisome (e.g. algorithms deciding the risk of a person who is arrested committing a crime in the future). Whether we like it or not, algorithms are here to stay: the economic benefit of automation provided by algorithms means companies and even governments will continue to use algorithms to make decisions that shape our lives. While the benefits of using algorithm to make such decisions can be obvious, these algorithm sometimes have unintended/unforeseen harmful effects.
This class will look into various algorithms in use in real life and go into depth of both the societal as well as technical issues. For students who are more technologically inclined, the hope is that this course will open their eyes to societal implications of technology that such students might create in the future (and at the very least see why claiming “But algorithms/math cannot be biased” is at best a cop-out). For students who are more interested in the societal implications of algorithms, the hope is that this class will give them a better understanding of the technical/mathematical underpinnings of these algorithms (because if you do not understand, at some non-trivial level, how these algorithms work you cannot accurately judge the societal impacts of an algorithm).
Overall the hope is that students who will build the technology of the future will be equipped to grapple with societal implications of their work (note that we are not saying that folks building technology need to be activists but when presented with two viable technical options they would pick one that has more societal benefits) and students who will be the future decision-makers can make more informed decisions on how algorithms can impact others (note that we are not saying that decision makers should create algorithm themselves but they should be able to understand how algorithms interacts with real life data).
Credits
3 credits
Pre-requisites
Section A1 (which is meant for CSE majors) has a formal pre-requisite of CSE 331 OR CSE 474 .
Section A2 (which is meant for non-CSE majors) has no formal pre-requisites (besides being a junior in their major).
For both sections, willingness to think beyond your usual boxes and openness to unfamiliar ideas will be crucial.
(ABET ) Learning Outcomes
CSE 410 (Section A1) is an elective and after the completion of the course, students should demonstrate mastery of the concepts/skills/knowledge expressed in the following ABET learning outcomes for computer science:
(1)
Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.(3)
Communicate effectively in a variety of professional contexts.(4)
Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.(5)
Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
Course Learning Outcome | Program Outcomes / Competencies | Instructional Method(s) | Assessment Method(s) |
Be able to identify the various stages of ML pipeline | ABET (1) | Lectures | Discussion summaries, project |
Be able to use identify societal implications of an ML system | ABET (4) | Lectures | Discussion summaries, project |
Be able to work in a group to solve not well defined problems | ABET (5) | In-class meetings | Project |
Be able to present the same work in different media | ABET (3) | In-class meetings | Project, Discussion participation |
The Student Outcomes from the Computing Accreditation Commission (CAC) of ABET have been adopted .
Program Outcome Support (Computer Science ABET Outcomes):
Program Outcome | 1 | 2 | 3 | 4 | 5 | 6 |
Support Level | Demonstrate mastery of skill/concept | No coverage | Demonstrate mastery of skill/concept | Demonstrate mastery of skill/concept | Demonstrate mastery of skill/concept | No coverage |
References
There is no textbook
The material covered in this course is fairly new and there is not appropriate textbook that covers the material presented in this class.
We will either provide lecture notes or relevant papers for the lectures and in-class discussions.
Resources page
The resources page links to all the material you would need. In particular, the lecture notes are here and references to external sources is here.
Schedule
A more detailed schedule appears here.
Coronavirus Change
Due to CSE 410 lectures moving online on the account of coronavirus , the course delivery will change and will move to an online medium starting with the lecture on March 24, 2020. (Note this is the CSE 410 specific date for the switch.)
The class meetings will move to Zoom (with WebEx as a backup in case zoom gets overloaded): this includes all of lectures, in-class discussions and meetings as well as presentations. See the sections below for more details on each component of the course.
Since the course has a heavy discussion component, I will first attempt to schedule the class as an online meeting. For backup options, please see the next callout.
Zoom backup
While the hope is that the move to Zoom will work smoothly, in case that the meeting on Zoom does not work smoothly (e.g. if the Zoom servers are overloaded or if you have any technical issues at your end), we will try WebEx next. In case neither works, each course component will have a backup option that you can use to get full credit in an "offline" fashion.
Piazza
We will be using Piazza for all CSE 410 related announcements. If you are attending the course, you must check Piazza regularly. I would strongly urge you to enable email notifications on piazza (it is on by default). These announcements will include the ones that inform if and when classes/office hours are re-scheduled etc.
There will be an entry for each lecture. Sometimes, the entries may include side comments or stories that I feel are relevant to the course (but are not directly related to the lectures).
We will also be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com. To familiarize yourself with the system, look at their help page .
You should be signed up for piazza by now. If for some reason that did not work, please go to the sign up page .
Few other points:
- You can post anonymously but note that you will be anonymous to students only. Your identity will be known to me.
- Please make sure that you use your UB email to sign up-- this is to make sure that I can verify your identity if necessary.
- You can write posts that are private to just the instructors but if we feel that the answer would be relevant to the class then we reserve the right to make the post public. (If you would like not to have your name in the public version of your private post, please post anonymously in the private post too. Note by the first point, we will still know your identity.)
Grading Policy
Here is the split of grades:
Course Component | $\%$ of grade |
Project | $60\%$ |
In-class discussions | $20\%$ |
Proof Reading | $10\%$ |
Attendance | $10\%$ |
Bonus | Up to $10\%$ |
Letter Grades
Below is the tentative cutoffs for the letter grades:
Grade | Quality Points | Percentage |
$A$ | 4.0 | 90.0% or more |
$A^-$ | 3.67 | 80.0% - 89.95% |
$B^+$ | 3.33 | 75.0% - 79.95% |
$B$ | 3.00 | 70.0% - 74.95% |
$B^-$ | 2.67 | 65.0% - 69.95% |
$C^+$ | 2.33 | 60.0% - 64.95% |
$C$ | 2.00 | 55.0% - 59.95% |
$C^-$ | 1.67 | 50.0% - 54.95% |
$D^+$ | 1.33 | 45.0% - 49.95% |
$D$ | 1.00 | 40.0% - 44.95% |
$F$ | 0 | 39.95% or below |
Changing cutoffs
I reserve the right to change the cutoffs depending on overall class performance (and the cutoff changes could be different for the two sections. However, I will only move the cutoffs down. In other words, in case you are in a certain percentage range in the last column in the table above, then the letter grade in the corresponding first column is the minimum letter grade you will receive.
Incompletes
Incompletes (the grade of “I”) will not in general be given. This is reserved for the rare circumstance that prevents a student from completing the work in the course. University and Department policy dictates that an “I” can be given only if both of the following conditions are met: (i) only a small amount of work remains, such as the final exam and one or two assignments, and (ii) the student has a passing average in the work completed. In such a circumstance, the student will be given instructions and a deadline for completing the work, which is usually no more than 30 days past the end of the semester. Please see the UB catalog link for more.
Grading Scheme
All submissions in this course will be graded manually by me and we will use the following "level" system. For each question/part of an assignment, the student’s submission will be graded at one of the following levels:
- Level 0: This means the student gets $0\%$ of the points. This is for submissions where the student shows no to very little effort.
- Level 1: This means the student gets $50\%$ of the points. This is for submissions where the student does show reasonable effort but there is a fairly serious shortcoming in the actual submission (e.g. not enough details or e.g. in project related submissions the results are not quite up to expectation).
- Level 2: This means the student gets $100\%$ of the points. This is for submissions where the student shows reasonable effort and the actual submission has no serious shortcomings.
The description of what constitutes a certain level is a bit generic so that it applies to the different parts of the course. For each submission, we will clarify exactly what parts are expected in a submission.
Project
The project details page has all the low-down on the project (and its various components).
The project will assess student outcome (1), (3), (4), (5)
.
In-class discussions
In-class discussions will be based on a paper (in not so frequent cases two papers). The paper(s) will be assigned at least a week in advance of the in-class discussion. By default you are supposed to read the entire paper (for each reading assignment we will post on piazza on what exactly we expect y'all to read). Further, y'all are supposed to read the paper BEFORE coming to the in-class discussion. In the spirit of trust but verify, y'all will have to submit a discussion summary before the class (for more details on this, see below). During the class, everyone is expected to actively participate in the class discussion on the assigned reading (for more details on this, please see below.)
There is no "right" answer
As y'all will see in many parts of the course there will not be a "right" answer. This is more so in the case of the in-class discussions. The discussion are not for you to say what you think I want you to say but they are an opportunity for me (and the rest of the class) to hear what YOU think about the topic. So please participate accordingly!
Grading
Each in-class discussion is worth $4\%$ of your final grade (split equally between the discussion summary and participation). We expect there to be six in-class discussions (yes, this does mean that you can get up to $4\%$ bonus points).
Discussion Summary
For each in-class discussion (see the schedule for the dates), you will submit a summary of what you read. Your submission should have three parts:
- Summary What is the main idea/thesis of the paper? Typically papers have one main takeaway, which is what you want to summarize here. If there are multiple takeaways focus on the one or two that you personally think is the most important.
- Strengths What were the strengths of the paper? What aspects did you think were well done? Was there something in the paper that really resonated with you? E.g. was there an "Ah-a!" moment for you in the paper?
- WeaknessesWhat were the weaknesses of the paper? What were the aspects of the paper that you thought it got wrong? Were there aspects of the paper you think you could improve (if so, how)?
Submitting the discussion summary
Your submission is due as a PDF of at most one(1) page on Autolab. The submission is due by 5pm of the day BEFORE the in-class discussion.
Discussion summary grading rubric
Here is the split of grades for the various parts of discussion summary (for a total of 100 points
):
- Summary:
35 points
. - Strengths:
35 points
. - Weaknesses:
30 points
.
The discussion summaries will assess student outcome (1), (4)
.
NO Coronavirus Change
Since writing the discussion summary and its submission is done outside of class, this part of the course will not change.
Discussion Participation
During the in-class discussion, you are expected to actively participate (by asking a question or giving an answer). I will be keeping track of your participation and you will be graded as follows.
Discussion participation grading rubric
- Level 0: No participation.
- Level 1: Exactly one non-trivial question asked or one non-trivial answer given.
- Level 2: At least two non-trivial questions asked or one non-trivial answers given.
What is a non-trivial question/answer?
I do not want to formally define what questions/answers are non-trivial since this is somewhat subjective. But just to give an idea: If the question was "What did you think about the paper assigned for today's in-class discussion?". An answer "Great!" will be considered trivial whereas a non-trivial answer would be one that goes into the specifics of what part(s) of the paper you though were great. Perhaps a better phrase for non-trivial would be thoughtful.
Discussion participation will assess student outcome (3)
.
Coronavirus Change
Starting March 24, 2020 all discussions will be done (and graded-- I will be able to keep track of participation online) via the online class meeting on Zoom (with WebEx as backup).
Zoom backup
While the hope is that the move to Zoom will work smoothly, in case that the meeting on Zoom does not work smoothly (e.g. if the Zoom servers are overloaded or if you have any technical issues at your end), we will try WebEx next. In case neither works, then the score for your discussion summary will carry over to the discussion participation part.
Proof Reading
For each lecture, one student will volunteer to proof-read the corresponding lecture notes and submit a list of corrections, passages that are not clear, some suggestions for improvement etc. Your submission should have three parts:
- Typos (there will invariably be some!)
- Formatting If you do not like the “look" of the book (or parts of it).
- Suggestions for Improvement These can be of the following kind:
- If you think an example would help in some place, let me know. (Just don’t say that an example will be useful– send me a sketch the example too.)
- If you think a figure would help in some place, please let me know. (Again, if you think a figure would be useful, at least send me a rough figure.)
- If you think the explanation is terse/unclear, let me know. (Again, please be specific and let me know what exactly needs to be explained better and your suggestions for improvement.)
- If you think that I am passing my own opinion as a "given"-- please call me out on it! (Again, please be specific and let me know exactly in which part I am passing off my opinion as a fact and why you think it is the case.)
- Bonus improvements If you think you have a better activity than one given in the notes, please submit it for bonus points!
I will typically ask for a volunteer at the beginning of the class. Please don’t try to flatter me by saying that the writeup is perfect :-) It certainly is not and you will be graded on the depth of your comments. I expect each student to have to do 2 proof-readings. Take this as an opportunity to understand the lecture material even better!
Submitting the proof reading
Your submission is due as a PDF on Autolab. The submission is due by 5pm of the day of the next lecture. For example, the notes for Tuesday, January 29 are due Thursday January 30 by 5pm and the notes for Thursday January 30 are due Tuesday, February 4 by 5pm.
Proof reading grading rubric
Here is the split of grades for the various parts of proof reading (for a total of 100 points
):
- Typos:
30 points
. - Formatting:
10 points
. - Suggestions for Improvement:
60 points
. - Bonus Improvements:
10 points
.
NO Coronavirus Change
Since the proof-reading and submission is done outside of class, this part of the course will not change.
Attendance
Regular attendance is required (most of the classes will be discussion based and we need people in class to have a meaningful discussion!). You must come to class, and you must come on time. Please be courteous: The class does not start at 9:40 am It begins at 9:30 am. You are not required to attend class on days listed in the university calendar as major religious holy days (although we assume that you practice at most one religion): please let us know beforehand though. If you have a strong reason to miss class (e.g. to go to an academic conference), let us know in advance as well!
Bring an Internet Connected Device
Please bring a device so that you can connect to the Internet in class since attendance will be on the Autograder. During the lecture, we will show you a pass phrase, which you will have to enter into the Autograder.
Please refrain from sending this information to your friends if they are not in class. Doing so would be considered an academic integrity violation, which would lead to a failing (F) gradeAttendance grading rubric
If you attend at least twenty three (23) classes (out of a total of 28), then you will full points. Otherwise you will get a ZERO (irrespective of how close you are to 22 ).
Coronavirus Change
Starting March 24, 2020 all passphrases will be revealed during the online class meeting on Zoom (with WebEx as backup) and y'all will enter those on Autolab as usual.
WebEx backup
While the hope is that the move to Zoom will work smoothly, in case that the meeting on Zoom does not work smoothly (e.g. if the Zoom servers are overloaded or if you have any technical issues at your end), we will try WebEx next. In case neither works, then everyone affected will get automatic attendance.
If for some reason, Zoom/WebEx has consistent issues, then I will consider either removing the attendance component (and scale the rest of the score) or lower the threshold for minimum attendance.
Bonus
In addition to the bonus opportunities mentioned above, there will be other explicit opportunities to get more bonus points (e.g. there is one in the first lecture notes). The list of the bonus opportunities will be listed on this page. (though it is possible that I might forget to put something on the page even after I announced it in class-- if so please send me a reminder!).
You can accumulate up to 200 bonus points
. As mentioned above, these $200$ bonus points will translate into $10\%$ of your grade.
Accessibility Resources
If you have a diagnosed disability (physical, learning, or psychological) that will make it difficult for you to carry out the course work as outlined, or that requires accommodations such as recruiting note-takers, readers, or extended time on exams or assignments, you must consult with Accessibility Resources (: 60 Capen Hall, : 645-2608, TTY: 645-2616, : 645-3116).
You must advise your instructor during the first two weeks of the course so that we may review possible arrangements for reasonable accommodations.
Critical Campus Resources
Sexual Violence
UB is committed to providing a safe learning environment free of all forms of discrimination and sexual harassment, including sexual assault, domestic and dating violence and stalking. If you have experienced gender-based violence (intimate partner violence, attempted or completed sexual assault, harassment, coercion, stalking, etc.), UB has resources to help. This includes academic accommodations, health and counseling services, housing accommodations, helping with legal protective orders, and assistance with reporting the incident to police or other UB officials if you so choose. Please contact UB’s Title IX Coordinator at 716-645-2266 for more information. For confidential assistance, you may also contact a Crisis Services Campus Advocate at 716-796-4399.
Mental Health
As a student you may experience a range of issues that can cause barriers to learning or reduce your ability to participate in daily activities. These might include strained relationships, anxiety, high levels of stress, alcohol/drug problems, feeling down, health concerns, or unwanted sexual experiences. Counseling, Health Services, and Health Promotion are here to help with these or other issues you may experience. You can learn more about these programs and services by contacting:
Counseling Services
- 120 Richmond Quad (North Campus), 716-645-2720
- 202 Michael Hall (South Campus), 716-829-5800
Health Services
Michael Hall (South Campus), 716-829-3316
Health Promotion
114 Student Union (North Campus), 716-645-2837
Preferred Name
If you would like to be addressed by a name that is different from the one in UB records, please let me know and we will use your preferred name in our communications with you. Further, you will be able to use your preferred name in all of your submissions.
Diversity
The UB School of Engineering and Applied Sciences considers the diversity of its students, faculty, and staff to be a strength, critical to our success. We are committed to providing a safe space and a culture of mutual respect and inclusiveness for all. We believe a community of faculty, students, and staff who bring diverse life experiences and perspectives leads to a superior working environment, and we welcome differences in race, ethnicity, gender, age, religion, language, intellectual and physical ability, sexual orientation, gender identity, socioeconomic status, and veteran status.
Suggestions or Comments?
I would be happy to get feedback from you. You can either talk/send email to me, or use piazza .