جمعه، خرداد ۰۷، ۱۳۸۹
سهشنبه، اردیبهشت ۲۸، ۱۳۸۹
دوشنبه، اردیبهشت ۲۰، ۱۳۸۹
تمرین: توضیح دهید که نمودار UML چیست و همچنین نمودار UML فایلهای مربوط به سرور فوتبال (پروژه میان ترم) را رسم کنید و بفرستید.
۴ شنبه هفته بعد آخرین مهلت ارسال تمرینهایی است که تابحال تعیین شده اند و بعد از آن قسمتهای مربوطه در CW بسته خواهد شد.
شنبه، اردیبهشت ۱۸، ۱۳۸۹
سهشنبه، اردیبهشت ۱۴، ۱۳۸۹
جمعه، اردیبهشت ۱۰، ۱۳۸۹
تمرین 1: یک پاراگراف درباره unicode
تمرین 2:برنامه ای بنویسید که یک اسم را بگیرد و در فایلی به همان نام 5 بار بنویسد
پنجشنبه، اردیبهشت ۰۹، ۱۳۸۹
سهشنبه، اردیبهشت ۰۷، ۱۳۸۹
درباره میان ترم
* روابط کاری شما باید جدا از روابط دوستی شما باشد. در یک رابطه کاری فقط موضوعات مربوط به آن کار موثرند. موضوعات خارج از این محدوده را داخل رابطه ی کاری و گروهی نکنید.
* به وظایفتان در گروه عمل کنید. اگر قرار شده که کاری را انجام دهید به هر قیمتی که شده، حتی اگر لازم شد ۴۸ ساعت نخوابید آن کار را انجام دهید. و گرنه خیلی راحت به عنوان یک فرد غیر قابل اعتماد شناخته شده و از گروه حذف میشوید.
* وقت شناس باشید و برای وقت سایر اعضای گروه ارزش قایل شوید.
* هر کار کوچکی که میتوانید را انجام دهید. اگر در گروهتان فرد دیگری هست که قویتر از شماست به او فرصت بدهید که کارهای مهمتر را انجام دهد و وقتش صرف کارهای ساده تری که شما میتوانید انجام بدهید نشود.
* کار گروهی برنامه نویسی به معنی با هم نوشتن نیست. حتی به این معنی هم نیست که همه لزوما برنامه بنویسند. کارها را بین خودتان تقسیم کنید. سعی کنید ببینید چه قدر میتوانید قسمت بندی کنید یک پروژه ی بزرگ را. مثلا خواندن، درک کردن و ارایه ی نحوه ی طرز کار سرور و کلاینتها، فکر کردن بر روی استراتژی بازی، دزدیدن ایده ی دیگر تیمها!!، نوشتن کدها ( نوشتن متودهای خاص مثل نقطه ی برخورد توپ، یا زاویه ی صحیح حرکت برای گرفتن توپ، نوشتن استراتژی بازیکنها: بازیکن های حمله، دفاع، دروازه بان، ...)
* دودر کردن به معنی پایین آوردن تیم خودتان است و مستقیما به خودتان ضرر میرساند.
* خودتان را فدای تیمتان نکنید. اگر اعضای تیم به موضوع کار اهمیتی نمیدهند لازم نیست بار آنها را خودتان به دوش بکشید. میتوانید یک موضوع پروژه ی تک نفره برداشته و روی آن کار کنید. (توضیح در پایین)
* منسجم باشید.
* اگر الان سعی نکنید موارد بالا را یاد بگیرید ممکن است دیگر هیچ وقت این فرصت برایتان پیش نیاید.
-----------
موضوعات پروژه ی تک نفره.
همان طور که شاهد بوده اید تعدادی از بچه ها روی پروژه های تک نفری کار میکنند. این پروژه ها بر حسب میزان کار و نوع آنها درصدی از نمره ی فرد را تشکیل میدهند (که در صورت کسب نمره ای حد اقلی در امتحان پایان میتواند به نمره ی کامل نیز منجر شود.)
موضوع و زبان و نحوه ی اجرای پروژه ها کاملا آزاد است و فقط باید در این مورد با من هماهنگی کنید.
برای مثال در مورد میان ترم انجام این پروژه امکان پذیر است:
نوشتن یک مولد گراف
ابتدا نرم افزار گرافلب را دانلود میکنید: 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
جمعه، اردیبهشت ۰۳، ۱۳۸۹
سهشنبه، فروردین ۳۱، ۱۳۸۹
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; iSystem.out.println(a[i]);
}
for (int i:a){
System.out.println(i);
}
Vectorv = new Vector ();
v.add(1);
v.add(2);
v.add(5);
for (int i=0; iSystem.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 ---------------------------
HashMapgrades;
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 >>>();
//-----------------------
HashSets=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
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());
}
}
}
