Assignments can be done in groups of 2, through pair programming.
Please read these guidelines on pair programming.
For more information about how it works, consult this
Programming assignments must be in done in the language specified (almost always Java, a few lab assignments in C).
All assignments must be submitted through Git and Crowdgrader.
More information on Git on Piazza page, and we will have
some tutorials on git during first few weeks.
We will be using Crowdgrader.
As a student, you are expected to review 5 assignments, and the review quality does
contribute to your grade.
All deadlines are 11:59PM on the given day.
You have a total of 96 hours allowed for late submissions for the homework and lab assignments. In addition, no submission can
be more than 48 hours late.
This can
be spread out as you wish, between labs and hoemworks. You do not need to tell us about late submissions.
We look at your last git push into the corresponding lab
or homework folder to determine the timestamp for your submission. So please do not make pushes into the folder after the deadline, if you have already completed your submission.
Participation
Attendence is not enforced (you are all grownups), but highly recommended. There will
be discussion in lectures that is not in the textbook.
Lab attendence is also not mandatory, but it is really helpful for solving lab assignments.
All slides will be posted online. Please read them after class!
Devices (or lack thereof)
Very strict on this. No electronic devices in class, so put it away!
Yes, that includes your laptops, phones, tablets, smartwatches, blackberries, strawberries,
and apples. At most one computer will be open during class, and that will be mine.
Collaboration
Group discussions are encouraged. Freely consult with other students or books about the problems. You must indicate all such help on your solution, either
in the README for a programming assignment, or as a separate paragraph in theory assignments. We expect that you understand every part of your solution,
and may ask you to clarify your solution.
Academic Honesty
The Baskin School of Engineering has a zero tolerance policy towards any incident of academic dishonesty. If cheating occurs, consequences within the context of the course may range from getting zero on a particular assignment, to failing the course. In addition to these sanctions, every case of academic dishonesty is referred to the students' college Provost, who sets in motion an official disciplinary process. Cheating in any part of the course may lead to failing the course and suspension or dismissal from the university.
What is cheating? In short, it is presenting someone else's work as your own. Examples include (but are not limited to) copying another student's written homework assignment, or program, allowing your own work to be copied, or in any way facilitating the cheating of others. Although you may discuss problems with fellow students, your collaboration must be at the level of ideas only. Legitimate collaboration ends when you "lend", "borrow", or "trade" written solutions to problems, or in any way share in the act of writing your answers. You may freely give and receive help with the computer facilities, editors, the UNIX operating system, and the proper use and syntax of the programming languages; but you may not copy, paste, email, or in any way share source code. If you do collaborate (legitimately) or receive any form of help from anyone, you must credit them by placing their name(s) at the top of your paper, or in the case of programming assignments, in your README file.