جمعه، شهریور ۲۶، ۱۳۸۹

امتحان عملی

آخرین امتحان عملی در روز ۴شنبه ۷ مهر ساعت ۱۰ صبح در محل سایت دانشکده گرفته میشود. عدم شرکت در امتحانهای عملی منجر به افتادن در درس خواهد شد.

شنبه، شهریور ۰۶، ۱۳۸۹

چون چهارشنبه تعطیله امتحان منتقل شد به شنبه ساعت ۱۱ صبح.

جمعه، شهریور ۰۵، ۱۳۸۹

امتحان عملی

امتحان عملی در دو نوبت گرفته میشود. نوبت اول چهارشنبه‌ی جاری ساعت ۱۰ صبح و نوبت دوم در هفته اول مهرماه.
کسانی که شهرستانی هستند میتونند در هفته اول مهر امتحان بدهند. کسانی که در امتحان این هفته نمره قبولی دریافت نکنند هم میتوانند در امتحان دوم باز شرکت کنند.
عدم شرکت در امتحان عملی منجر به افتادن در درس خواهد شد.
--
در ضمن یکی از دوستان گفته که دوشنبه از ۹ برای کمک در سایت کلاس حل تمرین میگذاره.

سه‌شنبه، مرداد ۲۶، ۱۳۸۹

تمرین های جلسه های 1 و 2 این 6 جلسه

تمرین های داده شده در دو جلسه ی اول این 6 جلسه را می توانید از لینک های زیر دریافت کنید. ابتدا باید به سایت http://cw.sharif.ir وارد شوید و login کنید، سپس از لینک های زیر استفاده نمایید.

شنبه، مرداد ۲۳، ۱۳۸۹

بارم بندی قدیمی کلن کنسل شده و دادن امتحان عملی برای کسانی که پروژه هم حضوری تحویل داده اند اجباری است.

بارم بندی جدید برای نمره‌ها

امتحان پایان ترم: ۸ نمره
امتحان عملی: ۱۲ نمره
دیگر موارد (حضور در کلاس و پروژه و تمرینات و ...): ۳ نمره

درس این ۶ جلسه و تمرینات

سه‌شنبه، مرداد ۱۹، ۱۳۸۹

کلاس‌های تابستانه

با توجه به شرایط پیش امده قرار بر این شد که در دو هفته ی پیش رو روزهای شنبه، دوشنبه،چهارشنبه ساعت 2 تا 12 در سایت کلاس تشکیل شود.
۳ هفته بعد دوباره امتحان عملی گرفته میشود و هرکسی که نتواند در آن قبول شود درس را می افتد. همچنین شرکت در کلاس‌ها اجباری است.
در مورد دوستان شهرستانی، ترجیحا اگر میتوانند کلاسها را بیایند. ولی دادن امتحان برای تمام بچه ها اجباری است و بنا به درخواست خود شما از خرداد به تابستان منتقل شد. چنانچه کسی امتحان عملی را ندهد درس را پاس نخواهد کرد. همانطور که از ابتدای سال گفته شد این ترم وضع نمره دهی با ترم قبل فرق دارد و اصلا مهم نیست اگر نصف آدم‌ها درس را پاس نکنند. بلکه مهم این است که برنامه نویسی را در حد لازم برای یک دانشجوی علوم کامپیوتر بلد باشند.

یکشنبه، مرداد ۱۷، ۱۳۸۹

نمرات امتحان از ۱۰. روز ۳شنبه عصر بعد از امتحان عملی میتوانید به این نمره اعتراض کنید.

