Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments. Other students invariably have similar questions and concerns as you do and they, too, will appreciate your participation. Most importantly, your participation allows us all to develop a common terminology and understanding of the abstract and difficult concepts we study, and is the only way for me to understand what you and other students might have difficulties with.
I welcome feedback during the semester about the course. I am available to answer student questions, listen to concerns, and talk about any course-related topic (or otherwise!). Come to office hours! This helps me get to know you. You are welcome to stop by and chat. There are many more exciting topics to talk about that we won't have time to cover in-class.
In particular, we encourage students to find mistakes in the lecture notes and the powerpoint slides. Students who report mistakes will get a small amount of credit. Please send all course communications through Piazza. Your post should be public for general questions, private to all instructors (which includes the TAs) for any student-specific issues (e.g., grading, etc.), and private to Prof. Roth for extremely personal matters.
Although computer science work can be intense and solitary, please stay in touch with me and the TAs, particularly if you feel stuck on a topic or project and can't figure out how to proceed. Often a quick face-to-face conference or Piazza post can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin assignments and projects early, since we will be covering a variety of challenging topics in this course.
We will be using Piazza as the course message board. We also make course-wide announcements through Piazza, be sure to sign up for it. You are responsible for the content of all announcements on Piazza.
- All questions about course material and assignments should be posted to Piazza. Other students invariably have the same questions as you do, and posting them to Piazza encourages discussion.
- Post questions publicly as much as possible (you can set your posts to be anonymous to your classmates).
- Answer your classmates' posts. Answering questions on Piazza is a great way to learn, it helps you actively participate in the course, and it help the course staff better understand the students' difficulties and vocabulary/terminology gaps. I encourage the TAs to not respond immediately to non-urgent questions, so that we give students a chance to think about it and respond.
- Don't forget to search the message board before posting! Your question may have been already asked and answered.
Your grade will be based upon five homework assignments, two exams, short weekly quizzes, and (for CIS519 students) a course project. Assignments must be submitted according to the assignment submission instructions.
Homeworks: There will be 5 problem sets, most of which will involve Python programming and experimental work. Instructions on how to submit solutions will be available for each assignment.
Quizzes: There will be short quizzes nearly every week, hosted on Canvas. The purpose of these quizzes is to get you to review the lectures from the previous week and to think about the involved content. Quizzes will be short (~10 minutes) and are open notes. In general, they will be made available on Thursday, and be due on Sundays at 11:59 PM; consult the course schedule for further details.
At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:
- Assignments: 40% (8% each)
- Midterm Exam: 20%
- Final Exam: 35%
- Quizzes: 5%
- Total: 100%
All work in this course is subject to the University's Academic Integrity policy. Violations of the academic integrity policy or the course collaboration policy will incur consequences according to university regulations. Penalties for academic dishonesty may lower the final grade in the course. If one student shares code with another, both the donor and the recipient of the code are in violation of the academic integrity policy and will be referred to the Office of Student Conduct.
As we will state explicitly for each of the assignments, we encourage people to work together and discuss the assignments. However, each of you should produce your own code and your own write-up. If required by any assignment, you must list all people you worked with or consulted, and all resources you consulted (excluding the course textbooks and notes) during the completion of the assignment.
Submission and Late Policy
All work must be turned in either in hard-copy or electronic submission, depending on the instructions given in the assignment. E-mailed submissions or privately Piazza-posted submissions will not be accepted. Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance.
Everyone will receive 4 late days . It is up to you to track how many late days you've used and mark your count at the top of each late hardcopy submission. (For example, if you turn in one assignment 3 days late, you would write at the top "Turning in 3 days late")
Once you exhaust you late budget, your submissions will not be accepted. The reason is that we want to post solutions in a timely manner, and waiting too long will already affect your fellow students.
Each written assignment will have a regrade request deadline that will be posted after the assignment has been returned with your score. Regrade requests need to be endorsed by TAs during OH. Otherwise, they will be automatically rejected.
There will be two exams in this course. The exams will be closed-book and closed-notes. They will cover material from lectures, homework, and (occasionally, if stated explicitly) assigned readings (including topics not discussed in class).
I want to encourage you to discuss the material and work together to understand it. Here are my thoughts on collaborating with other students:
- The class slides and lecture notes are the key material you will use. Please discuss these as well as assigned readings with each other and work together to understand the material. I highly recommend forming a reading group to discuss the material -- we will explore many challenging ideas and it helps to have multiple people working together to understand them.
- It is fine to discuss the topics covered in the homework, to discuss approaches to problems, and to sketch out general solutions. However, you MUST write up the homework answers, solutions, and programs individually. You are not permitted to share specific solutions, mathematical results, program code, knowledge representations, experimental results, etc. If you made any notes or worked out something on a white board with another person while you were discussing the homework, you shouldn't use those notes while writing up your answer, however tempted you may be to do so. Learning happens when you write down your solutions; it's essential that you do this yourself!
- Under ABSOLUTELY NO circumstances should you share computer code with another student outside of your project team. Similarly, you are not permitted to use or consult code found on the internet for any of your assignments.
- Exams and papers, of course, must be your own individual work.
If you have any questions as to what types of collaborations are allowed and which are dishonest, please ask me before you make a mistake.
I have no problem with you using computers or tablets to take notes or consult reference materials during class (even though, some research questions the benefit of this) . Tempting though it may be, please do not check e-mail or visit websites that are not relevant to the course during class. It is a distraction, both for you and (more importantly) for your fellow classmates. Please silence your phones and computers when you enter class.