Welcome

Tel-Aviv University
School of Computer Science
Introduction to Computer Science using Python
0368.1105
Spring Semester 2016



News

יום הסטודנט - השלמת תרגולים

שלום לכולם,
ביום חמישי ה- 26 במאי מתקיים יום הסטודנט, ושתי קבוצות התרגול של יעל (12-14 ו- 16-18) מפסידות תרגול.
שתי הקבוצות האלו יקבלו תרגול השלמה על חשבון ההרצאות של יום רביעי, ה- 25 במאי. במילים אחרות, בשבוע הקרוב:
- תרגולי יום שני מתקיימים כרגיל, והתרגול של מיכל בחמישי 10-12 גם כן מתקיים כרגיל. עבוד מי שרגילה ללכת לקבוצות תרגול אלו, לא יתקיים שיעור ביום רביעי.
- עבור מי שרגילה ללכת לתרגולים של יום חמישי 12-14 או 16-18, התרגולים יינתנו ביום רביעי או בין 13-15 או בין 15-17 (תרגולים זהים), באותו אולם של ההרצאה.
בברכה,
צוות הקורס


(20 May 2016 15:21)

HW6 is online

שלום לכולם,

תרגיל מספר 6 (התרגיל האחרון לסמסטר) פורסם ומועד הגשתו הוא 12.6.

התרגיל עוסק באיטרטורים וגנרטורים, אלג' קארפ רבין, דחיסת טקסט, עיבוד תמונה, וקודים לתיקון שגיאות.

הנושאים ילמדו בשבועות הקרובים ולכן בשלב הראשון תוכלו לענות רק על חלק מהשאלות. מומלץ להתחיל משאלות 1,3.

ניתן להגיע לציון כולל של 110 נקודות בתרגיל זה.

שימו לב שהשאלה האחרונה בתרגיל אינה להגשה.

בהצלחה,

צוות הקורס.


(15 May 2016 18:22)

תיקון שגיאה בפונקציה test בקובץ השלד של תרגיל 5

שלום לכולם,
השגיאה בפונקציה test בקובץ השלד של תרגיל מספר 5 שבודקת את המחלקה Polynomial תוקנה (היתה השוואה שגויה של פולינום ל None).

העלנו לעמוד תרגילי הבית קובץ בשם updated_test_function_hw5.py שמכיל את פונקציית test העדכנית והתקינה.

שבוע טוב,
צוות הקורס


(08 May 2016 18:08)

תרגיל 5 עלה לאתר הקורס

שלום לכולם,

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

בהצלחה
צוות הקורס


(01 May 2016 19:01)

תרגיל 4 עלה לאתר הקורס

שלום לכולם,

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

בהצלחה
צוות הקורס


(10 Apr 2016 18:13)

Correcting test() function in skeleton3.py file

שלום לכולם,
כפי שחלקכם כבר הבינו יש שגיאה בפונקציה test בקובץ השלד של תרגיל מספר 3.

בחלק הקוד שבודק את נכונות המימוש של find_maximum יש בעיה בקלט שמועבר לפונקציה: מועברת רשימה שמכילה רשימה, אבל פונקציה זו מצפה לקבל רשימה של מספרים.

אנא החליפו את שתי השורות הרלוונטיות בשורות הבאות:

if find_maximum([-3, 1, 2, 3, 80, 100, 6]) != 5 :
        print("error in find_maximum")

העלנו לעמוד תרגילי הבית קובץ שמכיל את פונקציית test העדכנית לאחר השינוי הנ"ל.

שבוע טוב,
צוות הקורס


(03 Apr 2016 11:44)

תרגיל מספר 3 פורסם

שלום לכולם,

תרגיל מספר 3 פורסם באתר הקורס: http://tau-cs1001-py.wikidot.com/ , ומועד הגשתו הינו 10.4.16.

הפורומים הרלוונטים לתרגיל 3 יפתחו בעוד יומיים.

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

בהצלחה,

צוות הקורס.


(27 Mar 2016 07:55)

קסם של קלפים לכבוד פורים

שלום לכולם,

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

האם תצליחו לגלות כיצד מיכל מנחשת את הקלף שאמיר בחר? האם מיכל ניחנה בכוחות טלפתיים? או שהיא פשוט משתמשת בידע שלה על מספרים בינאריים?

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

חופש נעים,

צוות הקורס


(23 Mar 2016 18:17)