88104349 v 7.5
87108832 n 6.5
88109347 v 4.5
97102216 j 9
88102218 gh 3.5
88101568 s 6
88101932 n 4.5
87102708 h 2.5
87104541 s 4
88101235 s 5.5
88105826 b 2
87104217 z 5
88102156 j 6.5
88101698 m 4.5
85109985 p 4.5
88103609 s 6.5
88101138 gh 4.5
84102424 h 0
88104243 k 8
87102432 h 9
84107971 m 1
87105868 e 9.5
88109466 a 3
88108618 h 4.5
86108733 n 8
88103406 z 1
84104103 z 0
87101374 b 6
87107163 k 3.5
84105108 s 4.5
88105259 f 4
87107247 k 2
87101899 t 7
87103461 r 3
88105389 m 7
87105881 gh 8.5
84108857 i 0
87109356 v 6
88105248 sh 5
88105731 m 4
88101676 s 2
84108202 n 2.5
84105068 s 0
88104073 h 9.5
88021114 sh 0
87111431 m 4.5
84110105 m 2
88110986 a 1
87110508 f 3
88102875 b 9.5
87110384 b 2.5
86108636 m 8
88102818 e 3.5
87102251 ch 2.5
88102326 h 6.5
86102066 p 2

چهارشنبه، مرداد ۱۳، ۱۳۸۹


دوستان عزیز،

برنامه ی امتحان و تحویل پروژه:
روزهای شنبه، یک شنبه و دوشنبه ی هفته ی بعد (یعنی ۱۶ مرداد و ...) همه میتونند بیاند سایت دانشکده و اشکالاتشون رو در باره ی پروژه یا هرچی برطرف کنند. البته من خودم تمام ساعات رو حاضر نیستم ولی تی ای ها و هرکسی که فکر میکنه میتونه کمکی بکنه لطفا بیاد و همدیگر رو راه بندازین.
کسانی که خیلی با پروژه شون حال میکنند یا اینکه پروژه ی غیر از وب کراولر رو انجام دادند روز دوشنبه عصر پروژه شون رو به صورت حضوری به خود من با تمام مستندات تحویل میدند.

شما باید پروژه تون رو تا قبل از روز سه شنبه ساعت ۶ صبح به این ترتیب ارایه داده باشید:
اولا تمام سورس کدها، ثانیا کدهای کامپایل شده و قابل اجرا، و ثالثا یک گزارش از کارتان با فرمت پی دی اف. در این گزارش موارد زیر حتما و لزوما باید گنجانده شوند:

۱- پروژه ای که نوشته اید دقیقا چه کارهایی انجام میدهد.
۲- برای نوشتن آن از چه زبان و تکنولوژی ای استفاده کرده اید و احیانا به نظر خودتان نقطه قوت پروژه تان چیست؟
۳- چند اسکرین شات از برنامه تان در حال اجرا در وضعیت های گوناگون. (با استفاده از دکمه ی پرینت اسکرین از صفحه عکس بگیرید)
۴- نحوه ی کار کردن با برنامه به صورت دقیق.

تمام موارد فوق را در یک فایل زیپ گذاشته و در کورس ور ، بخش مربوطه آپلود کنید. هرکدام از موارد فوق اگر از قلم بیفتد یقینا از نمره شما کسر خواهد شد.



روز سه شنبه صبح امتحان عملی (از تمام افراد) گرفته میشه، راس ساعت ۱۰ صبح.
در روز سه شنبه هنگام ظهر همینجا لیست دانشجویانی که باید پروژه شان را به شکل عملی تحویل دهند اعلام میشود و در سه شنبه عصر این کار انجام خواهد شد.
نمره ها روز ۴شنبه صبح به آموزش ارسال میشود.

جمعه، تیر ۱۸، ۱۳۸۹

مهلت پروژه تا ۱۵ مرداد و امتحان عملی حداکثر یک هفته بعد از تحویل پروژه ها

جمعه، تیر ۱۱، ۱۳۸۹

در هر موردی که مشکلی داشتید تا وسط مرداد با اوژن یا یکی دیگر از تی ای ها تماس بگیرید. من نیستم تا آن موقع (سربازی)

پنجشنبه، خرداد ۱۳، ۱۳۸۹

pdf

همونطور که میبینید این فایل فهرست مطالبی هست که این ترم خوندیم

موفق باشید :)

جمعه، خرداد ۰۷، ۱۳۸۹

