Syllabus, CPSC 331, Winter 2017

home page -  news -  syllabus -  schedule -  assignments -  tutorials -  java -  references -  Mike Jacobson


about CPSC 331 -  learning goals -  CS background -  math background -  writing background -  how to succeed -  what to avoid -  assessment

 What to Avoid

Don’t Get Booted Out!

This is important enough to repeat: A prerequisite grade of C− or better is required for the prerequisites for this course!

Under exceptional circumstances (and, indeed, only under exceptional circumstances), the Department of Computer Science does occasionally waive prerequisites. Students needing to apply for a prerequisite waiver should do so as soon as possible.

If you apply for a prerequisite waiver for this course and this request is denied then the Department may be able to suggest alternatives that will allow you to get back into your program sequence.

That said, students do occasionally find ways to register in this course without satisfying the prerequisite requirements or having them waived. However, the Department of Computer Science checks for this and removes these students from its courses early in each term. As a rule we are not particularly sympathetic to students who try to bypass our requirements.

Don’t Fall Behind!

There is quite a bit to learn and do in this course, especially for students whose programming prerequisite did not discuss object-oriented programming or introduce the programming language Java.

Reading assignments, tutorial exercises, and lecture attendance should be sufficient to allow students to master the required material — but the workload is sufficiently high that if you neglect this course for any length of time then there will likely be too much missed work for you to get though successfully.

Similarly, assignments are distributed in this course several weeks before they are due. Students who being work on the assignments as soon as they are available can generally complete them. Students leaving the assignments until shortly before their due dates do not have any realistic chance of doing so.

Don’t Overestimate Your Knowledge or Skills!

It is much easier to understand somebody else’s solution for a problem, as this is being presented to you, than it is for you to solve a problem on your own.

Students who skip the work needed to prepare for tutorials, by trying to solve problems ahead of time, or who skip the tutorials (and the discussion of solutions in them) frequently do much worse on tests in the course than they expect to.

Don’t Cheat — Either Deliberately or By Accident!

All work that you submit must reflect your skills and your understanding of material if you are submitting the work as an individual student. It must reflect the skills and understanding of the students in your group, and no one else, if you are submitting the work as part of a group.

Anyone else’s work, that you include in a submission, must be clearly identified as such — and if an assignment indicates that you are to complete it by yourself then you cannot complete it as part of a group, with other students, under any circumstances.

You must not interfere with other students’ opportunities to learn.

Most of the information that follows expands on the above.

Please Note!

It is the instructor’s job to make information about student misconduct available to you — but it is your job to read this information and to make sure that you understand it. Failure to do this is not a legitimate excuse for academic misconduct.

Please contact the instructor if you have any questions about this information on this page.

General Information

Student misconduct (cheating, plagiarism, or any other form) is a very serious offence that will be dealt with rigorously in all cases. A single offence may lead to disciplinary probation or suspension or expulsion. The Faculty of Science follows a zero tolerance policy regarding dishonesty. Please read the sections of the University Calendar under the heading “Student Minsconduct” for additional information.

The University of Calgary has also produced some general material about honesty in academics. It is worth your time to read through this material!

Note that if one student provides help to another student, in a way that violates the following rules, then both students have committed academic misconduct and both students will be penalized.

More specific information about what is, and is not, allowed in CPSC 331 is provided below.

Tutorials and Tutorial Exercises

Anything goes! (Well, just about.) The tutorial exercises are not for credit and the work you do on these will not be assessed.

As discussed above, you should try to solve problems on tutorial exercises on your own before attending tutorials where these problems are discussed, because this is really the only reliable way to make sure that you can solve these problems on your own — and you will need to solve problems like these on your own, later on (either on assignments and tests in this course or in later courses).

As a courtesy to other students, please do not advertise solutions for the problems on these exercises: Other students will generally benefit most from these exercises by solving them on their own (or only with whatever help is absolutely necessary).

Assignments: Problems Requiring Written Solutions

