ההרצאה

Download Report

Transcript ההרצאה

5
Packages
for teaching CS1 & CS2
Ori Arad
The Israeli Computer Science
Teachers Conference 2012
3/7/12
Familiar?... 
1992
Inside Class
Outside Class
1992=>2012
Play Outside
1992=>2012
Pascal
C
Java
C#
2012
Inside Class
Outside Class
Phonebook
Phonebook => Facebook
‫ממשק המחלקה ‪SimpleFacebook‬‬
‫תיאור‬
‫פעולה בונה‬
‫פעולה המבצעת התחברות‬
‫פעולה המחזירה רשימת חברים‬
‫פעולה‬
‫)(‪SimpleFacebook‬‬
‫‪boolean login(String user,‬‬
‫)‪String password‬‬
‫)(‪User[] getFriends‬‬
‫פעולה המחזירה את שם המשתמש‬
‫)(‪String getName‬‬
‫פעולה המחזירה את תאריך הלידה‬
‫)(‪Date getBirthday‬‬
‫פעולה המחזירה את כתובת המייל‬
‫)(‪String getEmail‬‬
‫שאלות ‪SimpleFacebook‬‬
‫• כתוב פעולה המדפיסה את שמות כל חברייך‪ ,‬שתאריך‬
‫יום הולדתם זהים לשלך‪.‬‬
‫• כתוב פעולה המדפיסה את שמות כל החברים של‬
‫החברים שלך – שאינם חברים שלך‪ .‬‬
‫• שכלל את הפעולה‪ ,‬כך שלצד שמם‪ ,‬יודפס גם מספר‬
‫החברים המשותפים שלכם‪ .‬מיין את הרשימה‪.‬‬
‫ממשק המחלקה ‪SimpleGmail‬‬
‫תיאור‬
‫פעולה בונה‬
‫פעולה המבצעת התחברות‬
‫פעולה‬
‫)(‪SimpleGmail‬‬
‫פעולה המחזירה רשימת הודעות‬
‫‪boolean login(String user,‬‬
‫)‪String password‬‬
‫)(‪Message[] getMessages‬‬
‫פעולה המחזירה רשימת תיקיות‬
‫)(‪Folder[] getFolders‬‬
‫פעולה המחזירה את כותרת המייל‬
‫)(‪String getTitle‬‬
‫פעולה המחזירה את תוכן המייל‬
‫)(‪String getBody‬‬
‫פעולה המחזירה את תאריך השליחה‬
‫)(‪Date getSentDate‬‬
‫שאלות ‪SimpleGmail‬‬
‫• כתוב פעולה המדפיסה את כל הודעות הדואר‬
‫שמקיימות את שני התנאים הבאים‪:‬‬
‫‪ o‬נשלחו בין התאריכים ‪.1/5/12-1/6/12‬‬
‫‪ o‬תוכן ההודעה מכילה את המילה <שם התלמיד>‪.‬‬
SimpleGoogleMaps
‫ממשק המחלקה‬
SimpleGoogleMaps
‫פעולה‬
SimpleGoogleMaps()
void setLatitude(double lat)
void setZoom(int zoom)
void setWidth(int width)
void setMapType(int type)
void refresh()
‫תיאור‬
‫פעולה בונה‬
)‫הרוחב‬-‫קביעת מיקום (קו‬
‫קביעת הזום‬
‫קביעת רוחב חלון התצוגה‬
‫קביעת סוג המפה‬
‫עדכון תצוגת המפה‬
Code Example
SimpleGoogleMaps sgm = new SimpleGoogleMaps();
sgm.setLatitude(32.776760);
sgm.setLongitude(35.027222);
sgm.setZoom(17);
sgm.setWidth(640);
sgm.setHeight(640);
sgm.setMapType(SimpleGoogleMaps.HYBRID);
sgm.refresh();
From Turtles to Maps?
SimpleGoogleMaps
SimpleGoogleMaps
RSS – Rich Site Summary
‫ממשק המחלקה ‪SimpleRss‬‬
‫תיאור‬
‫פעולה בונה‬
‫פעולה המחזירה מערך של הודעות‬
‫פעולה‬
‫)‪SimpleRss(String url‬‬
‫)(‪Item[] GetItems‬‬
‫‪Item:‬‬
‫פעולה המחזירה את כותרת ההודעה‬
‫)(‪String GetTitle‬‬
‫פעולה המחזירה את תיאור ההודעה‬
‫)(‪String GetDescription‬‬
‫פעולה המחזירה את קישור ההודעה‬
‫)(‪String GetLink‬‬
Code Example
SimpleRss rss = new SimpleRss(url);
Item[] items = rss.GetItems();
for (int i = 0; i < items.Length; ++i)
{
Console.WriteLine(items[i].GetTitle());
}
‫שאלות ‪SimpleRss‬‬
‫• כתוב פעולה המקבלת מערך של מחרוזות מהצורה‪:‬‬
‫”‪“1/1/80 Yossi Cohen 93‬‬
‫ומדפיסה את המחרוזות ממוינות עפ"י תאריך הלידה‬
‫לעומת‪:‬‬
‫• כתוב פעולה המקבלת מערך של מחרוזות מהצורה‪:‬‬
‫”‪“28/6/2012 Germany 1-2 Italy 3‬‬
‫ומדפיסה את המחרוזות ממוינות עפ"י תאריך המשחק‬
‫תמונה כמערך דו‪-‬מימדי של‬
‫פיקסלים‬
‫ממשק המחלקה ‪SimplePicture‬‬
‫תיאור‬
‫פעולה בונה‬
‫פתיחת קובץ קיים‬
‫שמירה לקובץ‬
‫פעולה המחזירה פיקסל מסוים‬
‫פעולה המחזירה את הפיקסלים‬
‫כמערך דו‪-‬מימדי‬
‫פעולה המשנה את הגוון האדום‬
‫של פיקסל מסוים‬
‫פעולה‬
‫)(‪SimplePicture‬‬
‫)‪boolean open(String filename‬‬
‫)(‪boolean save‬‬
‫)‪Color getPixel(int x, int y‬‬
‫)(‪Color[][] getPixels‬‬
‫)‪void setRed(int x, int y, int red‬‬
SimplePicture ‫פעילויות עם‬
SimplePicture ‫פעילויות עם‬
Some more ideas
•
•
•
•
•
•
•
•
SimpleGoogleTranslate
SimpleGui
SimpleComm
SimpleGoogleTasks
SimpleYoutube
SimpleSound
SimpleChat
ConsolePlus
5 Principles for Development
1. Simple to Use
2. Both C# & Java
3. Open Source
4. Coding-Standards + Documentation
5. Worksheets included
Questions?...
Links & Contacts
• facebook: http://www.facebook.com/ori.arad
• E-mail: ori.arad.empire (at) gmail.com
• Keep updated with project’s status in the following
link: http://code.google.com/p/simple-cse/