تمرین جلسه 3 خرداد : در مورد BFS توضیح دهید
تا 2 شنبه 10 خرداد وقت دارید بفرستینش
این عکس همونطور که میبینید روش محاسبه نمره پایانی رو نشون میده

دوشنبه، خرداد ۰۳، ۱۳۸۹

فایل

فایل مربوط به امروز 3 خرداد

به زودی یه فایل آپلود میشه که روش محاسبه نمره نهایی رو نشون میده

چهارشنبه، اردیبهشت ۲۹، ۱۳۸۹

http://www.canonical.org/~kragen/tao-of-programming.html

شنبه مسابقات برگزار میشودند

سه‌شنبه، اردیبهشت ۲۸، ۱۳۸۹

مهلت ارسال تمرینات تا جمعه تمدید شد. آخرین مهلت

دوشنبه، اردیبهشت ۲۰، ۱۳۸۹

درس این جلسه: http://www.extremeprogramming.org

تمرین: توضیح دهید که نمودار UML چیست و همچنین نمودار UML فایلهای مربوط به سرور فوتبال (پروژه میان ترم) را رسم کنید و بفرستید.

۴ شنبه هفته بعد آخرین مهلت ارسال تمرینهایی است که تابحال تعیین شده اند و بعد از آن قسمتهای مربوطه در CW بسته خواهد شد.

شنبه، اردیبهشت ۱۸، ۱۳۸۹

یک نکته در مورد پروژه :
برای گرفتن سرعت خود به جای p.me().vel از p.getTeammate(p.me().getNum()) استفاده کنید

جمعه، اردیبهشت ۱۷، ۱۳۸۹

آموزش اچ تی ام ال و سی اس اس را از این جا بخوانید:
http://inpics.net/htmlcss.html

سه‌شنبه، اردیبهشت ۱۴، ۱۳۸۹

جلسه شنبه رو حتما بیاید. جلسه ی خیلی مهمیه و درباره ی کنترل و مدیریت پروژه حرف میزنیم.

جمعه، اردیبهشت ۱۰، ۱۳۸۹

http://groups.google.com/group/sharifpython88/web/socketprogramming.zip


تمرین 1: یک پاراگراف درباره unicode
تمرین 2:برنامه ای بنویسید که یک اسم را بگیرد و در فایلی به همان نام 5 بار بنویسد

پنجشنبه، اردیبهشت ۰۹، ۱۳۸۹

Jalase 14

http://groups.google.com/group/sharifpython88/web/jal14-exc.zip

سه‌شنبه، اردیبهشت ۰۷، ۱۳۸۹

درباره میان ترم

۱- گروه بندی شما برای این بوده که یاد بگیرید در یک گروه کار کنید. کار کردن در گروه قواعدی دارد:
* روابط کاری شما باید جدا از روابط دوستی شما باشد. در یک رابطه کاری فقط موضوعات مربوط به آن کار موثرند. موضوعات خارج از این محدوده را داخل رابطه ی کاری و گروهی نکنید.

* به وظایفتان در گروه عمل کنید. اگر قرار شده که کاری را انجام دهید به هر قیمتی که شده، حتی اگر لازم شد ۴۸ ساعت نخوابید آن کار را انجام دهید. و گرنه خیلی راحت به عنوان یک فرد غیر قابل اعتماد شناخته شده و از گروه حذف میشوید.

* وقت شناس باشید و برای وقت سایر اعضای گروه ارزش قایل شوید.

* هر کار کوچکی که میتوانید را انجام دهید. اگر در گروهتان فرد دیگری هست که قویتر از شماست به او فرصت بدهید که کارهای مهمتر را انجام دهد و وقتش صرف کارهای ساده تری که شما میتوانید انجام بدهید نشود.

