Contents (hide)
  1 The course
  2 Textbooks
  3 Grading policy
  4 Submission system
  5 Email system
  6 Quizzes system
  7 Academic integrity


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.

  1. Introduction to data structures and algorithms.
  2. Principles of procedural and object-oriented programming, polymorphism, abstract classes and interfaces.
  3. Recursive definitions and programs.
  4. Algorithmic efficiency: upper bounds and computation of running time for basic sorting and searching algorithms.
  5. Java as a regular programming language, with examples from various areas in Computer Science, such as abstract data structures.

The welcome page you received in class.


  1. Java Software Solutions, John Lewis, William Loftus. Addison Wesley.
  2. Java Precisely, Peter Sestoft. MIT Press. (Old edition PDF.)
  3. מההתחלה Java, נועם גילעדי, גדי הולצמן ואיתן הרטמן.
  4. פרקי מבוא במדעי המחשב, אורי אברהם.

Grading policy

  • Final Exam (70-80%): Passing the final exam (grade tex) is a necessary condition for passing the course.

  • Midterm (10-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 no moed 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.

  • Grade calulation:

    Homework assignments (10%) = Assignments(8%) + Quizzes (2%): homework regulations

    If (Midterm grade > Exam grade) then Midterm 20% Exam 70%
    else Midterm 10% Exam 80%

  • Passing grade:
    You must pass both the exam and the assignments.
         If (Exam grade < 56) 
            then Final grade = Exam grade.
            else if (Assignment Grade < 56)
                  then Final grade = Assignment grade.

  • Appeals: AppealsRegulations.pdf

  • Lab Assignment: There will be one lab assignment during the first week of the course. This assignment is part of the first quiz. 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. Thus, it is of great value to do this assignment.

  • Special cases: exemptions and extensions
    For special cases, such as army reserve, hospitalization, etc. an exemption or extension from an assignment might be approved, under the right conditions.

    All special cases are handled in the submission system under a special assignment corresponding to the current assignment, with the word "Exemptions" in the assignment title.

    Open a submission group and put the appropriate documentation in the course mailbox (building 37, floor 0, box number 64, near the lab). Only requests that are received within two weeks from the relevant deadline will be considered.

    Your request will be processed. You can see the status of your request in the submission system. Here are the codes for the different events:
    201 - Missing document.
    202 - Your request has been approved and you are exempted from the assignment.
    203 - Your request has been approved and you get an extension. See your new Submission Deadline date.
    204 - Your request has been rejected. See grader notes for reject reason.

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:

  1. 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.
  2. 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.

Email system

We use the web, forum and email extensively in this course. Our email address is .
We also use an automatic system to divert your questions to the person in-charge.
That is why you should write your questions as clear as possible and address them using the correct medium.
All questions related to:
1. An assignment or a quiz: use the Help forum.
2. Studied material: come to the office hours.
3. Achva students registration: send an email using the following format
Email Subject: Achva Student
4. Account/user problems (login related issues): send an email using the following format:
Email Subject: Account problem
Email body should include:
ID: 12345
Username: myuser

5. Otherwise: send an email using the following format:
Email Subject: misc
Email body should include:
ID: 12345
Username: myuser
This will allow us providing you with an answer as soon as possible.
An example of an email in case the account is not in the system:

Email Subject: Account problem
Email Body:
It seems that I cannot login to the website in order to do the quiz.
I get an error message that my username/password are not correct.
My ID: 012345678
My Username: student1
Thanks in advance,

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.