Contents (hide)
1 The course
2 Textbooks
4 Submission system
5 Email system
6 Quizzes system

# 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.

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.

## Textbooks

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

• 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.

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

else Midterm 10% Exam 80%

You must pass both the exam and the assignments.
     If (Exam grade < 56)
else if (Assignment Grade < 56)


• 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

5. Otherwise: send an email using the following format:
Email Subject: misc
Email body should include:
ID: 12345
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:
Hello,
It seems that I cannot login to the website in order to do the quiz.
My ID: 012345678
Student1.

## Quizzes system

Quizzes are done online, and you need to login to do them (as described in Main).