Your work on assignments will probably be split into three stages: Figuring out how to solve the assigned problems, then writing up your solutions, and trying to improve your solutions after you have first written them up. You should allow time to do all three of these things.

  1. Figuring Out How To Solve Problems

    You are allowed to work together with other students in order to figure out how to solve problems on assignments. However, you must state that you did this, and include the names of the people you worked with (that is, all other people with whom you worked, if you are submitting this work as an individual, and all other people who are not students in the same group as you are in, otherwise), in the material you submit for credit.

    Yes — you are also allowed to look for and use other reference material that might include solutions for these problems. However, there are rules that you must follow when writing up your solution if other reference material has been used. See item 2, below, for more information about this.

    On, the other hand, you are not allowed to use newsgroups, message lists, or other mechanisms like this in order to broadcast requests for help on assignment problems to large groups of people (whom you do not necessarily know).

    You should also note that it is usually easy, in CPSC 331, for instructors to choose problems that do not have published solutions in easy-to-find places! Furthermore, solving assignment problems on your own instead of finding their solutions elsewhere is generally an effective way to prepare for class tests and the final examination.

  2. Writing Up Your Solutions

    It is important that your submitted work shows your understanding of the course material (or your group’s understanding of it, if this is a group submission) instead of someone else’s.

    If you have discussed a problem on an assignment with other students who are not in your group (or, indeed, with anyone who is not a CPSC 331 student at all) or if you found material elsewhere that was helpful, then your sources must be identified as “references,” even if you have not copied anything from these sources directly into your own solution.

    Furthermore, if you are not copying reference material directly into your own solution then you should not have this material anywhere near you when you write up your solution — and you should wait a significant amount of time (at least an hour or two) after you last looked at this material before writing your own solution down.

    On the other hand, material that you do copy must be easy to identify: It must be possible for a reader of your work to see, just by a single glance, that it is different from the material that you wrote yourself. The source of the copied material must be listed — prefererably either immediately above or below the material you are copying — as well.

    Note that if you have found a significant part of a solution elsewhere and have copied it as described above, then the mark that you will receive will not be as high as it would have been if you had solved the problem on your own. You will probably not be as well prepared for class tests as you would be if you had solved the problem on your own, either. However, you may still receive partial credit (depending on what other material you have included and how you have used it) and, at least, you will not be committing “academic misconduct” if you cite other peoples” work when using it.

    Note, by the way, that these rules (about the identification of other peoples’ material) apply to all material that you did not produce yourself — including material in the text book, and material provided by either the instructor or a teaching assistant.

    These rules also apply to programs and documentation that you write to solve programming problems, as well as the written material that you submit as solutions for all other problems.

  3. Improving Your Solutions

    No, you may not show your solution (after having started to write it up) to any other student who is currently taking CPSC 331 — with the exception of a student in the same group as you are, for a group submission — even though this is allowed in some other situations: You are both trying to solve the same problem, and there is too great a risk that your work, or the other student”s work, will be compromised if another student looks at what you have written at this point!

    No, you may not ask any CPSC 331 teaching assistant to proofread your solution, either. Teaching assistants are not paid for this, so it is not fair to ask this of them.

    Yes, you may show your solution to someone else who is not currently a student in CPSC 331. In particular, the course instructor will definitely be willing to look at your work work before you submit it, if you bring it to them during their office hours for this course.

    It is perfectly acceptable for other people (besides other CPSC 331 students and teaching assistants) to look for and tell you about bugs in your code, logical errors in your arguments, incorrect applications of techniques, problems with your writing, or other kinds of problems with what you have written. However, it is not acceptable for these people to correct the errors or to write any part of your solution for you!

    Note that if you do show your work to someone else and they comment on it, then you must include the names of these people and describe the help they provided in the work that you submit, too.

    You should show this page to anyone whose help you request before you show them your work, in order to be sure that they know what is allowed.

Assignments: Problems Requiring Programs as Solutions

As noted above, you certainly can show your code to people who are not also taking this class for help with debugging. Any help that you get should be acknowledged.

If you find code elsewhere that could be used to solve part of a problem and you include it then you must label this code, very clearly, as code that you did not write yourself. It should be practically possible for a reader not to see which code is different from your own!

You may not share code with other students (outside your own group, if you are working in a group) or show your code to other students.

Class Tests and Final Examination

Make sure that you have read and that you are following the instructions given for a test. Avoid behaviour that would disturb other students who are also writing the test or otherwise prevent them from doing well.

Final Advice

Better Safe Than Sorry: Please do not assume that something is allowed (if there is any doubt about this, at all) if it is not discussed here. Instead, please contact the instructor if you think that something might be allowed but are not certain about this.


Last updated:
http://www.cpsc.ucalgary.ca/~jacobs/Courses/cpsc331/W17/syllabus/what_to_avoid.html