תרגולי יום חמישי השבוע יועברו ליום רביעי במקום ההרצאות

שלום לכולם,

ביום חמישי ה- 24 במרץ אין לימודים.

שלוש קבוצות התרגול של יום חמישי יתקיימו השבוע במקום ההרצאות של יום רביעי, ב- 23 במרץ. במילים אחרות:

- עבור מי שרגילה ללכת לתרגולים של יום שני - ההרצאה ביום רביעי מבוטלת.

- עבור מי שמשתתפת באחד התרגולים של יום חמישי, התרגולים יינתנו ביום רביעי או בין 13-15 או בין 15-17 (תרגולים זהים), באותו אולם של ההרצאה.

בברכה,

צוות הקורס


(20 Mar 2016 16:31)

תרגיל מספר 2 פורסם

שלום לכולם,
תרגיל מספר 2 פורסם באתר הקורס: http://tau-cs1001-py.wikidot.com/ , ומועד הגשתו הינו 27.3.16.

הפורומים הרלוונטים לתרגיל 2 יפתחו בעוד יומיים.

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

בהצלחה,

צוות הקורס.


(13 Mar 2016 09:35)

שעות החונכות הקבועות לסמסטר

יתקיימו בימי רביעי בין 10:00 ל-12:00 בשרייבר 209 (קומה 2).

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


(13 Mar 2016 07:32)

זמן שעות החונכות הקרובות

שלום לכולם,

שעות החונכות הקרובות יתקיימו ביום רביעי בשעות 11:00 עד 13:00 במעבדת מחשבים 004 בבניין שרייבר.

לאחר כל פגישה, התרגילים שנפתרו עולים אל אתר הקורס תחת Recitation Logs בלשונית Ofer.

סוף שבוע נעים,
צוות הקורס


(04 Mar 2016 08:18)

HW1 in online

שלום לכולם,

תרגיל בית מספר 1 פורסם באתר הקורס

http://tau-cs1001-py.wikidot.com

מטרת התרגיל היא היכרות עם פייתון, IDLE ואלמנטים בסיסיים בתכנות.

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

הקפידו שהודעותיכם תהיינה קריאות וברורות: השתמשו בטיפים לעריכה בצד ימין של דף הבית, השתמשו באופציה preview, ובמידת הצורך עירכו את הודעותיכם לאחר הפרסום.

בהצלחה!

צוות הקורס


(28 Feb 2016 20:43)

ברוכים הבאים למבוא מורחב למדעי המחשב

ברוכים הבאים לקורס מבוא מורחב למדעי המחשב, סמסטר ב' תשע"ו.

אתר הקורס נמצא ב- http://tau-cs1001-py.wikidot.com/ וניתן להגיע אליו גם מקישור בדף הקורס ב- moodle.
באתר מופיע מידע על נהלי הקורס השונים (כולל תרגילי בית), אותם חובה לקרוא בעיון. כתמריץ לקריאת הנהלים, ישנו ב moodle שאלון קצר להיכרות עם נהלי הקורס, שמקנה (למי שיענה נכון על כל השאלות) תוספת של 2 נקודות לממוצע תרגילי הבית. המועד האחרון למילוי השאלון הוא 20/3/2016.
באתר יופיעו גם מצגות ההרצאות, חומר התרגולים, ותרגילי הבית. (בקרוב תופיע כבר המצגת של השיעור הראשון).

האתר מכיל פורום דיון כללי, ויכיל גם פורומים נפרדים לתרגילי הבית. נא לקרוא את ה- Forum Tips שמופיעים בצד ימין של עמוד הבית, בנוגע לכתיבת הודעות הכוללות עברית או פייתון. כמו כן השתמשו באופציה preview על מנת לוודא שההודעה שלכם מוצגת כפי שרציתם.

תרגיל בית מספר 1 יפורסם ביום בו תתקיים ההרצאה הראשונה, (להגשה במודל עד 13/3/2016) ויכלול חומר שיילמד בשתי ההרצאות הראשונות (יום ראשון ורביעי).
שימו לב: יש להגיע לשיעור התרגיל אליו אתם רשומים בלבד, ולא לקבוצה אחרת, בגלל שחלק מהכיתות מלאות.

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

בברכת סמסטר מהנה ומוצלח,
צוות הקורס


(25 Feb 2016 09:08)


Link to the card "magic" video, starring Michal and Amir:



Forums (see tips on the right ----->)

Do not forget to click "preview" before posting your message!


NEW!! Exam Forum
General Forum



All HW forums



Recent Forum Posts:

פתרונות ל2015: Re: פתרונות ל2015

By Amir Rubinstein on 14 Aug 2016 06:55

We do not have publishable solutions, but you can ask about any specific question, or set a meeting with me.

פתרונות ל2015: פתרונות ל2015

By Guy on 09 Aug 2016 08:58

יש אפשרות להעלות את פתרונות המבחנים שנערכו בסמסטר ב' של 2015?

Moed aleph: Re: Moed aleph

By Amir Rubinstein on 03 Aug 2016 07:15

I uploaded Moed A.

Moed aleph: Moed aleph

By red on 02 Aug 2016 12:16

I was wondering if the staff of this course could post here the test that was given in Moed aleph?(looked under "exams" sections but the newest one is from fall semester..)
some of us didn`t go and would like to practice for Moed beth. Thanks!

מועד א: מועד א

By idan on 30 Jul 2016 14:15

היי,לא ניגשתי למועד א' עקב חפיפה עם מבחן אחר. רציתי לשאול אם יש פה מישהו שהיה במועד א' והלך לו טוב (נאמר 80+) ,
שמוכן לשתף את המחברת בחינה שלו.
המייל שלי הוא moc.liamg|syravd#moc.liamg|syravd. תודה מראש,עידן

הפרכה ע״י דוגמא של קוד תיקון שגיאות:

By amir on 14 Jul 2016 19:51

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

הפרכה ע״י דוגמא של קוד תיקון שגיאות:

By Ido on 14 Jul 2016 15:43

תודה על התשובה,
לי יצא שמרחק האמינג הוא 3. נקח את המילה:
[1,0,0,0,0,0,0,0,0,1,0,0,1,0,0]
כלומר המילה החוקית שכמשתקבלת כאשר הריבוע הוא ריבוע אפסים למעט המשבצת השמאלית העליונה.

האם זה לא סותר את מה שאמרת? זה לא אומר שבהכרח קיימות מילים ׳חופפות׳ בספירה בעלת רדיוס 2 של שתי מילות קוד שונות?

מבחן 2015 סמס' ב' מועד א', שאלה 5 (אחרונה): מבחן 2015 סמס' ב' מועד א', שאלה 5 (אחרונה)

By Eyal Gavrielov on 14 Jul 2016 14:08

המבחן
היי, לא כ"כ הבנתי איך להשתמש בתנאי העצירה של repetitions. נראה שאני צריך להשתמש ברשימה ריקה כתנאי עצירה שלילי (מבוי סתום) ורשימה של רשימה ריקה כתנאי עצירה חיובי (הרצף נגמר), אבל אין לי מושג איך. מה אתם עשיתם?

הפרכה ע״י דוגמא של קוד תיקון שגיאות:

By amir on 14 Jul 2016 13:50

אני חושב שהדוגמה שנתת מספיקה, רק צריך להראות שכל המילים במרחק שתיים ממילה זו אינן מילות קוד. זה עשוי להיות קשה להוכחה: אם נעשה זאת בדרך ישירה, תהיינה 15choose2=105 מילים לבדוק.

דרך אחרת היא לחשב את מספר המילים (לא רק מילות קוד) בכל 'ספירה' בעלת רדיוס 2 של מילת קוד וסה"כ המילים בכל ה'ספירות'; מרחק האמינג שחושב בסעיף א' מבטיח שלא יהיו חפיפות בין הספירות.
לבסוף להשוות את התוצאה לכל המילים במרחב 15^{0,1} (כלומר האם קיימות מילים במרחב מחוץ ל-A).
הסבר יותר ברור למה שכתבתי מופיע בסוף הרצאה 21 (החל משקף 69).

2013 מועד א' שאלה 1:

By amir on 14 Jul 2016 12:51

הכוונה בשאלה היא כמה פעמים יש להפעיל את הפונקציה local medians על התמונה עד להעלמת הפיקסלים השחורים. כמובן שבכל פעם המטריצה שמוחזרת מחליפה את זו הקיימת.

הפרכה ע״י דוגמא של קוד תיקון שגיאות: הפרכה ע״י דוגמא של קוד תיקון שגיאות

By Ido on 14 Jul 2016 12:50

Hello,
In the exam 2015b_moed-a , Question 2d:
http://tau-cs1001-py.wdfiles.com/local--files/exams/exam_2015b_moed-a.pdf

c.png

How do I prove that a certain word is at distance greater than 2 from any codeword ?
In this questions, that will mean that there are words that are not contained in the subset, hence A does not contain all words.

For instance:

The word: [0,0,0,0,0,0,0,0,0,1,1,1,0,0,0]
(R1,R2,R3 = 1, the rest are zeroes)

Thanks!

הציונים שבתרגיל 6:

By Amir Gilad on 14 Jul 2016 10:43

הבונוס ישוקלל בציון של תרגיל 6.
אם הוא אכן לא כלול כבר בציון במודל, נבדוק ונתקן זאת.
תודה על תשומת הלב.

קוד בדף נוסחאות: Re: קוד בדף נוסחאות

By Yael Baran on 14 Jul 2016 09:18

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

הציונים שבתרגיל 6:

By nadav on 14 Jul 2016 08:57

מצטרף לשאלה, האם הבונוס משוקלל בציון הסופי או שלא כלול כלל?

סמסטר ב 2015 מועד ב שאלה 2:

By shahar on 14 Jul 2016 07:47

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

 for i in range (0, len(s1)-k+1): something.add(s1[i:i+k]) for i in range (0, len(s2)-k+1): if s2[i:i+k] in something: ... 

סמסטר ב 2015 מועד ב שאלה 2: סמסטר ב 2015 מועד ב שאלה 2

By יוסי on 13 Jul 2016 16:43

לא כל כך הצלחתי את שאלה 2 במועד ב סמסטר ב 2015.
עם סעיף ב במיוחד לא הסתדרתי .
תודה לעוזרים
זה הקישור
http://tau-cs1001-py.wdfiles.com/local--files/exams/exam_2015b_moed-b.pdf

קוד בדף נוסחאות: קוד בדף נוסחאות

By lee on 13 Jul 2016 15:43

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

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

האם ההנחיה עדיין עומדת והאם היא ניתנה גם ב-2014-2015?

תודה רבה

מבחן 2015 סמס ב מועד א:

By יוסי on 13 Jul 2016 12:28

אני עשיתי לולאה עם תנאי האם משתנה חיצוני (שמאותחל בתור 0 בינארי)
קטן מהמספר שנרצה להוסיף ל
self
בכל איטרציה הלולאה מוסיפה ל
RES
ולמשתנה 1 באמצעות
INC
בסוף מקבלים את הסכום

סיבוכיות של פונקציית הhash של פייתון:

By Amir Rubinstein on 13 Jul 2016 12:07

join goes over the list of strings, and concatenates them.
We don't know the details of the implementation, but it is reasonable to assume that the complexity is linear in the length of the output string (the total number of characters joined).

מבחן 2015 סמס א מועד ב שאלה 4א: מבחן 2015 סמס א מועד ב שאלה 4א

By shahar on 13 Jul 2016 11:43

האם אפשר להשתמש כאן בכלל הורנר? אם לא, מה התשובה?

2015aa שאלה 1 סעיף ב׳ ב:

By shahar on 13 Jul 2016 11:38

לינאריים בקיי אומר שהגודל שלהם הוא O(k).
הפונקצייה שכתבת היא בO(k^3).

הציונים שבתרגיל 6: הציונים שבתרגיל 6

By Eyal Gavrielov on 13 Jul 2016 09:42

היי, כפי שהודעתם לנו על מטלה 6 וגם כפי שכתוב בקובץ השאלות, הציונים הפעם הם לא עד 100 אלא עד 110.
עם זאת, לפי המודל לפחות, נראה שטווח הציונים הוא 0–100, כלומר הם עד 100, ולא 110.
אפשר לדעת אם זה מוצג ככה בגלל מגבלות המודל (או תקלה אחרת) או שבאמת החלטתם בסוף שהציונים יהיו עד 100?

2ב - מקרה קיצון: Re: 2ב - מקרה קיצון

By Assaf Chriqui on 12 Jul 2016 11:44

האם מותר לערוך רק תחת הפונקציה modified_ median?

2ב - מקרה קיצון: Re: 2ב - מקרה קיצון

By Assaf Chriqui on 12 Jul 2016 11:31

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

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

לא הבנתי מה נדרש ממני בסעיף ב׳
איך אני יכול בכלל לברור על מי לבצע את החציון?

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License