* کار گروهی برنامه نویسی به معنی با هم نوشتن نیست. حتی به این معنی هم نیست که همه لزوما برنامه بنویسند. کارها را بین خودتان تقسیم کنید. سعی کنید ببینید چه قدر میتوانید قسمت بندی کنید یک پروژه ی بزرگ را. مثلا خواندن، درک کردن و ارایه ی نحوه ی طرز کار سرور و کلاینتها، فکر کردن بر روی استراتژی بازی، دزدیدن ایده ی دیگر تیمها!!، نوشتن کدها ( نوشتن متودهای خاص مثل نقطه ی برخورد توپ، یا زاویه ی صحیح حرکت برای گرفتن توپ، نوشتن استراتژی بازیکنها: بازیکن های حمله، دفاع، دروازه بان، ...)

* دودر کردن به معنی پایین آوردن تیم خودتان است و مستقیما به خودتان ضرر میرساند.

* خودتان را فدای تیمتان نکنید. اگر اعضای تیم به موضوع کار اهمیتی نمیدهند لازم نیست بار آنها را خودتان به دوش بکشید. میتوانید یک موضوع پروژه ی تک نفره برداشته و روی آن کار کنید. (توضیح در پایین)

* منسجم باشید.

* اگر الان سعی نکنید موارد بالا را یاد بگیرید ممکن است دیگر هیچ وقت این فرصت برایتان پیش نیاید.

-----------
موضوعات پروژه ی تک نفره.
همان طور که شاهد بوده اید تعدادی از بچه ها روی پروژه های تک نفری کار میکنند. این پروژه ها بر حسب میزان کار و نوع آنها درصدی از نمره ی فرد را تشکیل میدهند (که در صورت کسب نمره ای حد اقلی در امتحان پایان میتواند به نمره ی کامل نیز منجر شود.)
موضوع و زبان و نحوه ی اجرای پروژه ها کاملا آزاد است و فقط باید در این مورد با من هماهنگی کنید.

برای مثال در مورد میان ترم انجام این پروژه امکان پذیر است:
نوشتن یک مولد گراف
ابتدا نرم افزار گرافلب را دانلود میکنید: http://graphlab.sharif.edu و با آن کار میکنید تا از قسمت های مختلف آن سر در بیاورید.
سپس در سایت http://mathworld.wolfram.com/topics/SimpleGraphs.html یک نوع گراف را انتخاب میکنید که به نظرتان میتوان آن رده را به کمک یک برنامه تولید کرد. چک میکنید که این رده در حال حاضر در گرافلب موجود نباشد. نام و اسم آن را در همین پست کامنت میکنید و چک میکنید که فرد دیگری قبلا آن را انتخاب نکرده باشد.
سپس این متن آموزشی را خوانده و اجرا میکنید: http://graphlab.sharif.edu/trac/wiki/CreateYourFirstExtension
و در نهایت آن را پیاده سازی میکنید.

در صورتی که این کار را خوب و کامل انجام بدهید این رده به اسم خودتان به گرافلب اضافه خواهد شد. برای این کار به این صفحه اسم و فایلهایتان را اضافه کنید: http://graphlab.sharif.edu/trac/wiki/ThirdPartyAddons

یکشنبه، اردیبهشت ۰۵، ۱۳۸۹

فایلهای مربوط به میانترم روی cw قرار گرفت.

-
پ.ن با تشکر از میلاد.

جمعه، اردیبهشت ۰۳، ۱۳۸۹

سه‌شنبه، فروردین ۳۱، ۱۳۸۹


http://www.cloudgarden.com/jigloo برنامه ساخت جی یو آی در اکلیپس که باید نصبش کنید به عنوان یک پلاگین. اگر از نت بینز یا آیدیا استفاده میکنید خودشون به صورت پیشفرض چنین امکانی رو دارند.

زین پس تمرینات رو به اینجا بفرستید: http://cw.sharif.edu/course/view.php?id=561 تمرینات قبلی رو هم دوباره به همینجا بفرستید.
صورت تمرین جدید هم همونجا گذاشته شهد.
این رو بخونید: http://bioinfo2.weizmann.ac.il/course/prog2/tutorial/uiswing/learn/index.html

فایلهای این جلسه:
http://groups.google.com/group/sharifpython88/web/jal13-gui.zip?hl=fa

