Homework assignments will be assigned one per week. They should be done outside of class and most will involve programming. You should feel free to visit the instructor or CP/TAs in office hours to get help but are discouraged from discussing anything other than high-level concepts with other students (to avoid any kind of academic integrity violation.)
|HW01||Binary & ASCII Representation||Thurs. Jan. 18, 2018 @ 11:59PM (PST)|
|HW02||Basic Expressions||Thurs. Jan. 25, 2018 @ 11:59PM (PST)|
|HW03||Sequence & I/O||Thurs. Feb. 1, 2018 @ 11:59PM (PST)|
|HW04||Assignment, Functions, I/O Manipulators||Thurs. Feb. 8, 2018 @ 11:59PM (PST)|
|HW05||If Statements||Thurs. Feb. 15, 2018 @ 11:59PM (PST) @ 11:59PM (PST)||Vocareum|
|HW06||While Loops||Thurs. Feb. 22, 2018 @ 11:59PM (PST) @ 11:59PM (PST)||Vocareum|
|HW07||Study for midterm||None||None|
|HW08||For Loops||Thurs. March 8, 2018 @ 11:59PM (PST) @ 11:59PM (PST)||Vocareum|
|HW09||Nested Loops||Thus. March 22, 2018 @ 11:59PM (PST) @ 11:59PM (PST)||Vocareum|
|HW10||Arrays||Mon. April 2, 2018 @ 11:59PM (PST) @ 11:59PM (PST)||Vocareum|
|HW11||Functions||Mon. April 16, 2018 @ 11:59PM (PST) @ 11:59PM (PST)||Vocareum|
|HW12||Movie Rater||Thurs. April 26, 2018 @ 11:59PM (PST) @ 11:59PM (PST)||Vocareum|
- For each assignment, a precise time will be specified (usually at 11:59.59pm) on the due date (usually Thursdays).
- Assignments may be submitted 1 day late for max 50% credit. Beyond 24-hours, there is no late submission.
- There is no excuse for late submission due to laptop or wireless issues. Finish the assignment early, submit it a few hours ahead of time to allow for such problems.
- Submission must be made correctly (usually using our own website or the Vocareum website).
- Homeworks should be done individually. Copying or sharing details of your solution with another student can easily become an academic integrity violation and is prohibited.
- Please consult course staff or Piazza for help.
You must submit your assignment online before the deadline. For the first few homeworks that are submitted via our own website, be sure to click the Submit button and be sure a green check mark appears. This means the system has recorded your correct answer.
For Vocareum-based assignments be sure to click Submit and examine the submission report that will eventually appear. It will provide feedback regarding whether your submission compiled and passed a small (but not exhaustive) set of tests.
We will work hard to post HW scores and feedback within 1 week of the homework's due date. Exams will typically be graded within at most a few days of the exam date.
Any disputes with posted grades must be raised within 7 days of the score posting. (If your schedule does not permit a detailed request within 7 days, you should register a short note that you plan to dispute, and then submit the dispute when you are ready.) Notice that any regrade request will result in us trying to give the fairest possible grade to you, which could be higher or lower than the one you received originally.
To raise an issue with your exam score, you should come to the office hours of the professor teaching your section. If you cannot make posted office hours, schedule one by e-mail. The TAs will not be allowed to grant regrades on exams.
Once we start using the course virtual machine, we will grade your assignments using
compile at the command line in the virtual machine. You are free to use other compilers or IDEs to develop your code, but in the end, it has to work with the
compile script on the virtual machine. You probably want to test that it does before submitting.
The official language on academic integrity is on the syllabus. Here is a little more clarification.
Practically speaking, it is important to be able to seek out helpful information and collaborate, yet it is clearly wrong to pass off work done (even just in part) by others as your own. Navigating these two principles can be tricky. However, notice that only you are responsible for understanding what is allowed, and what is not. Cheating can and does occur which is neither malicious nor intentional. Knowledge is power!
When in doubt whether some behavior you are considering is appropriate, feel free to consult with us (course staff) before engaging in it. As a general guideline, imagine that your professor is looking over your shoulder, but can't read your mind. Would it look to him like you're legitimately seeking to understand things, or trying to get a better grade than your own work warrants? That should guide your behavior. Here is a list of some particularly common things, with an explanation:
- Asking other students for hints or discussing high-level ideas. This is clearly OK.
- Having other students look at your code and help you discover mistakes. This is dangerous: if the other student intentionally or accidentally copies from you, there would be negative consequences for both of you.
- Asking course staff (instructor, TAs, CPs) for help, ideas, having them look through code, etc. Clearly no problem; if you are asking for too much help, we will simply not provide that much.
- Copying code or test cases from other students, even if you subsequently edit, improve or change them. Clearly not OK, even if you intend to understand the code or inputs before submitting them as your own. This is most definitely plagiarism! We will run the MOSS software on all submissions in the class to detect instances of copying.
- Copying test cases from other students or Piazza when test cases are not graded. This is OK, since it serves to teach you something, and there is no risk that you will get points for the work of other students.
- Sharing your code or test cases with your classmates. Don't do this! We have had several cases of trusting friends getting into trouble because their "friends" submitted code as their own. If a "friend" pressures you to share code or inputs with them, they are not your friend.
- Looking at other students' code or test cases (before having finished your own). This is dangerous. If your code or test cases ends up resembling the other student's very closely, then it is cheating. To avoid accidentally cheating, we recommend the failsafe measure below.
- Looking up concepts, syntax, and basic instructions on how to deal with the topics online. This is clearly OK, as you are learning.
- Looking online for solutions to specific homework questions, such as copying code from Wikipedia and other sites. Clearly not ok, even if you subsequently edit them. You are trying to use the work of others instead of your own. Clearly cheating, and MOSS does have a lot of code from online sources in its database.
- Posting in online forums asking people to solve homework questions (or parts thereof) for you. Clearly cheating - Duh!
- Unfortunately, we are aware that (1) there are solutions to many homework questions available on the WWW, and (2) even USC students tend to cheat quite frequently on homeworks. Please help us restore faith in the integrity of Trojans by not being those students.
We run MOSS on all homework submissions to catch inappropriate collaboration and plagiarism. If we catch you cheating, you will be reported to SJACS, no exceptions. Follow the above guidelines to make sure this doesn't happen to you.
Again, most importantly, you should never send your code or test cases to anyone other than course staff, for any reason. As soon as you send it, you have no control over it; it could get shared with a lot of students. When code or test cases are shared, both students are culpable! Remember: friends that pressure you for unreasonable help are not really friends. There are plenty of course staff and instructors who are here to help!