Tel-Aviv University
School of Computer Science
Introduction to Computer Science using Python
Fall Semester 2011/2012


Beware of DST issues

Don't arrive at 10:00 on Friday.

Hi all,

If you're planning to take Moed Beth, please note that this year Daylight Saving Time takes effect in Israel between Thursday (29/3) and Friday (30/3). Friday happens to be the day on which we have Moed Beth, at 9:00.

The clock will move one hour forward, the direction also known as less sleep.
Hopefully, it will not be known to you as what do you mean, the exam started an hour ago? Scheiße!.

Also, please plan carefully to make sure that the Tel Aviv Marathon doesn't get in your way to the university.

Good luck.

(28 Mar 2012 13:25)

Exam front page

Better read it now than waste two minutes of exam time on it.

Hi all,

To save you precious time during the exam itself, we uploaded the instruction page of the exam in the Exams page.
We strongly advise you to read it now (read: sadly, we know that in the midst of the exam you'll skip it completely).

Also, returned homework, including #6, will only be available in the copy room until the semester starts, so grab it during this week (or kiss it goodbye).

(26 Feb 2012 12:57)

Review recitation and HW grades

Wednesday at 14:00.

Hi all,

We hope your exams went well so far.

We'll meet for a review recitation in Schreiber 6 on Wednesday, Feb 29, at 14:00.
The plan is to go over questions from the past exams; if you want specific question (or something else) please say so in the forum.

Also, please see your anonymized homework grades on the Home Assignments page.

(26 Feb 2012 09:48)

Assignment #6 online submission

Now available, till tomorrow.


Moodle has been misbehaving today, so it took some effort to make it remember what I typed. Anyway, online submission is now open, till tomorrow noon.

Good luck in your upcoming exams!

(02 Feb 2012 14:13)

Past exams and HW #6 extension

You have till Thursday.

Hi all,

Please have a look at the Exams page for the three exams from the previous semester.
Also, the due date of home assignment #6 has been extended until Thursday at 18:00.

Once I set up a date for the review recitation, I'll put it up (but most likely it'll be two days before the exam).

(30 Jan 2012 16:51)

Assignment #6 is available

Now with extra bonuses! Due in two weeks.

Hi all,

Please find the sixth home assignment on the Home Assignments page (also accessible from the Resources menu).
As usual, submission of the code for this assignment is to be done online, via Moodle. The rest is to be handed in to Rani's box by 18:00 on Tuesday.

This is the last graded home assignment, so your HW grade is the average of best 4 out of 6 submissions; if you're already happy with the grades you have, you could allegedly skip submitting it, but since this home assignment has a total of 20 possible bonus points, you really shouldn't! (grades over 100 could push your HW grade even higher!)

Those of you who start solving the questions right now1 may have trouble downloading the shredded photos zip file.
I will publish it tomorrow after recitation, to give everybody a fair chance of getting the notice.
Read more about it in the relevant forum post.

At the end of the semester we will publish some more questions for you to practice, as well as past exams.

(17 Jan 2012 16:42)

Moodle + numpy = </3

Write your code for question 2 using Matrix class from recitation.

Hi all,

Alas, the online system that we use to grade your home assignments has support for neither numpy nor PIL.
Those of you who used these should adapt their code to use the Matrix class from recitation 8.
It should be pretty straight-forward, but feel free to ask questions in the forum if there's a specific construct that you can't ‘translate’ easily.

Also, check out moodle for home assignment #3 test cases.

(11 Jan 2012 16:50)

Assignment #5 is available

Now with more fun! Due in two weeks.

Hi all,

Please find the fifth home assignment on the Home Assignments page (also accessible from the Resources menu).
As usual, submission of the code for this assignment is to be done online, via Moodle. The rest is to be handed in to Rani's box by 14:00 on Monday.

(04 Jan 2012 17:46)

Assignment #4 redux

Moodle submission open again, just for tonight. Use it wisely.

For reasons beyond my comprehension, even though all of you surely completed the assignment in time (read: until 14:00), numerous students managed to avoid the online submission (or to upload a premature version) till it was past the programmed limit.

For your benefit I opened it again a few minutes ago and will close it tomorrow morning (probably just before the recitation).
If you need to re-upload, do it now.

(02 Jan 2012 18:17)

Assignment #4

Moodle open. Also, happy new year.

Hi all,

Moodle is now open for you to submit the online part of HW #4.
If you're not in TAU tomorrow (but you should! there's a lecture!) you may submit the hard copy till Monday noon.

See you next year (2012, that is).

The testing code (the part you have to add to your file) is now just one line — I tried to make it as short as possible to avoid copy/paste issues.

(31 Dec 2011 17:57)

השגות על מדיניות בדיקת התרגילים

פרופורציות בבקשה

בעקבות החזרת תרגיל 2 התקבלו אצלנו (צוות הקורס) מספר רב של תלונות, חלקן עקשניות למדי, על מדיניות הניקוד של תרגילי הבית. אנחנו עושים טעויות פה ושם
ואנחנו בהחלט מוכנים לבדוק את השגותיכם, ואם הורדו נקודות בטעות, גם להחזירן. אבל אם החלטנו למשל שאי צירוף הסבר לקוד מסויים גורר הורדת 10 נקודות, או שאם הקוד לא רץ מסיבה כלשהי, מורידים 20 נקודות (שוב, זו דוגמה), אתם מתבקשים לקבל זאת בלי וויכוחים מרים, גם אם לדעתכם זה מופרז או לא צודק.