جمعه، فروردین ۲۷، ۱۳۸۹

تمرین:
ترکیب داده ساختارها به نحوی که به وسیله ی آنها بتوان حضور و غیاب دانشجویان را در جلسات درس نگه داری کرد. هر دانشجو یک اسم و یک شماره دانشجویی دارد.




DS.java:

import java.util.HashMap;
import java.util.HashSet;
import java.util.Vector;


public class DS {

public static void main(String[] args) {
int[] a;
a = new int[4];
a[0]=2;
a[1]=3;
a[2]=4;
a[3]=8;
//a[4]=9; ArrayIndexOutOBE
for (int i=0; i System.out.println(a[i]);
}

for (int i:a){
System.out.println(i);
}

Vector v = new Vector();
v.add(1);
v.add(2);
v.add(5);

for (int i=0; i System.out.println(v.get(i));
}

for (int x:v){
System.out.println(x);
}

//removing an element from vector
v.remove(2);
v.add(2, 89);

//-------------- HashMap ---------------------------
HashMap grades;
grades = new HashMap();

grades.put("azin", 10);
grades.put("asghar",5);

System.out.println(grades.get("azin"));
for (String name:grades.keySet()){
System.out.println(grades.get(name));
}

HashMap, HashMap>>> c;
c = new HashMap,HashMap>>>();
//-----------------------

HashSet s=new HashSet();
s.add(3);
s.add(6);
s.add(3);

for (int x:s){
System.out.println(x);
}


}
}

پنجشنبه، فروردین ۱۹، ۱۳۸۹

تمرین: جستجوی یک دانشجو در چند دانشگاه
Student.java:

public class Student{

int stdid;

String name;

private int x=3;

public Student(int stdid, String name){

this.stdid = stdid;

this.name = name;

}

public String toString(){

return name + ": " + stdid;

}

public static void main(String args[]){

Student x = new Student(123, "azin");

System.out.println(x);

University u = new University();

u.addStudent(x);

u.addStudent(x);

u.addStudent(x);

u.print();

}


// public void setX(int x) {

// this.x = x;

// }


public int getX() {

return x;

}

}



University.java:

import java.util.Vector;


public class University{

Vector students = new Vector();


public void addStudent(Student s){

students.add(s);

}

public void print(){

//foreach

for (Student s: students){

System.out.println(s);

System.out.println(s.getX());

}

}

}



یکشنبه، فروردین ۱۵، ۱۳۸۹

تمرین:
یک پاراگراف درباره hashCode
برنامه ی عدد اول در جاوا

http://groups.google.com/group/sharifpython88/web/Fib.java?hl=fa
http://groups.google.com/group/sharifpython88/web/Hello.java?hl=fa
یکی از دوستان یک آگهی داده:


به شخصی یا دو شخص که تا حدی کمی جاوا کار کرده باشد و شناختی کلی داشته باشد به جهت انجام پروژه ای برای درس برنامه نویسی پیشرفته نیازمندیم.قرار شده که یک سیستم آموزش را بهبود بخشیم.اینکار نمره اضافی به همراه می آورد.

دوشنبه، اسفند ۲۴، ۱۳۸۸

آموزش برنامه نویسی در ۱۰ سال:
http://barnamenevis.org/forum/showthread.php?t=150950

چهارشنبه، اسفند ۱۹، ۱۳۸۸

هفته بعد کلاس نیست ولی یک تمرین برای عید اینجا میگذاریم

سه‌شنبه، اسفند ۱۸، ۱۳۸۸

آدرس فایل jdk برای دانلود:
graphlab.sharif.ir/jdk-6u7-windows-i586-p.exe

تمرینها:
برنامه ی فیبوناچی را بدون استفاده از تابع استاتیک
یک پاراگراف که استاتیک در جاوا چیه
تمرین قبلی

شنبه، اسفند ۱۵، ۱۳۸۸

جلسه ۷

