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

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
یکی از دوستان یک آگهی داده:


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