חריגה אישית ממדיניות הניקוד שקבענו אינה הוגנת כלפי שאר התלמידים. בנוסף, עקב המספר העצום של התלמידים אין באפשרותנו להכנס לדיונים פרטניים על מדיניות הניקוד. לא נוכל גם לאפשר הרצות נוספות או תיקוני קוד אחרי מועד ההגשה. נעיר כי המדיניות של אן מינוס 2 התרגילים הטובים, יחד עם השקלול הסופי, משמעותם
שהיו לא מעט התלהטויות יצרים עקב נושא שמשמעותו המירבית היא חצי נקודה (ממאה) בציון הסופי, וגם זה בתרחיש פסימי. פרופורציות בבקשה!

אנחנו מאוד מבקשים לשמור את האנרגיות להבנת החומר ולפתרון השאלות, ולא להכנס איתנו לוויכוחים אשר חלקם גלשו לאוירה לא מתאימה, לפחות לא לטעמנו. אנחנו מנסים לנהל את הקורס האתגרי (במובנים רבים) הזה באוירה נעימה לכל הצדדים. אנא אפשרו לזה להמשיך ולהתקיים.

(13 Dec 2011 23:32)

Assignment #3 clarifications

Read before you submit. Also, +4 to all for Q1 in assignment #2.

Assignment #3


The mathematical statement $x = y \pmod m$ is equivalent to the Pythonic statement (x-y)%m == 0.
Specifically, we have b == a % (3**100 + 1).

Also, what we wanted to ask is whether you can find an integer root of $g(x)$ provided that one exists.


For the sake of computing complexity in (b), you may assume that the longest run of spaces in text is of length at most 100.
That is, I don't want you to answer something like “worst case is text = ' '*n”.
Your code for (a) still needs to work for any number of spaces.

Note: it's OK if your solution for (a) has worst-case linear complexity and average-case sub-linear complexity.
How to get, if possible, worst-case sub-linear complexity is to be discussed in (c).

Assignment #2

  • We'll publish soon in Moodle the test inputs we used for Q4-Q6, so you can see how your code fared.
  • Due to a misunderstanding, many of you got -4 for Q1 ("proper divisors"). To offset for it, you all get +4. No need to appeal.
  • If you have an appeal about some other question, please put the exercise in my box along with a short note explaining what's the problem and I'll take care of that.

(05 Dec 2011 12:01)

Assignment 3 is available

50% shorter; due in a week. Also: no recitation on Friday.

  • Please find the third home assignment on the Home Assignments page (also accessible from the Resources menu). Submission of the code for this assignment is to be done online, via Moodle. The rest is to be handed in to Rani's box by 20:00 on Thursday (note the change of day and time!)
  • Graded assignment 2 will be returned in next week's recitations (Mon/Tue), so you have time to review the feedback.
  • Instead of getting you here on Friday, I will adjust the pace of Tuesday's recitations so we catch up with Monday's recitations in about two weeks. This shouldn't bother you unless you tend to alternate between the two days. Obviously, home assignments will contain only questions you all can solve.

(29 Nov 2011 23:51)

Two steps ahead; one to the side

Assignment 1 is back; moodle is open for submissions; TAs strike on Tuesday.

Hi all,

  1. If you haven't done so, please take your checked assignment 1 from the copy room in Schreiber 114. It's open daily till 14:30.
  2. You may now submit the online questions of assignment 2 to Moodle. Please contact me if you cannot see the course and I'll register you there.
  3. The junior academic staff has just declared a strike on Tuesday. I advise you to come to Monday's recitation. If needed, we'll make adjustments to future recitations and home assignments due date.


(20 Nov 2011 22:57)

Assignment 2 is available

Not very much longer; due in a week.

Please find the second home assignment on the Home Assignments page (also accessible from the Resources menu).

Submission of the code for this assignment is to be done online, via Moodle (still not available). The rest is to be handed in to Rani's box by 18:00.

(14 Nov 2011 01:05)

Delay in publishing of assignment 2

Not yet available. Relax.

I know you can barely wait for it, but the second assignment is not ready yet.
It will be posted here soon-ish.

(09 Nov 2011 23:25)

Recitation today

No strike :(

The strike is only until 10:00, so we will have our recitation today.
If you miss this announcement, or are not able to arrive in time (e.g., your bus in on strike), you can come to tomorrow's recitation.

(07 Nov 2011 05:50)

How to use IDLE

A video from Youtube.

So you downloaded and installed Python from http://python.org. What now?

Perhaps this video tutorial about IDLE could be useful for you.
The desktop displayed there is Ubuntu Linux, but IDLE behaves very much the same on all platforms.

Reminder: if you're looking for online Python tutorials, remember to choose only those which are specifically for Python 3.

(02 Nov 2011 01:20)

Assignment 1 is available

Short for start; due in one week.

Please find the first home assignment, along with submission instructions, on the Home Assignments page (also accessible from the Resources menu).

We've just started the course, indeed, but don't worry — you already know everything necessary to be able to solve it :)

(02 Nov 2011 01:01)

Recent Forum Posts

{"module":"feed\/FeedModule","params":{"src":"http:\/\/tau-cs1001-py.wikidot.com\/feed\/forum\/cp-509196.xml","limit":"10","module_body":"+++ %%linked_title%%\n[[span style=\"color: gray; font-size: smaller\"]]By %%custom wikidot:authorName%% on %%date%%[[\/span]]\n%%long%%"}}
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License