فایلی که با هم مرورش کردیم: http://groups.google.com/group/sharifpython88/web/obj%20oriented%20in%20python.pdf?hl=fa
سعی کنید یک بار دیگه این فایل رو باز کنید و همه ی مفاهیمی که گفتیم رو توش مرور کنید. صفحات آخرش جالبن. از دستشون ندید.
همین طور loving python رو: http://lovingpython.blogspot.com

دوشنبه، اسفند ۱۰، ۱۳۸۸

جلسه ۶

فایل: http://groups.google.com/group/sharifpython88/web/jalase%206.zip?hl=fa
لینکهای این جلسه:
http://docs.python.org/tutorial/modules.html
http://en.wikipedia.org/wiki/Software_design_pattern
http://en.wikipedia.org/wiki/Template_method_pattern

تمرینها:
۱- یک پاراگراف درباره نحوه ی packaging در پایتون
۲- یک پاراگراف درباره ی کاربردهای template method
۳- گسترش برنامه ی Font که در کلاس گفته شد به یکی از دو صورت زیر:
*یا به صورت یک نفری انجام دهید و این کار را بکنید که تعداد حرفهای آن را به ۱۰ یا بیشتر توسعه داده و موارد زیر را هم به آن اضافه کنید: پشتیبانی از حروف کنترلی. مثلا aaaa /b df /b fff /u sfs /u s /n sss

* و یا به صورت گروههای حداکثر تا ۳ نفره و به این شکل که همین موضوع را برای زبان فارسی پیاده سازی کنید.

در هر دو حالت یک جمله ی معنی دار را بوسیله برنامه تان بنویسید.

برای انجام این تمرین تا دو شنبه وقت دارید.
تمرین را به aazadi+t6 در جیمیل بفرستید.

شنبه، اسفند ۰۸، ۱۳۸۸

جلسه 5

فایل:
http://groups.google.com/group/sharifpython88/web/jalase%205.zip?hl=fa
تمرینها:
۱- فرق __str__ و __repr__
2- نوشتن سیستم افراد درون یک دانشگاه : استاد، دانشجو و کارمند با استفاده از وراثت
۳- تمرینهایی که تابحال تحویل ندادید رو میتونید بفرستید

تا ۲ شنبه صبح

سه‌شنبه، اسفند ۰۴، ۱۳۸۸

جلسه ۴

فایلها: http://groups.google.com/group/sharifpython88/web/jalase%204.zip?hl=fa
تمرین: در اینترنت درباره ی doctest جستجو کنید و
۱. متنی در دو پاراگراف بنویسید. در پاراگراف اول درباره ی اهمیت تست در حالت کلی و همچنین مزایا و معایب doctest بنویسید.
در پاراگراف دوم نحوه کار با doctest را نوشته و بگویید که doctest از نظر تکنیکی چطور کار میکند.

همچنین یک برنامه ی محاسبه دنباله فیبوناچی بنویسید که به همراه doctest باشد.

شنبه، اسفند ۰۱، ۱۳۸۸

جلسه ۳

فایلهای جلسه سوم:
http://groups.google.com/group/sharifpython88/web/jalase%203.zip?hl=fa
تمرین: فایل مربوط به خانه را طوری بسط دهید که بتوان یک بنگاه املاک را بوسیله آن اداره کرد. برای برگرداندن لیست خانه های مناسب از yield استفاده کنید.

وبلاگ loving python رو حتما چک کنید.

دوشنبه، بهمن ۱۹، ۱۳۸۸

جلسه ۲

۱. فایلهای مربوط به جلسه اول در گروپ آپلود شدند:
http://groups.google.com/group/sharifpython88/web/jalase 2.zip?hl=fa

۲. در ترمیم قرار است که یک گروه دیگر هم برای این درس ارایه شود. به این شکل که این گروه مخصوص دانشجویان علوم کامپیوتر و گروه دیگر مخصوص ریاضی باشد. کلن این گروه خیلی سخت تر از گروه دیگر خواهد بود. اگر نمیتوانید به اندازه کافی وقت بگذارید حتما در ترمیم گروه خودتان را عوض کنید.
اول کلمه بود