| Contents (hide) 1 The course 2 Textbooks 3 Grading policy 4 Submission system 5 Quizzes system 6 Academic integrity |
Syllabus
The course
The purpose of the course is to explain and to exercise the basic concepts in Computer Science, object-oriented programming, and programming principles, using the Java programming language.
- Introduction to data structures and algorithms.
- Principles of procedural and object-oriented programming, polymorphism, abstract classes and interfaces.
- Recursive definitions and programs.
- Algorithmic efficiency: upper bounds and computation of running time for basic sorting and searching algorithms.
- Java as a regular programming language, with examples from various areas in Computer Science, such as abstract data structures.
Textbooks
- Java Software Solutions, John Lewis, William Loftus. Addison Wesley.
- Java Precisely, Peter Sestoft. MIT Press. (Old edition PDF.)
- מההתחלה Java, נועם גילעדי, גדי הולצמן ואיתן הרטמן.
- פרקי מבוא במדעי המחשב, אורי אברהם.
Grading policy
- Final Exam (70%): Passing the final exam (grade
) is a necessary condition for passing the course.
- Midterm (20%): There will be an obligatory midterm exam (בוחן) during the course.
Students who miss a midterm will receive a 0 grade on the midterm.
We will make exceptions only in cases which would entitle the student to a
moed gimel
in case of a final exam (such as extended reserve duty (מילואים), or hospitalization). There will be nomoed bet
in the midterm. In the event that the university will not be able to allocate resources to hold a midterm, the final exam will constitute 90% of the final grade. - Assignments (10%): There will be 4-5 obligatory homework assignments during the course. In order to get a
passed
grade your submissions should: (a) compile, (b) most of the methods should generate correct output. You must have an average assignments grade
in order to pass the course.
A submission delay of up to 24 hours results in a penalty of 10 points. Up to 48 hours — 20 points. Later submissions will not be accepted. If you do not hand in a homework assignment, you will receive a 0 grade on that assignment, and fail the course!. In case of severe illness (hospitalization) or extended army service (מילואים) you might be excused from handing in an exercise.
You may hand in the exercises either by yourself or with one other student. Students whose partner has a valid reason not to hand in some assignment must still hand in the assignment. Submission in larger groups is allowed, but the resulting grade will be partial — the grade will be divided between the pairs in the group. E.g., a student in a group of 3–4 submitters will receive 50% of the grade, etc. Cheating will not be tolerated. (See the section below on Academic Integrity.)
- Lab Assignment (0%): There will be one obligatory lab assignment during the first week of the course. It will familiarize you with the assignment submission process. All submission problems due to incorrect accounts, wrong registration, etc., must be handled during this assignment. It also includes the lab quiz (not part of Quizzes).
- Quizzes (0%): There will be an obligatory online quiz every week. The quiz is automatically checked upon submission, and can be resubmitted. The final grade will be reduced by 2 points for each unsubmitted quiz, after the first two unsubmitted quizzes. The grades you receive for the quizzes do not matter, and it is ok to resubmit without limit.
- Deadlines:
Homework assignments and quizzes will not be accepted after the deadline. If you cannot meet a deadline then hand in as many of the questions as you have completed.
- Exemptions: If you need an exemption from handing in an exercise, submit a written request together with any required documentation (miluim, hospitalization, etc) to the mailbox of the course (). This must be done at the earliest time possible. Late requests will not be considered. Do not submit requests via the submission system interface.
Submission system
All assignments should be submitted, in time, via the Submission System. Note that no special extensions will be provided if you fail to submit at the last minute, unless there is a communication failure confirmed by the Computation Center. The deadline in the submission system is one hour after the deadline published in Assignments, and you are expected to abide by the latter. Submissions by email will not be accepted. If you are in a special circumstance, you need to secure an extension before the deadline, and the submission group needs to be created before the deadline as well.Submission instructions:
- You should submit a single archive file in ZIP format containing only the files requested in the assignment. Any newer submission for a given assignment overrides the previous one (if any). The file names should be exactly as specified in the assignment. All directory names and any additional file names must be in English.
- The code should compile together with a simple sanity testing function which will call each of the required methods with simple parameters.
If the above does not hold, the submission will be rejected, with an explanatory message (including the testing code).
In order to submit an assignment late (after deadline), you need to write a request in the late submission box at the bottom of the submission group details, after which you should be able to make a late submission. See the late submission policy in the previous section. Note that if you secured an assignment extension (e.g., due to reserve duty), this does not apply to you – your personal deadline should be extended instead.
Quizzes system
Quizzes are done online, and you need to login to do them (as described in Main).Academic integrity
Cheating in university courses is regarded as a serious offense. To avoid any possible misunderstanding, please read the following carefully.Academic dishonesty includes any act of obtaining, soliciting or making available to others, material related to homework assignments. If you commit any of the above, then you are guilty of academic dishonesty. If your partner commits any of the above and you submit the assignment jointly, then you are just as guilty of academic dishonesty. If you choose to work with a partner, then you are both personally responsible for what you submit together. Claiming that you were not aware of the fact that your partner copied the assignment from somebody else will not absolve you of any responsibility.
To eliminate any doubts, we make no distinction between the two (or more) sides of the cheating. If we suspect that Bob and Alice have copied an exercise one from the other, we see no way they could have done this without cooperation. It is your own responsibility to make sure that nobody can copy your files. Be discreet.
We will not tolerate academic dishonesty in this course. If you are suspected of academic dishonesty, then a complaint will be filed with the university disciplinary board (ועדת משמעת) and a detailed report placed in your academic records. The minimal penalty for this type of offense is a grade of zero in the course. You might also be expelled from the university.
We keep records of submitted homework assignments, and reserve the right to check for academic dishonesty anytime after you have submitted an assignment.
To remove any doubt: you cannot share any amount of source code with other students. If you copied just a bit
, it cannot be considered as a mitigating (special) circumstance in the disciplinary hearing, since in programming, details are crucial. Neither the difficulty of an assignment can be considered such a circumstance. Similar programs submitted by more than one group will be considered as cheating.