
English: 
[MUSIC PLAYING]
SPEAKER 1: All right, this is
CS50, and this is, sadly, the end,
where we wrap up the semester and take
a look back at the past several weeks,

Arabic: 
[MUSIC PLAYING]
المتحدث 1: حسنًا، هذه هي دورة
CS50، وهذه هي النهاية، للأسف،
حيث سننهي الفصل الدراسي وسنلقي
نظرة على ما مضى في الأسابيع القليلة الماضية،

Arabic: 
وسنلقي نظرة على ما هو قادم
في الأسابيع القليلة المقبلة،
ومن ثم السنوات القليلة القادمة
بالفعل، وكيف يمكنكم المضي قدمًا إلى حد ما،
إلى ما بعد دورة CS50، باستخدام عجلات 
التدريب الشهيرة التي اكتمل إعدادها تمامًا.
وهكذا حتى بدون أدوات
مثل CS50 IDE وCheck 50،
وHelp 50، وأدوات أخرى من
هذا القبيل، فأنتم في الواقع
تشعرون أنه يمكنكم تطبيق كل هذه
الدروس المستفادة، وجميع هذه الأدوات
التي جربتموها في دورة CS50 على
أجهزة Mac والكمبيوتر الشخصي لديكم في العالم الحقيقي.
لكنني أعتقد أنها ربما ستكون
مفيدة أو مريحة، خاصة
في أعقاب العديد من مجموعات المشاكل،
فبعضها تحدي خاص،
واختبار أخير هنا في الحرم الجامعي،
لنفكّر مجددًا فقط في هذا المستأجر هنا.
ونحن نعني ذلك.
وتدركون ما إذا كنتم تشعرون
بعدم الارتياح قليلاً تجاه
ما تبقى 
للأسابيع القليلة القادمة، ذلك
ما يهم في نهاية المطاف في
هذه الدورة وهو بشكل كبير ليس
حيث ينتهي بكم المطاف
مقارنة بزملائكم في الصف الدراسي،
ولكن حيث سينتهي بكم المطاف في الأسبوع 10،
وهو اليوم، مقارنة بحالكم
في الأسبوع صفر، منذ حوالي 10 أسابيع.
إذن كان ذلك ادعاء جريئًا فقط،
بعيد المنال في ذلك الوقت.
ولكنكم قد وصلتم إلى 
خط النهاية، حيث كل ما تبقى
هو ذلك المَعلم النهائي،
حيث لا توجد مواصفات.

English: 
give you a look at what's ahead
in the next several weeks,
and then really the next several
years, how you can sort of go on,
beyond CS50, with the proverbial
training wheels now completely off.
And so that even without things
like CS50 IDE, and Check 50,
and Help 50, and other
such tools, you actually
feel like you can apply all of these
lessons learned, and all of these tools
you've experienced in CS50 to your
own Macs and PCs in the real world.
But I thought it would be perhaps
helpful or reassuring, especially
on the heels of so many problems sets,
some of them especially challenging,
and a recent quiz here on campus, to
just think back at this tenant here.
And we do mean this.
And realize if you're a
little uneasy as to what
remains in store for
the next few weeks, that
what ultimately matters in
this course is not so much
where you end up relative
to your classmates,
but where you end up in week 10,
which is today, relative to yourself
in week zero, some 10 weeks ago.
So that was just a bold claim,
a pie in the sky back then.
But you've made it to this now
finish line, where all that remains
is that one final milestone,
where there's no specification.

Arabic: 
لن يتم إخباركم ما الذي يتعين عليكم فعله، ولكن
ستقومون بالتصميم والتنفيذ بأنفسكم.
وفكّروا أيضًا أنه، على مدار
الأسابيع القليلة الماضية،
كانت احتمالات هي أن معظمكم لم يشعر حقًا
بأنه ثبّت أقدامه على الإطلاق، مثل أي وقت مضى.
تمامًا كما لو أنكم بدأتم باستيعاب شيء ما،
وقمنا بسحب البساط إلى حد ما
من تحت أقدامكم، أو طلبنا منكم
التقدّم خطوة أخرى معرفيًا،
وفهم شيء جديد في الواقع.
حسنًا، هذا الأمر يشبه
إلى حد كبير تصميم ذلك.
كنتُ أحاول التفكير
في الاستعارات أمس.
وإذا كنتم تمارسون رياضة رفع الأثقال
أو شيء من هذا القبيل، والتي لا أمارسها،
أفترض أن التناظر
هنا قد يكون أنكم
تمارسون رفع الأثقال 
إلى حد ما وشخص ما
يواصل وضع المزيد والمزيد من الوزن على
الشيء حيث تصبحون أفضل وأفضل.
وهكذا في الواقع لن
تشعروا أبدًا بالضرورة
أنكم تحرزون تقدمًا،
لأن الأمر لم يكن سهلاً أبدًا.
ولكن هذا فقط لأن الوزن
على أي من الطرفين،
لذلك تم إخباري، أنه تتم
الإضافة إليه والإضافة إليه.
وأنا أعني ذلك أكاديميًا
بشكل أكبر هنا أيضًا،
هو أنه بمرور
كل أسبوع، نبدأ
آملين بأنكم اعتدتم بشكل منطقي
على ما كان في الأسبوع الماضي،
حتى يمكننا قيادتكم
لتحقيق المزيد في تلك الرحلة.
وربما الأمر الأكثر إثارة هو في الواقع
أنه منذ 10 أسابيع، من المحتمل أن الكثير منكم
وجدوا ذلك صعبًا، أليس كذلك؟

English: 
You're not told what to do, but you
get to design and implement yourself.
And consider too, over
the past several weeks,
odds are many of you never really felt
like you got your footing, like ever.
Just as you started to grasp something,
we sort of pulled the rug out
from under you, or kind of asked you
to take another step up cognitively,
and actually understand something new.
Well, that's very much
the design of this.
I was trying to think
of metaphors yesterday.
And if you're into like weight
lifting or such, which I'm not,
I suppose the analog
here might be you're
sort of doing your weight
lifting and someone
keeps putting more and more weight on
the thing as you get better and better.
And so you never
actually necessarily feel
like you're making progress,
because it never gets any easier.
But that's just because the
weight on either end is,
so I'm told, is getting
added to and added to.
And I do mean that more
academically here too,
is that with every
passing week, we start
to hope that you were reasonably
comfortable with what was in the past,
so that we could lead you
further along in that journey.
And perhaps most stark is the fact
that 10 weeks ago, many of you
probably found this difficult, right?

Arabic: 
من المحتمل أن الأمر لم يكن صعبًا
على الذاكرة كم دقيقة، أو ساعة،
أو بضعة أيام استغرق الأمر 
للحصول فقط على ماريو، إذا جاز التعبير--
وماريو ليس حتى في الصورة--
لصعود هذا الهرم بعض الشيء
فقط باستخدام علامات التجزئة.
وبصراحة، منذ
أسبوع فقط، هل قمتم جميعًا
بإنشاء هذا، CS50 finance، حيث يحتوي
على واجهة خلفية تم تنفيذها
في Python، ويقوم بإنشاء
HTML وCSS بشكل ديناميكي،
وكان يتحدث إلى واجهة
أمامية، وهي تم إنشاؤها في حد ذاتها
باستخدام لغات جانب العميل،
مثل HTML، وCSS، وJavaScript،
وتتحدث في الوقت نفسه إلى API، عبر HTTP،
الذي قام بجلب البيانات من مصدر
خارجي.
هذا حيث أنتم الآن.
وهكذا حتى إذا لم تشعروا بنسبة 100٪
أنه يمكنكم إنشاء ذلك من سكراتش،
وهذا جيد، في الواقع ما قام به
العديد من الطلاب لمشروعهم النهائي هو
البدء بشيء مثل Pset8، وإزالة
كل أمور finance المحدّدة،
ومن ثم البدء بإضافة
أفكارنا الخاصة، وأفكار أخرى،
وتعليمتها البرمجية الخاصة، لاحظوا
فقط ما هي Delta بالفعل.
وهذا ما نعنيه بـ Delta هذه
بين الأسبوع صفر والأسبوع 10.
لقد تلقيتُ، فقط هذا الأسبوع
الماضي، في الواقع، بريدًا إلكترونيًا
من أحد زملائكم
في الصف الدراسي، والذي اعتقدتُ

English: 
It's probably not all that distant
a memory how many minutes, or hours,
or a few days that it actually took
just to get Mario, so to speak--
and Mario's not even in the picture--
to just ascend this kind of
pyramid by using hashtags.
And honestly, just a
week ago, did you all
build this, CS50 finance, which
had a back end implemented
in Python, generating
HTML and CSS dynamically,
that was talking to a
front end, that itself
was built with client-side languages,
like HTML, and CSS, and JavaScript,
talking meanwhile to an API, via HTTP,
that brought in data from a third party
source.
Like, that's where you now are.
And so even if you don't feel 100%
like you could build this from scratch,
and that's fine, indeed what many
students do for their final project is
start with something like P Set 8, tear
out all the finance specific stuff,
and then start to add their
own thoughts, and ideas,
and their own code, notice
just what the Delta truly is.
And that's what we mean by that
Delta between week zero and week 10.
I received, just this past
week, actually, an email
from one of your
classmates, who I thought

English: 
was wonderfully reflective on what
their experience had been like.
And quite consistent with this idea of
not quite ever getting their footing,
wrote this, "Besides
learning the new material,
I felt that I started to be
more comfortable with being
uncomfortable and being OK with
working towards building a skill,
rather than getting the right answer."
This is the kind of quote
that you kind of see
in like a Harvard brochure or whatnot,
but it's like, it really is true,
this idea of being comfortable being
uncomfortable is very much the case.
And honestly, you're never really going
to get your footing in this world.
Because honestly, everything we
just taught this past semester
is going to evolve, starting
tomorrow, and in the years to come.
But hopefully, what
we've done in the class,
by choosing certain languages, some
of the most foundational, like C,
and SQL, and now Python, even as
those languages evolve themselves,
or become less used, the
principles of memory management,
and data structures, and tradeoffs,
and abstraction, and encapsulation, all
of those principles,
those aren't going away.
And that's the advantage, I think, of
starting from the so-called ground up.
It wasn't that long ago we were
talking about zeros and ones.

Arabic: 
أنه كان يعكس بشكل رائع 
كيف كانت تجربتَه.
وأتفق تمامًا مع هذه الفكرة لأنه
لم يثبّت أقدامه تمامًا،
لقد كتب هذا، "إلى جانب
تعلّم المادة الجديدة،
شعرتُ أنني بدأتُ أعتاد
على كوني
لستُ مستريحًا وعلى ما يرام بشأن
العمل على إنشاء مهارة،
بدلاً من الحصول على الإجابة الصحيحة. "
هذا اقتباس قد ترونه
إلى حد ما
في على سبيل المثال كتيب هارفارد أو أي شيء،
لكنه مثل، إنه صحيح بالفعل،
فكرة أن تكون معتادًا
أن تكون غير معتاد هذه هي المُعضلة إلى حد كبير.
وبصراحة، لن تقوموا حقًا
بتثبيت أقدامكم في هذا العالم.
لأنه بصراحة، كل شيء تعلمناه
للتو في هذا الفصل الدراسي الماضي
سيتطور، ابتداءً من
الغد، وفي السنوات القادمة.
ولكن آمل أن، ما
قمنا به في الصف الدراسي،
باختيار لغات معينة، بعض
من اللغات الأكثر توظيفية، كلغة C،
وSQL، والآن Python، حتى
على الرغم من أن تلك اللغات تطور نفسها،
أو تصبح أقل استخدامًا،
مبادئ إدارة الذاكرة،
وبنية البيانات، والمقايضات،
والتجريد، والتغليف، كل
تلك المبادئ،
لن تختفي.
أنا أعتقد أن، هذه هي الميزة بالبدء
بما يُسمى من الصفر.
لم يمضي وقت طويل منذ كنا
نتحدث عن الأصفار والواحدات.

English: 
So you're not just
software engineers, you're
computer scientists, or
budding computer scientists,
because you have those
mental models that
can then be applied to any new
technologies or domains that
are down the road.
And if it's reassuring
too, even I feel this way.
Like, I don't feel like I've mastered
CS50 or all of the material therein.
I kind of feel like
that graph that we drew,
that was that green
curved line, where like,
fortunately, I'm always
making some forward progress,
but I'm never actually
reaching the peak of anything,
because there's always
something new to learn.
And it's scary, too.
And, in fact, the most
relevant instance of being
comfortable being uncomfortable,
or maybe if in my case,
being uncomfortable being
uncomfortable, was just a few years ago.
For many years, CS50 had used a language
called PHP for the web programming
portion of the course.
And eventually, we as the staff,
decided it's time to transition
to Python, which has
a number of upsides.
Among them, the applicability
in the real world.
It can be used more
effectively for command line
programs, data science, data analytics,
and it just felt like it was time.
The one to catch was
I didn't know Python.
And so this sounded like a wonderful
idea, sort of philosophically,

Arabic: 
إذن أنتم لستم
مهندسي برامج فقط، أنتم
علماء كمبيوتر، أو
علماء الكمبيوتر مبتدئون،
لأنه لديكم تلك
النماذج العقلية التي
يمكن تطبيقها على أي تقنيات
جديدة أو مجالات
توجد على الطريق.
وإذا كانت مريحة
أيضًا، حتى إذا شعرتُ بهذه الطريقة.
على سبيل المثال، لا أشعر أنني أتقنتُ
دورة CS50 أو جميع المواد الواردة فيها.
يخالجني شعور بأن هذا إلى حد ما مثل
ذلك الرسم البياني الذي رسمناه،
الذي كان ذلك الخط الأخضر
المنحني، حيث يبدو،
لحسن الحظ، أنني أحرز دائمًا
بعض التقدم إلى الأمام،
ولكنني لم أصل أبدًا في الواقع
إلى ذروة أي شيء،
لأن هناك دائمًا
شيء جديد لنتعلمه.
وهذا أمر مخيف أيضًا.
وفي الواقع، أكثر مثال
ذي صلة بمسألة
أن تكون معتادًا وغير معتاد،
أو ربما لو في حالتي،
أن تكون معتادًا أو غير 
معتاد، كان ذلك منذ بضع سنوات.
لسنوات عديدة، استخدمت دورة CS50 لغة
تُسمى PHP لجزء برمجة
الويب من الدورة.
وفي نهاية المطاف، بصفتنا طاقم العمل،
قررنا أن الوقت قد حان للانتقال
إلى Python، التي تحتوي على
عدد من الميزات.
من بينها، قابلية التطبيق
في العالم الحقيقي.
ويمكن استخدامها بشكل أكثر
فعالية لبرامج سطر
الأوامر، وعلم البيانات، وتحليلات البيانات،
وبدت فقط أنه قد حان وقتها.
ما أريد إيضاحه أنني
لم أكن أعرف Python.
وهكذا بدت هذه أنها فكرة
رائعة، من الناحية الفلسفية إلى حد ما،

English: 
that summer, yes, we shall
teach Python this fall.
Then October came
around, and I realized,
oh, Python's coming up in a week or
two, we should probably, we, meaning I,
should probably go learn Python.
And so that entire
semester, was I learning,
and we're repaving the road as we went.
And I swear, if you look back at the
videos from just a few years ago,
the Python lecture was like the
longest lecture ever we have.
Because I was so damn determined to
prove to everyone that I knew Python
by that point in the semester.
So perhaps overcompensating
a little bit.
But this is just to
reassure that none of us
even the smartest of your
teaching fellows and CAs, whom
you interacted with this year,
and myself, like none of us
ever stop learning or stop being a
little uncomfortable with this stuff.
So even if you feel like, wow, I didn't
quite absorb everything this semester,
you weren't ever going to,
because we never did either.
So take that to heart if you would.
Before we forge ahead-- oh, in
fact, I thought I'd mentioned to,
don't aspire to build this,
for instance, mirrored
backgrounds kind of went out of
vogue a long, long, long time ago.
But this was the first example of
me building something, or trying

Arabic: 
هذا الصيف، نعم، سنقوم
بتعليم Python هذا الخريف.
ثم جاء شهر
أكتوبر، وأدركتُ،
أوه، ستأتي Python في غضون أسبوع أو
أسبوعين، ربما يجب أن، ونحن هنا، أعني أنا،
ربما يجب تعلّم Python.
وهكذا خلال الفصل الدراسي
بأكمله، كنتُ أتعلم،
وكنا نعيد تمهيد الطريق كلما مضينا.
وأُقسم أنه، إذا نظرتم مجددًا إلى مقاطع الفيديو
من السنوات القليلة الماضية،
بدت محاضرة Python أنها
أطول محاضرة لدينا.
لأنني كنتُ عازمًا للغاية على أن
أثبت للجميع أنني كنت أعرف Python
خلال تلك المرحلة في الفصل الدراسي.
إذن ربما الأمر مبالغ
فيه قليلاً.
ولكن أقول هذا فقط 
لأوكد لكم أن أيًا منا
حتى أذكى زملائكم
في التدريس ومساعدو الدورة التدريبية، الذين
كنتم تتفاعلون معهم هذا العام،
وأنا شخصيًا، مثل أيًا منا
لن أتوقف عن التعلم أو أتوقف عن كوني
غير معتاد قليلاً على هذه الأمور.
إذن حتى إذا كنتم تشعرون مثل، يا للدهشة، لم 
أستوعب كل شيء تمامًا في هذا الفصل الدراسي،
فلن تستوعبوا ذلك أبدًا،
لأننا لم نفعل ذلك أيضًا.
لذلك خذوا هذا الأمر على محمل الجد إذا أمكنكم ذلك.
قبل أن أمضي قدمًا-- أوه، في
الواقع، اعتقدتُ أنني ذكّرتكم،
بأن لا تطلعوا لإنشاء هذا،
على سبيل المثال، الخلفيات
المعكوسة لم تعد رائجة منذ
وقت طويل، طويل للغاية.
ولكن هذا كان المثال الأول ليّ
لبناء شيء ما، أو محاولة

Arabic: 
حل مشكلة ، حيث
لم يكن لديّ أي فكرة عن كيفية القيام بذلك.
CS50 في ذلك الوقت لم تقم
بتدريس برمجة الويب.
CS51 في ذلك الوقت لم تقم
بتدريس برمجة الويب،
لم تقم بتدريس لغة Perl، أو ملفات
CSV، أو المقوّمات التي
كنت بحاجة إليها نوعًا ما لإنشاء هذا، أو
حتى HTML أو CSS لذلك--
في الواقع، لم تكن هناك CSS
في ذلك الوقت، أو حتى HTML.
وهكذا بالنسبة لي، أيضًا، كان 
هذا مثالًا على أن تكونوا
معتادين أو غير معتادين، فقط
تطوعًا سأقوم بإنشاء موقع
Frosh I Ams، ومن ثم
أُحول وجهتي إلى رفيقي في السكن،
وأقول، كيف يمكنني 
إنشاء موقع Frosh I Ams،
وأُصبح معتادًا على
تلك الفكرة فقط.
ستكتشفون ذلك.
وبصراحة، مفتاح السر
هو أن تحيطوا أنفسكم فقط
بأشخاص أكثر ذكاءً، ودهاءًا حقًا،
الذين يعرفون الطريق أكثر منكم،
الذين هم أكثر اعتيادًا عنكم،
حتى تتمكنوا من الاستناد على أكتافهم
والتعلم منهم على طول الطريق.
وفي الواقع، دعوني أتوجه بالشكر،
قبل أن نمضي قدمًا، فقط إلى عدد قليل
من الأشخاص سواء
رأيتموهم أم لا،
خاصة هؤلاء مَن هم خلف
الكواليس هنا اليوم،
مايك، ولوك، وخوسيه، 
وتوم، الذين، المعنيّين بخدمات وسائط الإعلام،
قد ساعدونا في كل هذه
الأمور الرائعة خلال العام الماضي.
فريق إنتاج CS50، دان وتارا،
وإيان، وأندرو، بعض الأشخاص
الجُدد هذا العام.

English: 
to solve a problem, that
I had no idea how to do.
CS50 at the time did not
teach web programming.
CS51 at the time did not
teach web programming,
did not teach Perl, or CSV
files, or the kind of ingredients
I needed to build this, or
even HTML or CSS for that--
actually, there was no CSS
at that time, or even HTML.
And so for me, too, this
was an example of being
comfortable being uncomfortable, just
volunteering I will build the Frosh I
Am's website, and then
turning to my roommate,
and saying, how am I going to
build the Frosh I Am's website,
and just getting
comfortable with that idea.
You'll figure it out.
And honestly, the key secret
is to just surround yourself
by really smart, smarter people,
who know way more than you,
who are more comfortable than you,
so you can stand on their shoulders
and learn from them along the way.
And indeed, allow me to thank,
before we forge ahead, just a few
of the folks that you've
either seen or not seen,
especially those behind
the scenes here today,
Mike, and Luke, and Jose, and
Tom, who, with media services,
have helped us with all of this
amazing stuff over the past year.
CS50's production team, Dan and Tara,
and Ian, and Andrew, a couple of whom
are new this year.

English: 
And I know they were really
thrown into the fire.
You see one of them too, Max, the guy
who's creepily got a camera on his head
today here-- oh, OK, who
doesn't at the moment--
on our production team as
well, all helped capture this.
And you'll see too, even this world,
of videos influenced by software,
this other camera here, that's just
robotically been going back and forth,
left to right all semester, controlled
essentially by a PS4 controller,
via software and via a
Wi-Fi connection thereto.
So thank you to the team for making
possible so many of the experiences you
all have had here online.
And of course, there's
a whole bigger team
teaching the class, the CAs,
and the TFs, our preceptors,
and the heads of the class, without
whom I certainly could not do this.
These are all of their
names there, sandwiched in.
And perhaps if we could,
and we'll let them
know by playing the video
for them, such a round
of applause that they got here at
lecture is thanks for their time
with us this year.
If we could.
[APPLAUSE]

Arabic: 
وأعلم أنه تم 
إلقائهم في النيران.
ترون واحدًا منهم أيضًا، ماكس، الرجل
الذي يضع الكاميرا على رأسه بطريقة مريبة
هنا اليوم-- أوه، حسنًا، وهو
ليس موجودًا في الوقت الحالي
في فريق الإنتاج لدينا 
أيضًا، ساعد الجميع في فهم هذا.
وسترون أيضًا، حتى في هذا العالم،
من مقاطع الفيديو المتأثر بالبرامج،
هذه الكاميرا الأخرى هنا، التي فقط
تنتقل ذهابًا وإيابًا،
من اليسار إلى اليمين طوال الفصل الدراسي،
التي يتم التحكم بها أساسًا من قِبل وحدة تحكم PS4،
عبر البرنامج وعبر اتصال
Wi-Fi أيضًا.
إذن أتوجه بالشكر للفريق على تسهيل
العديد من التجارب التي قمتم بها
جمعيها هنا عبر الإنترنت.
وبالطبع، هناك
فريق كامل أكبر
يقوم بتدريس الصف الدراسي، ومساعدو الدورة التدريبية،
ورفقاء التدريس، والمعلمون لدينا،
ورؤساء الصف الدراسي، الذين
بدونهم ما كان يمكنني فعل ذلك بالتأكيد.
هذه هي أسماؤهم 
كلها هناك، مُصطفة فوق بعضها البعض.
وربما إذا أمكننا ذلك،
وسندعهم يعلمون
من خلال تشغيل الفيديو
المُقدّم لهم، بتقديمنا عاصفة من
التصفيق الذي حصلوا عليه هنا في
المحاضرة لشكرهم على وقتهم
معنا هذا العام.
إذا أمكننا ذلك.
[APPLAUSE]

English: 
In particular, you might
have noticed the notes
that are on the course's
website, usually a couple of days
after the lecture.
And this is all thanks
to a former teaching
fellow, Cheng Gong, who graduated a
few years ago in computer science,
and has wonderfully continue to
watch the course's videos, just
a few hours, typically, after
they air, so as to provide you
with a canonical set of notes,
so that you're not yourselves,
heads down, scribbling everything down.
Cheng, therefore, is going to be hearing
and listening to these very words.
And therefore, I've been told to say
just what a wonderful person Chang
Gong is, and how we couldn't do
the course so well without him,
and we really forever appreciate
all of his contributions to CS50,
and he would make a wonderful addition
to any tech company out there.
So, thank you.
Thank you to Chang, as well.
[APPLAUSE]
And allow me to call
out a couple of folks
in particular, two of our undergrads,
who among the most involved
in the course, behind the scenes
and in front of the scenes.

Arabic: 
على وجه الخصوص، ربما قد
لاحظتم الملاحظات
الموجودة على موقع الدورة
على الويب، عادة بعد بضعة أيام
من المحاضرة.
وهذا كله بفضل
زميل التدريس
السابق، تشانغ غونغ، الذي تخرج منذ
بضع سنوات في علوم الكمبيوتر،
وقد تابع بصورة رائعة 
مشاهدة أشرطة الفيديو،
لبضع ساعات، عادة، بعد
بثها، وذلك لتوفير
مجموعة من الملاحظات المتعارف عليها لكم،
حتى لا ترهقوا أنفسكم،
بخفض رؤوسكم، وتدوين كل شيء.
سيستمع تشانغ، بالتالي،
وينصت إلى هذه الكلمات نفسها.
وبالتالي، قد تم إخباري أن
أقول فقط ما كان يقوله الشخص
الرائع تشانغ، وكيف لن نتمكّن من تقديم
الدورة بشكل جيد بدونه،
ونقدر للأبد حقًا 
جميع مساهماته في CS50،
وأنه يشكل إضافة رائعة
لأي شركة تقنية في الخارج.
إذن، شكرًا لك.
شكرًا لك، يا تشانغ، أيضًا.
[APPLAUSE]
ودعوني أستدعي
بعضًا من الأشخاص
على وجه الخصوص، طالبين من طلابنا الجامعيين،
الذين هم من بين أكثر المشاركين
في الدورة، خلف
الكواليس وأمامها.

Arabic: 
يقوم واحد منهم بعملية
ترجمة الدورة إلى اللغة الإسبانية
معنا، وبذلك يمكننا جعلها 
متاحة ليس فقط للطلاب هنا،
ولكن أيضًا محليًا للأشخاص
في أي مكان آخر في العالم لمَن
تعد اللغة الإنجليزية هي لغته الثانية، أو
حتى، اللغة الثالثة.
وبالتالي، فإن جوانب اللغة 
الإنجليزية للصف الدراسي على الرغم من،
كونها مقررات تعليمية مفتوحة، فهي
مجرد عقبة لا داعي لها،
من حيث البرامج، 
والمحتوى، وما إلى ذلك.
وهكذا، في الواقع، فكرتُ
في أن أقدّم لكم لمحة عن
ما قامت به فيرونيكا إحدى أفراد طاقم دورة CS50
خلال الأشهر القليلة الماضية.
على سبيل المثال، وهذا هو ما
ينتظره الطلاب على الإنترنت قريبًا،
حيث سيتناولون، بأنفسهم، تمامًا كما ساعدتنا
مايلا هنا باللغة الإنجليزية، ماريو،
على سبيل المثال.
فيرونيكا: [SPEAKING SPANISH]
المتحدث 1: أتوجه بخالص الشكر للأشخاص
الآخرين خلف الكواليس، ربما قابلتم

English: 
One of whom is in the process of
translating the course into Spanish
with us, so that we can make it
available not only to students here,
but also natively to folks
elsewhere in the world for whom
English is a second, or
not even, a third language.
And therefore, the English
aspects of the class despite,
its being open courseware, are
just an unnecessary hurdle,
in terms of the software, and
the content, and so forth.
And so, in fact, I thought
I'd give you a glimpse
of what CS50's own Veronica has
been doing over the past few months.
For instance, this is what
awaits students online soon,
as they, themselves, tackle, just as the
Myla helped us here in English, Mario,
for instance.
VERONICA: [SPEAKING SPANISH]
SPEAKER 1: My thanks to other folks
behind the scenes, some of whom

English: 
you might have met, Aaron, and Greg,
and Doug, and then one other member
of the course's heads, who sadly,
will be graduating this coming spring.
Brian Yu literally wandered
into my office a few years ago.
And we got to chatting
about whether he could get
involved in some form in the course.
And here now, three or so years
later, he spent January's with us,
summers here with us, and
pretty much runs the show now.
And honestly, of all of the head
teaching fellows we've had, all of them
are amazing, but there really is
something special about Brian Yu.
And honestly, in a word,
he is extraordinary.
And what I thought we'd do
is, as thanks to the staff,
and as an invitation to you all, to
consider applying to join us as a TF,
as a CA, as a photographer, as
a producer, any number of hats
that the team here wears, we filmed in
advance, thanks to CS50's production
team, and thanks CS50's own
Connor Doyle, and undergrad,
put together the following film that
Brian has beautifully introduced us to.
And then we'll take a quick look
back at some of our volunteers
who have appeared here in lectures
past on stage, CS50 Puzzle Day
lunches, and more, as a bit of
reflection on where you've all

Arabic: 
بعض منهم، آرون، وغريغ،
ودوغ، ومن ثم عضو واحد آخر
من رؤساء الدورة، الذي للأسف،
سيتخرج هذا الربيع المقبل.
طرح براين يو حرفيًا سؤالاً
في مكتبي منذ بضع سنوات.
وتناقشنا
بشأن ما إذا كان يمكنه
المشاركة بشكل ما في الدورة.
والآن هنا، بعد ثلاث سنوات أو نحو
ذلك، قضى شهور الشتاء معنا،
وشهور الصيف معنا، ويدير
العرض بصورة كبيرة الآن.
وبصراحة، من بين جميع رؤساء 
زملاء التدريس لدينا، جميعهم
رائعون، ولكن هناك حقًا
شيء مميز حيال براين يو.
وبصراحة، في كلمة واحدة،
إنه استثنائي.
وفكرتُ في ما سنقوم به،
كتعبير عن الشكر لطاقم العمل،
وكدعوة لكم جميعًا، 
هو التفكير في التقدّم بطلب للانضمام لنا كرفقاء تدريس،
كمساعدو الدورة التدريبية، كمصور، 
كمنتج، أي عدد من الأدوار
التي يتقلدها الفريق هنا، حيث قمنا بتصويرها
مسبقًا، وذلك بفضل فريق إنتاج
CS50، وبفضل كونور دويل إحدى أفراد
طاقم CS50، وطالب جامعي،
اللذان وضعا معًا الفيلم التالي الذي
قدّمه براين لنا بشكل جميل.
وبعد ذلك سنلقي نظرة سريعة
على متطوعينا السابقين
الذين ظهروا في المحاضرات
الماضية هنا على خشبة المسرح، يوم
اللغز الخاص بدورة Cs50، والمزيد، كنوع من
التفكير في المكان الذي

Arabic: 
جئتم إليه خلال العام الماضي.
إذا أمكننا تخفيف الأضواء مجددًا.
[PIANO MUSIC]
[MUSIC PLAYING]
(SINGING) وهو باب مفتوح.
و[INAUDIBLE]

English: 
come this past year.
If we could dim the lights again.
[PIANO MUSIC]
[MUSIC PLAYING]
(SINGING) And it's an open door.
And off [INAUDIBLE]

Arabic: 
[MUSIC PLAYING]
(SINGING) ساعدني، لا تخذلني.
يمكنني أن أتعلم منك،
يمكنني أن أتعلم منك.
ساعدني، لا تخذلني.
يمكنني أن أتعلم منك.
يمكنني أن أتعلم منك.
لذلك إذا أمكننا،
التصفيق بشدة مجددًا لطاقم العمل.
[APPLAUSE]

English: 
[MUSIC PLAYING]
(SINGING) Help me out, let me down.
I could learn from you,
I could learn from you.
Help me out, let me down.
I could learn from you.
I could learn from you.
So if we could, a round of
applause again for the staff.
[APPLAUSE]

Arabic: 
إذن دعونا نلقي نظرة
سريعة على ما مضى ومن ثم على
ما كان يعنيه الأمر قبل 10 أسابيع، عندما
مزقنا، وكنتُ في الواقع أفكر فقط،
أننا ربما كان يجب علينا إضافة مقطع 
الشكل الإيمائي إلى ذلك الجزء من الفيديو هنا،
لقد قمنا بتمزيق دليل الهاتف هذا إلى
نصفين وبدأنا مناقشتنا
حول التفكير الحاسوبي
وكل الأشياء بعد ذلك.
وما نأمل القيام به
بهذه النظرة السريعة،
هو مجرد تذكيركم 
فقط إلى أي مدى قد وصلتم، حقاً،
وللتذكير نوعًا ما بمدى الأمل الذي
يبعثه أن يتزامن ويمتزج عدد
من هذه الموضوعات مجتمعة.
إذن كان هذا هو علم الكمبيوتر، أليس كذلك؟
في الأسبوع صفر، اقترحنا هذا الصندوق
الأسود، الذي اتضح لنا أنه عبارة عن خوارزميات.
وكانت لدينا مدخلات ومخرجات.
كنا بحاجة لتمثيل تلك
المدخلات والمخرجات، وبالتالي
تم إنشاء الأصفار،
والواحدات، والنظام الثنائي.
ومن هناك، تحدثنا حول
المستوى الأعلى من التجريدات،
بالحديث عن الكيفية التي قد يكون لديكم بها أرقام
عشرية أو حروف من الأبجدية، ASCII
وUnicode، الرقم 65،
يمثل الأمر نفسه هناك،
فالنمط نفسه من وحدات البت
ربما كان يمثل شيئًا ما كنقطة،
أو وحدة بكسل باللون الأصفر.
إذا كانت لديكم مجموعة كاملة
من تلك النقاط أو وحدات البكسل،
فقد يصير لديكم وجه باكٍ من الفرحة.
وإذا كانت لديكم
صور متعددة كتلك،
فقد يكون لديكم رموز مشاعر متحركة
أو مقاطع فيديو، بشكل أعمّ،

English: 
So let's take a quick
look back then at what
it meant to be 10 weeks ago, when we
tore, and I was actually just thinking,
we probably should have added the meme
clip to that part of the video here,
we tore this phone book in
half and began our discussion
of computational thinking
and all things thereafter.
And what we hope to do
with this quick look,
is to just remind you just
how far, truly, you've come,
and to sort of remind how
hopefully a number of these topics
have all coincided and intermingled.
So this was computer science, right?
In week zero, we proposed this black
box, that we revealed to be algorithms.
And we had inputs and outputs.
We needed to represent those
inputs and outputs, and thus
were it was born zeros,
and ones, and binary.
And from there, did we talk
about higher level abstractions,
talking about how you might have decimal
or letters of the alphabet, ASCII
and Unicode, the number 65,
representing the same there,
the same pattern of bits might
represents something like a dot,
or a pixel of yellow.
If you have a whole bunch
of those dots or pixels,
you might have a crying face of joy.
And if you might have
multiple images like that,
you might have animojis
or videos, more generally,

English: 
which are just yet another
abstraction on top of that.
And so, as you go out into the
real world now, after CS50,
and see pretty fancy and
newfangled technologies,
just start to critique
them in your mind.
And consider, well, I know
how this feature is done,
and I know how that feature
implements that feature.
Odds are, you can reverse
engineer in your mind how many
of today's technologies
work, just by building
backwards to those lower levels.
We then introduced
pseudo-codes, so we could
talk about what it meant
to express yourself
more carefully, more methodically.
And we introduced loops, and
conditions, and variables,
and other such tenants,
that we then translated,
eventually to another language.
And we also talked not about
correctness, but about efficiency.
So that you have a mental model of just
how good your code, or your algorithm,
or your thought ultimately is.
And then was introduced
Scratch, so that you
had a way, albeit
graphically, to express
all of these various components,
by programming Scratch up and down,
and left and right.
Of course, things got pretty
scary, or ugly, pretty quickly.
We then transitioned to C, when all of
a sudden, the simplest of "Hello world,"
started to look like that.

Arabic: 
والتي هي مجرد تجريد
آخر يُضاف إلى ذلك.
وهكذا، عندما تخرجون إلى
العالم الحقيقي الآن، بعد دورة CS50،
وترون تقنيات جميلة 
وجديدة للغاية،
فما عليكم سوى البدء
في نقدها في عقولكم.
وراعوا، جيدًا، أني أعلم
كيف يتم إعداد تلك الميزة،
وأعرف كيف تقوم هذه الميزة
بتنفيذ تلك الميزة.
الاحتمالات هي، أنكم بإمكانكم إجراء 
هندسة عكسية في عقولكم للكيفية التي
تعمل بها العديد من التقنيات الحالية، 
وذلك تحديدًا بإنشاء
خطوات رجوع إلى تلك المستويات الأقل.
وبعد ذلك قمنا بتقديم
الأكواد الزائفة، لذا فقد أمكننا
الحديث عمّا كان الأمر يعنيه
لتعبّروا عن أنفسكم
بطريقة أكثر عناية، أكثر منهجية.
وقدمنا حلقات التكرار، 
والشروط، والمتغيرات،
والمستأجرين الآخرين من هذا القبيل،
والتي قمنا بترجمتها بعد ذلك،
في نهاية المطاف إلى لغة أخرى.
كما تحدثنا ليس عن 
صحة الأسلوب، ولكن عن الكفاءة.
لذلك فلديكم نموذج عقلي 
لمدى جودة التعليمة البرمجية، أو الخوارزمية،
أو الفكرة الموجودة لديكم في النهاية على وجه التحديد.
ومن ثم قمنا بتقديم
لغة سكراتش، حتى يتسنى لكم
الحصول على وسيلة، وإن كانت
بشكل رسومي، للتعبير عن
كل هذه المكونات المتنوعة،
بواسطة برمجة سكراتش لأعلى ولأسفل،
ويمينًا ويسارًا.
بالطبع، أصبحت الأشياء مخيفة
للغاية، أو قبيحة، وسريعة للغاية.
ثم انتقلنا إلى لغة C، عندما بدأت 
الصورة الأبسط لجملة "Hello world،"
فجأة ودون مقدّمات، أن تبدو كذلك.

English: 
Odds are, that first week, if
you'd never seen any programming
language before, let alone
C, most of those lines
did not look familiar, except
for perhaps the "Hello world,"
but even that thing was followed
by some random backslash n.
And all of that have we, hopefully,
teased apart over the past many weeks.
That, of course, gets compiled
down to zeros and ones,
which the computer only understands.
And thankfully, we humans
live in an age where
we don't need to worry about
that level, or relatively few
of us do, because we have
abstractions, and libraries,
and other developments on top.
In week two, did we then introduce
other aspects of programming,
and functions, and return
values, and the like.
And we also talked about what's
really going on underneath the hood.
Code, like this here, for
instance, gets compiled often
into multiple files, CS50s,
standard iOS and your own code,
and then they all get linked together.
But there too, that's what
you're getting for free,
so to speak, by running a
compiler like Clang, albeit again
and again, whenever you
make a change to your code.
We introduced the notion of
memory, a little chip that
might be in your computer.
And if we zoom in on
that, it really is just

Arabic: 
الاحتمالات هي، أنكم في الأسبوع الأول، إذا
لم تكونوا قد شاهدتم مطلقًا أي لغة
برمجة من قبل، بغض النظر عن
لغة C، فإن معظم تلك السطور
لم تكُن تبدو مألوفة، ربما 
باستثناء "Hello world،"
ولكن حتى ذلك الشيء كان
متبوعًا بتسلسل n/ عشوائي ما.
وكل ما في الأمر أننا قمنا، كما نأمل،
على مدار الأسابيع العديدة الماضية بالتفريق.
وذلك، بالطبع، تم تحويله برمجيًا
إلى أصفار وواحدات،
والتي يفهمها الكمبيوتر فقط.
ولحسن الحظ، نحن البشر
نعيش في عصر
لا داعي فيه للقلق بشأن
ذلك المستوى، أو أنّ عددًا قليلاً نسبيًا
منا يفعل ذلك، نظرًا لأن لدينا
عمليات تجريد، ومكتبات،
وتطورات أخرى تُضاف إليها.
في الأسبوع الثاني، قمنا بعد ذلك بتقديم 
جوانب أخرى من البرمجة،
والدوالّ، وقيم
الإرجاع، وما شابه.
وتحدثنا أيضًا حول ما
يحدث في الواقع خلف الكواليس.
فالتعليمة البرمجية، كهذه هنا،
على سبيل المثال، يتم تحويلها برمجيًا
غالبًا إلى ملفات متعددة، ملفات CS50
ونظام iOS القياسي وتعليمتكم البرمجية،
ثم يتم ربطها جميعًا معًا.
ولكن هناك أيضًا، ذلك
الذي تحصلون عليه مجانًا،
إذا جاز التعبير، من خلال تشغيل
محول برمجي مثل Clang، وإن كان ذلك مرارًا
وتكرارًا، وقتما تقومون بإجراء
تغيير على تعليمتكم البرمجية.
قمنا بتقديم مفهوم 
الذاكرة، وهي عبارة عن شريحة صغيرة
قد تكون في جهاز الكمبيوتر لديكم.
وإذا قمنا بتقريب الصورة
على تلك الذاكرة، فإنها تمثل بالفعل

Arabic: 
هذه اللوحة الفنية الجميلة والبسيطة
من وحدات البت تحديدًا، من الأعلى إلى الأسفل،
ومن اليسار إلى اليمين، والتي يمكنكم
فعل أي شيء تريدونه باستخدامها.
تمامًا كذلك.
على الرغم من كل ما يبدو
من تعقيد في جهاز الكمبيوتر،
فتلك هي اللوحة الفنية
التي يجب عليكم العمل باستخدامها.
وتلك الذاكرة كانت تتيح لنا القيام بأي
عدد من بنيات البيانات
والخوارزميات على رأسها.
على سبيل المثال، في الأسبوع الثالث،
تحدثنا عن السلاسل.
وكانت فكرة السلاسل مباشرة للغاية.
ربما لم تسمعوا
بالكلمة مبدئيًا
في سياق البرمجة،
ولكنها مجرد سلسلة من الأحرف،
ككلمة، أو عبارة،
أو جملة، أو مثل ذلك.
ثم أصبحت الأمور مخيفة
مجدّدًا بسرعة، عندما قلنا،
أن تلك الأشياء كانت كذبة بيضاء
إلى حد ما، والتجريد،
بشكل مناسب أكثر، هو على رأس المؤشرات.
بالطبع، أصبحت المؤشرات نفسها
مخيفة قليلاً بسرعة.
وحتى بالنظر للماضي،
ربما ما تزال تبدو مخيفة.
وذلك جيد.
وفي الواقع أن معظمكم لن تتسنى له
فرصة للبرمجة في لغة C مجدّدًا.
فالفرص الوحيدة المتاحة لديّ تكون عامةً
في شهري سبتمبر وأكتوبر من كل عام،
عن نفسي، لأنني في العالم الحقيقي،
لا أميل إلى استخدام هذه اللغة،
على الرغم من أنها ما تزال 
شعبية وشائعة الاستخدام للغاية،
خصوصًا في االسياقات القائمة
على الأجهزة، حيث تريدون حقًا

English: 
this beautiful, simple canvas
of bytes, top to bottom,
left to right, that you can
do anything you want with.
Like that is it.
Despite all of the seeming
complexity of a computer,
that is the canvas that
you have to work with.
And that was allowing us to do
any number of the data structures
and algorithms on top of it.
For instance, in week three,
we talked about strings.
And strings were very straightforward.
You might not have
heard the word initially
in the context of programming,
but just a sequence of characters,
like a word, a phrase,
a sentence, or such.
And then things got scary
again quickly, when we said,
those are a little bit of a
white lie, and abstraction,
more properly, on top of pointers.
Of course, pointers themselves
got a little scary quickly.
And even in retrospect,
this might still look scary.
And that's fine.
The reality most of you will not
have occasion to program in C again.
The only occasions I have are generally
in September and October of every year,
myself, because in the real world,
I tend not to use this language,
though it does remain super
popular and super commonly used,
especially in hardware based
contexts, where you really

Arabic: 
استخراج أكبر قدر ممكن
من الأداء للأجهزة،
ولا تريدون بالضرورة أعباء
إضافية للغة ذات مستوى أعلى،
مثل Python.
لكن ما يهم هو
تلك المبادئ فقط.
والحقيقة أنكم بإمكانكم وضع الأشياء
في الذاكرة، ويمكنكم الانتقال هناك،
ويمكنكم نقلها.
هذا كل ما تفعله هذه
الصيغة المجنونة لنا.
بالطبع، لم ينتهِ الأمر بشكل
جيد لبينكي، عندما أسأتم استخدام ذلك.
وفي الواقع، إن الكثير من
أخطاء البرمجة اليوم، حتى
تلك التي ما تزال موجودة معنا اليوم، تقلل
من إساءة الاستخدام أو لمس الذاكرة بطريق الخطأ
الذي يجب ألا تفعله.
ولكن بمجرد حصولك على هذا الطراز،
هذه القدرة على تجميع الأشياء معًا في الذاكرة،
ثم يمكنك البدء
ببناء الأشياء في البرنامج.
لقد قدمنا Structs، في C، والتي تتيح
لنا إعداد أنواع البيانات المخصصة الخاصة بنا
والتي تحتوي على
أشياء متعددة بداخلها.
وبمجرد الانتهاء من ذلك،
إذا كان أحد هذه الأشياء
هو نفسه مؤشر إلى
شيء آخر، فيمكنكم
تجميع الأشياء
معًا في الذاكرة،
مما يتيح لكم الوصول إلى القوائم
المرتبطة، والتي تحل المشكلات عندما
يتعلق الأمر بحدود المصفوفات.
ويمكنكم القيام بأشياء رائعة مثل
جداول علامات التجزئة، التي قد تبدو من الناحية النظرية
بمظهر تصويري كهذا،
أو حتى الثلاثية المجنونة،
والتي هي
فعّالة أكثر من االناحية النظرية،

English: 
want to squeeze as much performance
as possible out of the hardware,
and you don't necessarily want the
overhead of a higher level language,
like Python.
But what's important is
just those principles.
The fact that you can put things
in memory, you can go there,
you can move them.
That's all this crazy syntax
has been doing for us.
Of course, it didn't end well
for Binky, when you abused this.
And indeed a lot of today's
programming errors, even
ones that are still with us today,
reduce to misusing or accidentally
touching memory that you should not.
But once you have that primitive,
this ability to stitch things together
in memory, then you can start
to build things in software.
We introduced Structs, in C, which allow
us to come up with our own custom data
types that have multiple
things inside of them.
And once you have that,
if one of those things
is itself a pointer
to something else, you
can kind of string things
together in memory,
thereby giving you access to linked
lists, which solve problems when
it comes to the limitations of arrays.
And you can do even fancier things like
hash tables, that might conceptually
and pictorial look like
this, or even the crazier
tri, which theoretically,
is even more efficient,

Arabic: 
إنها تستهلك مساحة أكبر بكثير.
لكن هذا كل شيء.
باستخدام المؤشرات، كل ما تفعله هو
تجميع بينات البيانات هذه
معًا.
وعلى الرغم من أن معظم اللغات أعلى من C،
مثل Python، وJava، وPHP،
وRuby، لا تحتوي على
مؤشرات في حد ذاتها، إنها
ما تزال تحتوي على فكرة العناوين أو
المراجع.
لذا فالمفهوم موجود،
لقد جعلت الأمر أسهل قليلاً
حتى لا يتم إطلاق النار على قدمك
عن طريق ارتكاب الأخطاء والحصول على أشياء
مثل seg fault. يبدو أن المترجمين
والمترجمين الفوريين
يبلون جيدًا في مساعدتك على حماية
نفسك من الخطأ البشري.
ومن ثم، بعد ذلك، بدأنا في الانتقال،
لقد قضينا وقتًا طويلاً في C،
لكننا بدأنا بالتحدث حول HTTP،
والرسائل والأظرف الافتراضية،
فقط من النقطة أ إلى النقطة ب.
وكانت الرؤوس ضمن تلك الأشياء.
وستتذكرون، ربما ضمن
الرؤوس الممتعة بشكل كبير،
كانت هذه الرأس، التي تم شراؤها منذ بضع سنوات.
إذا استخدمتم متصفحًا أو إذا
استخدمتم Curl، مثل برنامج في سطر الأوامر،
وIDE، أو جهاز Mac أو الكمبيوتر الشخصي
لديك، وكنتم بالفعل تطلبون ذلك،
ما هي تعليمة الحالة البرمجية التي عادت؟
هل يتذكر أي شخص؟
الجمهور: [INAUDIBLE]

English: 
it just takes up so much more space.
But that's it.
With pointers, all you're doing
is stitching these data structures
together.
And even though most languages on top
of C, like Python, and Java, and PHP,
and Ruby, don't have
pointers per se, they
have the idea of addresses
or references still.
So the concept is there, they've
just made it a little easier
not to shoot yourself in the foot by
making mistakes and getting things
like seg fault. The compilers
and the interpreters
are increasingly getting good at helping
you protect yourself from human error.
And then, thereafter, we began to
transition, felt like a long time in C,
but we began to talk about HTTP,
and virtual envelopes and messages,
just going from point A to point B.
And among those things were headers.
And you'll recall, perhaps
among the more amusing headers,
was this one, bought some years ago.
If you use a browser or if you use
Curl, like a program at the command
line, and the IDE, or your Mac or
PC, and you actually request this,
what was the status code that came back?
Anyone recall?
AUDIENCE: [INAUDIBLE]

Arabic: 
المتحدث 1: لم يكن 200، ولم يكن 404.
الجمهور: [INAUDIBLE]
المتحدث 1: أجل، كانت مثل إعادة
توجيهها بشكل دائم.
أعتقد أن 301 أو 302 قد عادت،
وإلى أين أدى ذلك؟
الجمهور: [INAUDIBLE]
المتحدث 1: جامعة ييل.
لذا كان ذلك لطيفًا وممتعًا.
بالطبع، اشتروا HarvardSucks.org
منذ بعض الوقت.
وبالنسبة لمَن لم يعتاد الأمر،
فإن عطلة نهاية الأسبوع هذه،
بالطبع، لعبة كرة القدم في جامعة هارفارد
وييل، تقام هنا في كامبريدج هذا العام.
لذا كانت جامعة ييل على قدر من الذكاء
لدفعها لمدة عقد تقريبًا وبشكل سنوي مقابل،
أو بالأحرى على قدر من الذكاء كما كنا،
أيًا كان المتخرجين،
حيث تدفع لمدة عقد لإعادة
توجيه Safetyschool.org
إلى Yale.edu، ولسوء الحظ، يعتمد
HarvardSucks.org أيضًا على ذلك.
في الواقع، توجد قصة
قديمة رائعة هناك،
كانت قبل حوالي أكثر من 12 عامًا الآن.
حيث فاز بعض الطلاب المغامرون
في جامعة ييل إلى حد ما علينا بالفعل.
هل شاهدتم أو
سمعتم هذه القصة يا رفاق؟
لذا نحن أحرجنا
أنفسنا بالفعل منذ بضع سنوات.
وسيتلخص الأمر في أن
بعض طلاب جامعة ييل المغامرون
يستخدمون بعض
البرامج وبرنامج الكمبيوتر

English: 
SPEAKER 1: Wasn't 200, wasn't 404.
AUDIENCE: [INAUDIBLE]
SPEAKER 1: Yeah, it was
like permanently redirected.
I think 301 or 302 came back,
and where did it lead to?
AUDIENCE: [INAUDIBLE]
SPEAKER 1: Yale University.
So that was nice and fun.
Of course, they bought
HarvardSucks.org some time ago.
And for those unfamiliar,
this weekend is,
of course, the Harvard-Yale football
game, here in Cambridge this year.
So as clever as Yale has been for
like a decade of paying annually
for, or rather as clever as we
have been, whoever the alum,
is paying for a decade
for Safetyschool.org
redirecting to Yale.edu, unfortunately,
HarvardSucks.org also lives on.
In fact, there's a whole
wonderful back story there,
that was about 12-plus years ago now.
Where some enterprising students
at Yale kind of really got us.
Have folks seen or heard this story?
So we really embarrassed
ourselves some years ago.
And it will all boil down to some
very enterprising Yale students
using a little bit of software
and a computer program

Arabic: 
لإنشاء صورة نقطية فعلية، مثل
شبكة من وحدات البيكسل التي تستخدم البشر.
كانت المشكلة أن هؤلاء البشر
كانوا نحن، من جانب هارفارد،
على ملعب هارفارد.
لأننا أساسًا قمنا بإنشاء رسالة
صورة نقطية، وذلك بفضل ذكائهم.
لذا ظننتُ أننا خففنا الأضواء
ولمدة ثلاث دقائق تقريبًا،
ننظر إلى مدى سوء ما حصلوا عليه فقط.
الآن لكي نكون منصفين، لقد هزمناهم منذ
12 عامًا، أو 19 عامًا في كرة القدم
بعد ذلك، على الرغم من
فوزهم في العامين الماضيين.
لذلك لا يمكننا حقًا التحدث عن هذا الآن.
لذلك لن أسترسل وأضجركم بكثرة الكلام
 دعونا نعتم الأضواء وننظر إلى الأعلى أيضًا.
[VIDEO PLAYBACK]
- نحن نتجه إلى بوسطن،
ونتحقق من الملعب للتسلية.
- منذ بضع سنوات،
كنتُ في مؤتمر رياضيات.
وكنت أجلس حول
الطاولة على العشاء،
مع بعض علماء الرياضيات الآخرين.
وذهب أحدهم إلى جامعة
هارفارد، وبدأ
يروي قصة هذه المزحة المذهلة
التي كانت ضد جامعة هارفارد.
وفي تلك المرحلة،
شعرتُ أنه يجب أن أقاطع الحديث،

English: 
to create an actual bitmap, like
a grid of pixels using humans.
The problem was that those humans
were us, on the Harvard side,
in the Harvard stadium.
Because we essentially created a bitmap
message, thanks to their cleverness.
So I thought we'd dim the lights
and for about three minutes,
look at just how bad they got us.
Now to be fair, we got them for like
12 years, or 19 years of football
thereafter, though they have been
winning the past couple of years.
So we can't really talk about this now.
So without further ado, let's dim
the lights and pull this look up too.
[VIDEO PLAYBACK]
- We're headed up to Boston,
checking out the stadium for a prank.
- A few years ago, I was
at a math conference.
And I was sitting around
at the table at dinner,
with a few other mathematicians.
And one of them went
to Harvard, and started
telling the story of this amazing
prank that was against Harvard.
And at that point, I
felt I had to interrupt,

Arabic: 
وقلتُ، حسنًا، يمكنني أن
أخبركم المزيد عن ذلك.
- حسنًا.
- حسنًا.
- تم إتقان الفكرة في غرفة السكن.
- لقد توصلنا إلى الفكرة، في
الواقع، لنمزح معهم
باستخدام علامات في لعبة كرة القدم.
لقد طرحنا بعض الأفكار حول
ما يمكن أن تقوله العلامات.
اتفقنا في النهاية على "نحن سيئون."
وكان رد فعلي الفوري،
لا، هذا لن ينجح أبدًا.
ومع ذلك، بدأ حلّال المشاكل لدي
في التفكير، حسنًا، ربما يمكننا
أن نجعل الأمر ينجح.
- المشكلة، هي أنه كان يجب أن يتسللوا
إلى ملعب هارفارد دون الإمساك بهم،
والتسلل بـ 1800 لافتة، وتوزيعها
على مشجعي هارفارد غير المشتبه بهم،
ومن ثم يقنعوا هؤلاء المشجعين بأن
يقوموا بعمل مزحة بأنفسهم.
- هذا رائع.
- فكرنا في كل شيء في
الأساس يمكن أن يحدث خطأ
وحاولنا التوصل
إلى حل له.
- ثم وضعنا اثنين من
اللاعبين من أجله.
- قاموا بصنع هويات هارفارد المزيفة
وقصص خيالية مزيفة، وتصاميم مزيفة من اللوحات،
وفريق مكون من 28 عضوًا.

English: 
and said, well, actually I can
tell you a lot more about that.
- OK.
- OK.
- The idea was perfected in a dorm room.
- We came up with the idea,
actually, to prank them
with signs at the football game.
We threw some ideas out there as
far as what the signs would say.
We eventually settled on "We Suck."
and my immediate reaction
was, no, this will never work.
However, the problem solver in me
started thinking, well, maybe we
can make this work.
- The problem, they had to infiltrate
Harvard stadium without getting caught,
sneak in 1,800 placards, distribute
them to unsuspecting Harvard fans,
and then convince those
fans to prank themselves.
- That's great.
- We thought about basically every
possible thing that could go wrong
and tried to come up
with a solution for it.
- And then you put
two guys on top of it.
- They made fake Harvard IDs and fake
backstories, fake placard designs,
and a 28-member fake pep squad.

Arabic: 
في 20 نوفمبر 2004،
قام طلاب هارفارد المزيفون
بتهريب اللافتات إلى اللعبة.
- ما الذي تفكر فيه بشأن جامعة ييل، يا سيدي؟
إنها سيئة.
- لن أقول شيئًا مثل أن جامعة
ييل سيئة، أليس كذلك؟
- إنه يقول هيا يا هارفارد.
- ولكن بعد ذلك، حدثت مشكلة.
- أي مساكن أنتم بها يا رفاق؟
- هذه ليست مساكن حقيقية.
- هو-فو؟
- نعم.
- أنتم يا رفاق لستم من هارفارد، أليس كذلك؟
- هل يمكنني رؤية معرّف هارفارد الخاص بكم
لأنني أعتقد حقًا أنكم من جامعة ييل.
- لقد عرضتُ عليه
الجزء الأمامي من هذا المعرّف،
وفجأة، هرب للتو،
وشعر بالحرج الشديد.
- بعد أن نجوا من مواجهة واحدة،
لم يتمكنوا من المخاطرة بمواجهة أخرى.
لقد حان الوقت.
- هذا يبدو فوضويًا للغاية فقط.
- ليست لدينا أي فكرة على الإطلاق
عما إذا كان هذا سينجح.
- انظروا إليهم، لديهم الورق.
سينجح الأمر في الواقع.
لا يمكنني [BEEP] تصديق ذلك.

English: 
On November 20th, 2004,
the fake Harvard students
smuggled the placards into the game.
- What do you think of Yale, sir?
- They suck.
- It's not going to say
something like Yale sucks, is it?
- It says go Harvard.
- But then, trouble.
- What houses are you guys in?
- That's not a real house.
- Ho-fo?
- Yeah.
- You guys aren't from Harvard, are you?
- Can I see your Harvard ID because I
really think you guys are from Yale.
- I just showed him
the front of this ID,
and all the sudden, he just ran
away, and he felt so embarrassed.
- Having escaped one confrontation,
they couldn't risk another.
It was time.
- This just looks like a total mess.
- We have absolutely no idea
if this is going to work.
- Look at them, they have the paper.
It's actually going to happen.
I can't [BEEP] believe this.

English: 
- What was once a
prank, became a legend.
- We did it.
- And immediately, we started
hearing chants from the other side.
You suck.
- You suck, you suck, you suck.
- And I think it was at that point in
time that we knew we had pulled it off.
- One more time.
- There it goes again.
- I really think it
didn't matter that Harvard
won, because of the prank for a
lot of Yale students and alumni,
we definitely won that year.
[END PLAYBACK]
SPEAKER 1: So there you go problem
solving at Harvard, Yale as well.
All right, the bar has been set.
So thereafter, let's try to
somehow make this more academic
again, so thereafter, did we transition
from looking at the principles of HTTP,
and the envelopes with
which you can send messages,
and actually introduced
a language with which

Arabic: 
- ما كان مزحة ذات
مرة، أصبح أسطورة.
- لقد فعلناها.
- وعلى الفور، بدأنا نسمع
الهتافات من الجانب الآخر.
أنتم سيئون.
- أنتم سيئون، أنتم سيئون، أنتم سيئون.
- وأعتقد أنها كانت في تلك المرحلة
الزمنية التي أعتقدنا أننا نجحنا بها.
- مرة أخرى.
- ها هو ينتقل مجددًا.
- أعتقد حقًا أنه لا يهم
إن فازت هارفارد،
بسبب مزحة الكثير من
طلاب وخريجي جامعة ييل،
لقد فزنا بالتأكيد في تلك السنة.
[END PLAYBACK]
المتحدث 1: لذا هناك تقومون بحل
مشكلة في جامعة هارفارد، وييل أيضًا.
حسنًا، تم تعيين الشريط.
بعد ذلك، دعونا نحاول بطريقة
ما جعل هذا أكاديمي أكثر
مجددًا، لذا بعد ذلك، انتقلنا
من النظر في مبادئ HTTP،
والأظرف التي يمكنك
من خلالها إرسال الرسائل،
وفي الواقع تقديم
لغة يمكننا من خلالها

Arabic: 
إنشاء واجهات مستخدمين
وأشياء تشويقية أكثر من
النوافذ الطرفية بمفردها.
بالطبع، كان هناك اتصال
أكثر بالماضي المادي،
لأن ما يقوم به متصفحك بشكل
غير ظاهر هو قراءة Html،
من الأعلى إلى الأسفل،
من اليسار إلى اليمين،
وإنشاء بنية شجرة
بالفعل في الذاكرة،
يمكنك معالجتها بعد ذلك
باستخدام JavaScript، ولكن هناك لغة أخرى.
ومن ثم في الأسبوع السادس، أشرنا
بشكل مأساوي إلى أن
كل هذا التعقيد الذي
واجهناه منذ بضعة أسابيع فقط،
ونحن نحاول بناء قائمة مرتبطة باستخدام فارغ
في النهاية ومؤشرات في جميع الأنحاء،
يقلل في الواقع إلى هذا فقط
في Python، سطر واحد فقط من التعليمة البرمجية.
ومن ثم فإن بنية البيانات
المذهلة هذه تحتوي نظريًا على
وقت وصول ثابت
ونمو ديناميكي،
لأنه يمكنكم إزالة
كل شيء منها.
يجب فقط أن تكتبوا العديد من التعليمة
البرمجية للقيام بإدارة جميع الذاكرة،
وهذا فقط في Python.
لكن بشكل غير ظاهر،
هذا ما تفعله Python.
في الواقع، فإن العديد من مترجم
Python، البرنامج الذي يُسمى Python،
هو نفسه مكتوب بلغة C. ولذا فإن
شخصًا ما، لحسن الحظ ليس أنتم،
كان يتعين عليه أن يكتب
كل هذه الدالات.
لكن Python نفسها هي
تجريد فقط.
هذه الدالات هي عمليات تجريد في أعلى
تفاصيل التنفيذ هذه ذات المستوى
الأدنى.

English: 
we can create user interfaces
and things far more interesting
than terminal windows alone.
Of course, there was a connection
even to the material past,
because underneath the
hood, what your browser is
doing is reading that HTML,
top to bottom, left to right,
and building really a
tree structure in memory,
that you can then manipulate using
JavaScript, yet another language.
And then in week six, did
we tragically point out
that all that complexity we'd
wrestled with just a few weeks ago,
trying to build a linked list with null
at the end and pointers throughout,
actually reduces to just this in
Python, just a single line of code.
And then this amazing data
structure that theoretically
has constant time access
and dynamic growth,
because you can chain
everything off of it.
You just have to write a lot of code
to do all the memory management,
is just this in Python.
But underneath the hood,
that is what Python is doing.
In fact, a lot of the Python
interpreter, the program called Python,
is itself written in C. And so
someone, just thankfully not you,
has had to write all
of that functionality.
But Python itself is
just an abstraction.
These functions are abstractions on
top of these lower level implementation
details.

English: 
And that should really become
part of your vocabulary,
distinguishing between design,
and abstractions, and lower level
implementation details,
all of which are important,
but they don't all need to
be at the tip of your mind
when you're thinking about
how to solve a problem.
You can solve problems at this level.
And then lower down into
the implementation details.
So after that, we tried to
tie everything together.
And we looked more generally
at web programming.
We just looked at one paradigm of
web programming, the MVC model,
so to speak.
There are dozens,
probably more these days,
all of them with fancy
confusing acronyms.
But it's just different
ways to solve problem.
Because we humans,
with each passing year,
realize that, hey, I, in my
company, and you, in your company,
and you, in your dorm, we're all
trying to solve similar ideas.
We're all trying to make an app.
We're all trying to make a website.
And we're all reinventing wheels.
And so new frameworks are invented,
and new methodologies, and people
start sharing.
And the world starts to collaborate
by way of open source tools,
that we, ourselves, have used, like
Flask being one such example thereof,
jQuery a little bit, Bootstrap
as well, all of which
allow us to sort of solve
problems collectively

Arabic: 
ويجب أن يصبح هذا حقًا
جزء من مفرداتكم،
ويميز بين التصميم، وعمليات التجريد،
وتفاصيل التنفيذ
ذات المستوى الأدنى، وكل هذه
التفاصيل مهمة،
ولكنها جميعًا لا تحتاج إلى
أن تكون في قمة تفكيرك
عندما تفكرون في
كيفيه حل مشكلة.
يمكنكم حل المشاكل في هذا المستوى.
ومن ثم الأقل أهمية في
تفاصيل التنفيذ.
لذا بعد ذلك،
حاولنا ربط كل شيء معًا.
ونظرنا بشكل عام
في برمجة الويب.
نظرنا فقط إلى نموذج واحد
من برمجة الويب، نموذج MVC،
إذا جاز التعبير.
توجد العشرات،
ربما أكثر هذه الأيام،
كلها باختصارات
مربكة ورائعة.
لكنها طرق مختلفة
لحل مشكلة فقط.
لأننا نحن البشر،
مع مرور كل عام،
ندرك ذلك، مهلاً، أنا،
في شركتي، وأنت، في شركتك،
وأنت، في سكنك،
نحاول جميعًا حل أفكار مماثلة.
نحن جميعًا نحاول إنشاء تطبيق.
نحن جميعًا نحاول إنشاء موقع ويب.
ونحن جميعًا نعيد اختراع العجلات.
وهكذا يتم اختراع أُطُر عمل جديدة،
ومنهجيات جديدة، ويبدأ الأشخاص
بمشاركتها.
ويبدأ العالم بالتعاون عن
طريق أدوات مفتوحة المصدر،
استخدمناها نحن بأنفسنا،
وFlask مثال على ذلك،
jQuery قليلاً فقط، Bootstrap
أيضًا، كل ذلك
يسمح لنا إلى حد ما
بحل المشاكل بشكل جماعي

Arabic: 
والحصول على عمل حقيقي وأكثر إثارة
للاهتمام دون الاضطرار إلى التعامل
مع كل تفاصيل التنفيذ هذه.
وأخيرًا، قدمنا لغة أخيرة
واحدة، هي لغة SQL،
والتي أعطتنا جميعًا واجهة
خلفية، حيث يمكننا
تخزين الأشياء،
والمزيد من الأشياء،
وبسهولة أكبر بكثير مما كنا
نفعل باستخدام ملفات CSV فقط.
وإذا كنتم تحبون عالم
الإحصائيات وعلم البيانات هذا،
وما شابه ذلك، أو إذا عدتم إلى
عالم العلوم الإنسانية،
أو الطب أو أي عدد من المجالات،
حيث يوجد فقط الكثير من الكلمات،
الكثير من الكتب، والكثير من النصوص
والكثير من البيانات، وفي نهاية المطاف، SQL،
وجميع هذه اللغات يمكن استخدامها
لمساعدتكم في الإجابة عن الأسئلة
التي قد تكون لديكم في هذه المجالات.
إذن من هناك، إلى أين ننتقل؟
لذا بعد عطلة عيد الشكر هنا في
كامبريدج، سيكون هناك الهاكاثون الخاص بدورة CS50.
سيبدأ الساعة 7:00 مساء في الليل،
وسينتهي الساعة 7:00 صباحًا
في اليوم التالي.
ومن المفترض أن يكون أحد تلك
التجارب الجماعية الفريدة، حيث
تجتمعون مع جميع
أصدقائكم وزملائكم،
وجميع طاقم عمل الدورة في الليل،
وتعملون على المشاريع النهائية.
فرصة لتكونوا منتجين.
فرصة بعيدة بما فيه الكفاية عن
الموعد النهائي للشعور بالرضا عن ذلك

English: 
and get real, more interesting work
done without having to deal with all
of those implementation details.
And then lastly, did we
introduce one last language, SQL,
which gave us all the
more of a back end, where
we can store stuff, a
lot more stuff, and a lot
more easily than we
could with CSVs alone.
And if you like this world of
statistics, and data science,
and the like, or if you're going
back to the world of the humanities,
or medicine, or any number of fields,
where there's just lots of words,
lots of books, lots of texts,
lots of data, ultimately, SQL,
and all of these languages can be
used to help you answer questions
that you might have in those domains.
So from there, where do we go?
So after Thanksgiving break here
in Cambridge is the CS50 hackathon.
It will begin at 7:00 PM in the
evening, and it will end at 7:00 AM
the next night.
And it's meant to be one of those
uniquely collegiate experiences, where
you have alongside you all of
your friends and classmates,
and all of the course's staff into
the night, working on final projects.
An opportunity to be productive.
An opportunity far enough away from
the deadline to feel good about it

English: 
and to take breaks, and to
have dinner with us at 9:00 PM,
to have second dinner
with us around 1:00 AM.
And then if you're
still awake, around 5:00
AM we charter some Harvard
shuttles, and take ourselves
to IHOP for breakfast as well.
But you're welcome to go to
sleep at any point in between.
Just to give you a
sense of what it's like.
On arrival, the students
from both Harvard and Yale
ascend the stairs, joining the staff
for the evening of programming.
We have reserved the entire
space above the Innovation Lab
across the river at
HBS, where everyone will
be able to tuck themselves away
into a corner with their partners,
or with their friends,
or classmates more
generally, and just work throughout
the night on their final projects.
There's a photo booth,
and a Myla as well,
as well as other members of the staff.
There are therapy dogs in some years,
if you'd like to take a little break
and meet such puppies as these.
And then, of course,
at 5:00 AM, is IHOP.
And this is Maria
Zlatkova, now at Facebook,
greeting us at last year's breakfast.
And then the CS50 fair.
On both campuses is this event.
An opportunity for
all of you to show off
just what you accomplish
this semester, truly meant

Arabic: 
وأخذ فترات راحة، وتناول العشاء
معنا في الساعة 9:00 مساء،
ولتناول عشاء ثاني معنا
حوالي الساعة 1:00 صباحًا.
ثم إذا كنتم ما تزالون مستيقظين،
حوالي الساعة 5:00 صباحًا،
نقوم بتأجير بعض حافلات
هارفارد، ونذهب إلى
iHOP لتناول الإفطار أيضًا.
لكن يمكنكم الذهاب
للنوم في أي وقت بينهما.
فقط لأعطيكم
فكرة عما يشبه ذلك.
لدى وصول الطلاب من
هارفارد وييل يصعدون الدرج،
وينضمون إلى طاقم العمل في
المساء من البرمجة.
لقد حجزنا المساحة
بالكامل فوق مختبر الابتكار
عبر النهر في HBS،
حيث سيكون الجميع قادرين
على الجلوس في
زاوية مع شركائهم،
أو مع أصدقائهم،
أو زملائهم بشكل عام،
والعمل فقط طوال الليل
على المشاريع النهائية.
هناك كشك صور،
ومايلا أيضًا،
فضلاً عن أعضاء آخرين من طاقم العمل.
هناك كلاب علاجية من مختلف الأعمار،
إذا كنتم ترغبون في أخذ استراحة صغيرة
ومقابلة جرِاء كهذه.
وبعد ذلك، بالطبع، في
الساعة 5:00 صباحًا، سنذهب إلى IHOP.
وهذه ماريا زلاتكوفا،
الآن في Facebook،
تلقي التحية علينا من إفطار العام الماضي.
ومن ثم معرض CS50.
هذا هو الحدث في كلا الحرمين الجامعيين.
فرصة للجميع
لإظهار ما تقومون
بإنجازه في هذا الفصل
الدراسي فقط، والذي يعني حقًا

Arabic: 
أنكم تعرضون ما قمتم به،
وليس عرضًا لمجموعات مشكلاتكم الخاصة،
حيث تم إخباركم كيفية الإنشاء،
ولكن مشروعكم الخاص الذي
قررتم كيفية القيام به بأنفسكم.
سنقوم بدعوة الحرم الجامعي بأكمله،
وأعضاء هيئة التدريس والطلاب وطاقم العمل
من جميع أنحاء الحرم الجامعي.
عادة ما يكون عددهم أكثر من 2000 شخص.
سنكون في مركز سميث الذي تم
تجديده بشكل جميل هذا العام،
مباشرة في ميدان هارفارد.
لذلك نحن نتوقع أن يكون هناك عدد
غير قليل من المارة والسياح أيضًا.
إنه يقترن دائما مع يانصيب رائع،
حيث سيتم منحكم جميعًا،
كمقدمين للطلاب،
ملصقات وجه مبتسمة
صغيرة أو هكذا.
أي شخص يتجدّث إليكم
ويسألكم عن مشروعكم
وعن العرض التجريبي السريع
على الكمبيوتر المحمول أو الهاتف،
ستتمكن من تسليمهم ملصق
ومن ثم تكون مؤهلاً
للحصول على جوائز رائعة.
على طول الطريق، سيكون هناك
الفشار والوجبات الخفيفة
والموسيقى وأكثر من ذلك.
بعض من خريجينا في هذا
المجال يريدون التحدث إليكم
حول العالم الحقيقي، ووقت الصيف،
وفرص العمل بدوام كامل أيضًا.
وما سترونه هو مساحة
تشبه، وتشعر، وتبدو،
بدلاً من أن تكون كهذا، مع
اختلاط الناس فقط،
بالفخو والسعادة برؤية
ما فعلتموه أنتم وأصدقاؤكم.
مع الفشار، وكرات الضغط
والموظفين، والطلاب

English: 
to be the capstone of what you've
done, not exhibiting your own problems
sets that you were told how to build,
but your own project that you yourself
decided how to.
We'll invite the entire campus,
the faculty, students, and staff
from across campus.
Usually it's about 2,000-plus people.
We'll be in the beautifully
renovated Smith Center this year,
right in Harvard Square.
So we expect to have quite a few
passers by and tourists as well.
It's always coupled with
a fabulous raffle, whereby
you'll all be given, as student
presenters, little smiley face
stickers or such.
Anyone who chats you up and
asks you about your project
and for a quick demo on
your laptop or phone,
you'll be able to hand them a
sticker and be eligible, therefore,
for fabulous prizes.
Along the way though, there'll
be popcorn, and snacks,
and music, and more.
Some of our alumni from
industry to talk to you
about the real world, and summer time,
and full-time opportunities as well.
And what you'll see is a space
that looks, and feels, and sounds,
rather like this, with
folks just mingling around,
really proud and happy to see what it
is that you and your friends pulled off.
With popcorn in attendance, stress balls
in attendance, and staff, and students

English: 
alike, hopefully delighting
in what it is that you did.
Everyone will end the semester
with a I took CS50 t-shirt.
Hopefully, this is something
you two will wear proud.
In fact, this truly is
where I got my start.
1996, CS50 changed my life.
And, in fact-- in fact,
here, is indeed proof
of just how proud I am to have actually
gotten my way through this course
so long ago, when I, myself, had not had
the nerve freshman year even to shop.
So hopefully, you feel yourselves
a member of that community as well.
So of course, we thought we'd give you
a sense of what the next few weeks might
be like, especially if you don't
necessarily budget your time properly.
A few years ago, we used
before the CS50 IDE,
the software called
CS59 Appliance, which
was like a downloadable version
of it for your Mac and PC.
It tended to be a little slower,
and you'll see an allusion to that.
But this video produced by CS50's
production team, and particularly
Dan Coffee, was CS50's first
experimentation with puppetry.
And you'll see that we
tell the story by proxy
of a CS50 student working on their final
project, just as the deadline nears.

Arabic: 
على حد سواء، ونأمل أن تستمتعوا
بما قمتم به.
سيُنهي الجميع الفصل
الدراسي ومعهم قميص CS50.
آمل أن يكون هذا شيئًا
يفخر جميعكم به.
في الواقع، هذا حقًا
حيث حصلتُ على بدايتي.
1996، غيرت CS50 حياتي.
وفي الواقع-- في الواقع،
هنا، في الواقع دليل
على مدى فخري بأنني قد بدأتُ بالفعل
طريقي من خلال هذه الدورة منذ فترة طويلة،
لذا منذ وقت طويل، لم أعتد على أني، أنا، لم
أحظى بعام الطلاب الجدد حتى للتسوق.
آمل أن تشعروا بأنكم أعضاء
في هذا المجتمع أيضًا.
لذلك اعتقدنا بالطبع أننا سنعطيكم فكرة
عما قد تكون عليه الأسابيع القليلة القادمة،
خاصة إذا لم تكونوا بالضرورة
تنظمون أوقاتكم بشكل صحيح.
قبل بضع سنوات،
استخدمنا قبل CS50 IDE،
البرنامج الذي يُطلق عليه
CS59 Appliance،
والذي كان يشبه إصدارًا قابلاً للتنزيل
منه لجهاز Mac وجهاز الكمبيوتر الشخصي.
إنه يميل إلى أن يكون أبطأ قليلاً،
وسترون إشارة على ذلك.
لكن هذا الفيديو الذي أنتجه
فريق الإنتاج في CS50، وخاصة
دان كوفي، كان أول تجربة
لدورة CS50 باستخدام عالم الدمى.
وسترى أننا نحكي القصة
بالنابة عن طالب CS50
الذي يعمل على مشروعه النهائي،
تماماً كما يقترب الموعد النهائي.

Arabic: 
وإذا تمكننا من تقليل الأضواء،
فسيكون هذا آخر
مقاطع الفيديو التي لدينا اليوم قبل أن
نتطلع إلى المستقبل في السنوات
القادمة.
[PHONE RINGING]
[MUSIC PLAYING]

English: 
And so if we could dim
the lights, this will
be our last of the videos for today
before we now look ahead at the years
after.
[PHONE RINGING]
[MUSIC PLAYING

English: 
- "MISSION IMPOSSIBLE"]
So our thanks to Dan Coffee
and the team for producing that

Arabic: 
- "MISSION IMPOSSIBLE"]
لذا، نشكر دان كوفي
والفريق على إنتاج ذلك أيضًا،

English: 
as well, if we could.
[APPLAUSE]
That is indeed exactly
how deadlines work.
Every time we have a deadline, I--
So life after 50.
So the training wheels are off,
you can keep the rubber duck
and have someone to talk to
as you wrestle with problems.
But the CS50 IDE, while
you can keep using it,
it's not something you, odds are, going
to use in the real world for very long.
And there really is no check 50
and help 50 in the real world,
though there are lots of humans.
They are not called TFs anymore,
they're called friends and colleagues.
But you can lean on those folks as well.
And what we thought we'd
give you is some list
of suggestions for next steps, so that
you feel like there's offboarding.
And honestly, some of
this will happen naturally
as you tackle your final
projects, depending on the nature.
And if you take another class, or CS50
beyond this winter, or you experience
these things yourselves, but we
thought we'd at least give you
some links in today's
slides, so that you
have something to tinker with over
Thanksgiving, or winter break,
or beyond.
So CS50 IDE is meant to be
representative of a very
common programming environment.

Arabic: 
إذا أمكننا ذلك.
[APPLAUSE]
هذه بالضبط كيفية
عمل المواعيد النهائية.
في كل مرة يكون لدينا موعد نهائي، --
إذن الحياة بعد 50.
لذا ستكون عجلات التدريب متوقفة،
يمكنكم الاحتفاظ بالبطة المطاطية
وشخص ما للتحدث إليه
بينما تواجهون المشاكل.
ولكن، في حين أنه يمكنكم
أن تستمروا في استخدام CS50 IDE،
فهذا ليس شيئًا، من المحتمل، ستستخدمونه
في العالم الحقيقي لفترة طويلة جدًا.
ولا توجد حقًا check 50
وhelp 50 في العالم الحقيقي،
على الرغم من وجود الكثير من الأشخاص.
لا يُطلق عليهم رفقاء تدريس بعد الآن،
ولكن أصدقاء وزملاء.
ولكن يمكنكم الاعتماد على هؤلاء الأشخاص كذلك.
وما فكرنا به هو
إعطائكم قائمة
من الاقتراحات للخطوات التالية، حتى
تشعرون بوجود الطريق.
وبصراحة، سيحدث بعض من
هذا بشكل طبيعي
أثناء تناولكم المشاريع
النهائية، اعتمادًا على طبيعتها.
في حال تناولكم مادة آخرى، أو CS50
بعد هذا الشتاء، أو تجربة
هذه الأشياء بأنفسكم، لكن
فكرنا في إعطائكم على الأقل
بعض الروابط في شرائح
اليوم، حتى يكون
لديكم شيء للعبث به خلال عطلة
عيد الشكر، أو العطلة الشتوية،
أو ما بعدها.
إذن من المفترض أن CS50 IDE
تمثل بيئة
برمجة شائعة جدًا.

Arabic: 
يصادف أنها قائمة على الويب،
وأيضًا في اسم المجال لدينا.
لكن تُعد فكرة وجود
متصفح ملفات من نوع ما،
وعلامات تبويب حيث تكتبون
التعليمة البرمجية، ونافذة طرفية
تتفاعلون من خلالها،
شائعة، بشكل لا يُصدق أبدًا،
سواء كانت في السحابة، أو
بشكل أكثر شيوعًا بالنسبة لمُطوِّري
البرامج الحقيقيين على
جهاز Mac أو جهاز الكمبيوتر الشخصي لديكم.
بصراحة، بعد عدة سنوات من الآن، من المحتمل
أن هذه هي طريقة سير الأمور، لن يستخدم
أحدنا جهاز Mac، أو أجهزة الكمبيوتر الشخصية لدينا في حد ذاتها،
من المحتمل أن يكون كل شيء عن بعد.
إذن فإن الاحتمالات هي أنه، في مرحلة ما في
المستقبل، سنصل إلى دائرة كاملة.
ولكن في الوقت الحالي، يُعد
تكرار هذا النوع
من الإعداد على جهاز Mac أو الكمبيوتر الشخصي.
إذن، كيفية حصولكم على سطر
أوامر، والذي آمل أن تكونوا لاحظتموه،
عندما كنتم مُحبطين، هو
أقوى من أن يكون لديكم فقط
قوائم ورموز متوفرة
قدمها لكم شخص ما،
مثل شركة،
على سبيل المثال Microsoft، أو Apple.
حسنًا، في كل من أجهزة Mac وأجهزة الكمبيوتر الشخصية،
يمكنكم تثبيت الأدوات نفسها
التي استخدمناها في هذا
الفصل الدراسي، وClang، وMake،
ويمكنكم الحصول على CD، وLS،
وMiktor، وتلك الأوامر جميعها
على كلا من Mac OS أو Windows.
ويمكن أن تكون نقاط الانطلاق هنا.
يوفر كل من هذه النوافذ
الطرفية الخاصة بها، والبرامج
فيها.

English: 
It happens to be web based, it
happens to be in our domain name.
But this idea of having a
file browser of some sort,
and tabs where you write
code, and a terminal window
with which you interact,
incredibly, incredibly, common,
whether it's in the cloud, or
more commonly for real world
software developers on
your own Mac or your PC.
Frankly, some years from now, this will
probably be the way it is, none of us
use our Mac, PCs per se,
everything probably is remotely.
So odds are, at some point in the
future, we'll come full circle.
But for now, it's quite
common to replicate this kind
of setup on your own Mac or PC.
So how do you go about having a command
line, which hopefully you've gleaned,
while frustrating, is more
powerful than only having
menus and icons available
to you that someone else,
like a company, like Microsoft
or Apple has given you.
Well, in both Macs and PCs,
can you install the same tools
that we used this
semester, Clang, and Make,
and you get CD, and LS, and
[? Miktor, ?] and all of those commands
on both Mac OS or Windows.
And the starting points can be here.
Both of those provide their own sort
of terminal windows, and the software
therein.

English: 
You can just install via
those two starting points.
Now what about Git?
You've seen or heard
about Git, even though we
don't use it hands on in the class.
Odds are you will use this in higher
level CS courses, if you take it.
It's one of the most
popular programs with which
to save versions of your software.
Now you may have noticed the CS50
IDE does this automatically for you.
You can go to File, Revision
History, and you can kind of
go back and forth in time.
And that's great and wonderfully useful,
but it doesn't really lend itself
to collaborating with others.
And so, if you're working with
partners for the final project,
in the simplest form, you
can just have one of you
share your CS50 IDE with
the other user names.
And you'll all just
share the same account.
And that's fine.
But it gets a little
annoying and complicated
if you're both trying
to edit the same files,
you're not necessarily talking to one
another, or you're in different rooms.
Like, at some point you
want to have good workflows.
And so via this URL here, does Brian
introduce you to Git, a command line
tool that's super, super, super
popular these days, that lets
you save versions of your code.
So you no longer call it
Mario 1.C, and Mario 2.C,
and Mario 3 AM.C and the like.

Arabic: 
يمكنكم التثبيت فقط عبر
نقطتي الانطلاق هاتين.
الآن ماذا بشأن Git؟
قد رأيتم أو سمعتم
عن Git، على الرغم من أننا
لا نستخدمه في المحاضرة بشكل عملي.
الاحتمالات هي أنكم ستستخدمونه قي دورات CS
ذات المستوى الأعلى، إذا كنتم ستلتحقون بها.
فهو أحد أكثر
البرامج شيوعًا والذي من خلاله
تقومون بحفظ إصدارات برنامجكم.
الآن قد تكونوا لاحظتم أن CS50 IDE
تقوم بذلك تلقائيًا نيابة من أجلكم.
يمكنكم الانتقال إلى الملف، ومحفوظات
المراجعة، ويمكنكم إلى حد ما
الانتقال ذهابًا وإيابًا في الوقت المناسب.
وهذا أمر رائع ومفيد بشكل كبير،
لكنه في الحقيقة لا يتوافق
مع التعاون مع الآخرين.
ولذا لو كنتم تعملون مع
شركاء للمشروع النهائي،
في أبسط أشكاله، فيمكن
فقط مشاركة
CS50 IDE الخاصة بأحدكم
مع أسماء المستخدمين الآخرين.
وستتشاركون جميعًا
الحساب نفسه فقط.
وهذا جيد.
ولكن هذا يصبح مزعجًا
ومعقدًا بعض الشيء
إذا حاول كلاكما
تحرير الملفات نفسها،
فأنتما لا تتحدثان بالضرورة إلى بعضكما
البعض، أو أنكما في غرف مختلفة.
على سبيل المثال، في مرحلة ما
تريدون أن تكون لديكم مسارات عمل جيدة.
إذن عبر عنوان URL هذا هنا، يقدمكم براين
إلى Git، وهي أداة سطر
أوامر وهي شائعة جدًا
جدًا هذه الأيام، وهي تتيح
لكم حفظ إصدارات من التعليمة البرمجية لديكم.
إذن لن تطلقوا عليها
Mario 1.C، أو Mario 2.C بعد الآن،
أو Mario 3 AM.C وما شابه ذلك.

Arabic: 
في الواقع تطلقون عليها Mario.C.
لكنكم تدعون Git تهتم
بختم الوقت عليها وعملية الإصدار الخاصة بها
من أجلكم.
وتسمح Git لكم بمشاركة
التعليمة البرمجية لديكم في السحابة.
نستخدم GitHub،
بالطبع، لعمل عمليات تقديم، وما شابه ذلك،
وللتعليق.
ولكن بشكل عام أكثر، يستخدم
فقط لتخزين
التعليمة البرمجية ومشاركتها مع أشخاص آخرين.
إذن ما ستفعلونه عبر
Git هو حرفيًا
دفعها عبر Git إلى خدمة مثل
GitHub، أو GitLabs، أو غير ذلك.
في حين يمكن لشخص آخر سحبها
عبر Git على جهاز Mac أو كمبيوتر شخصي.
وبالتالي، تقومون بمشاركة الملفات.
لن تقوموا بإرسالها عبر بريد إلكتروني.
أو تخزينها في Dropbox، أو ما شابه ذلك.
تستخدمون في الواقع
أداة برنامج مُوحدة.
يمكنكم تثبيتها
عبر هذه التعليمات
هنا، إذا لم تكن لديكم بالفعل.
والأكثر فائدة أيضًا، يمكنكم
التسجيل في مستودعات مجانية
GitHub.com، لديكم حساب بالفعل.
لأن لديكم معرّف
طالب، يمكنكم الانتقال إلى عنوان URL هذا
هنا وإخبارهم بأنكم طلاب
في جامعة هارفارد، أو ييل، أو خارجهما.
ومن ثم، هل يمكنني أن أحصل
على مستودعات مجانية خاصة،
إذن يمكنكم جعل المشاريع
المدرسية أو الشخصية خاصة،
دون الحاجة إلى الوصول
إلى منظمة CS50 الخاصة.
إذن أين تكتبون التعليمة البرمجية؟
إذن، هناك العديد
من المُحررين هذه الأيام.
من بين أكثر الأدوات
شيوعًا تُسمى
Atom، وهي مُحرر
نص مفتوح المصدر الذي

English: 
You actually call it Mario.C.
But you let Git take care of
time-stamping it and versioning it
for you.
And Git allows you to share
your code in the cloud.
What we use GitHub for is for,
of course, submissions, and such,
and for commenting.
But more generally, it's
used for just storing
code and sharing with other people.
So what you'll do with
Git is literally Git
push it to a service like a
GitHub, or GitLabs, or others.
Where someone else can then Git
pull it onto their own Mac or PC.
And, therefore, you're sharing files.
You don't email.
You don't Dropbox, or the like.
You actually use a
standardized software tool.
You can install it
via these instructions
here, if you don't have it already.
And more usefully too, can you
sign up for free repositories
GitHub.com, you already have an account.
Since you have a student
ID, you can go to this URL
here and tell them you're a student
at Harvard, or Yale, or beyond.
And then say, can I please
have free private repos,
so you can keep your own personal
or school projects private,
without needing access to
CS50's own organization.
So what do you write code in?
So, there's bunches
of editors these days.
Among the most popular
is a tools that's called
Atom, which is an open
source text editor that

Arabic: 
يحتوي على العديد والعديد من الإدخالات.
مثل النوافذ
المبوبة لكتابة التعليمة البرمجية.
تقوم بالتظليل، والصيغ،
والأكثر من ذلك،
حتى تكون التعليمة البرمجية سهلة
التحرير، وتبدو جميلة
بينما تعملون عليها،
وتجعل الحياة سهلة جدًا.
من الشائع جدًا هذه الأيام أيضًا
تعليمة VS البرمجية أو تعليمة Visual Studio البرمجية.
وهما من الناحية الوظيفية
متعادلتان بشكل كبير.
يمكنكم أن تسألوا زملاءكم في التدريس
أو أصدقاءكم أيهما تفضلون،
أو فقط قوموا بتجربة كلتاهما.
فهما مجانيتان، وتوجد
العشرات من الخيارات الأخرى.
في الوقت الحالي هاتان فقط
مشهورتان جدًا في المجال.
ضمن النافذة الطرفية، مع ذلك،
ما قد يستخدمه الكثير من طلاب علم الكمبيوتر،
شيء ما يُسمى Vim.
ويوجد بدائل هناك،
تُسمى Emax وبضعة أشياء أخرى.
لكن Vim في الواقع هو ما اعتدتُ
عليه، وما زلتُ أميل إلى استخدامه حتى هذا اليوم.
لا أميل إلى استخدام واجهة المستخدم الرسومية.
فقط أستخدم نافذة طرفية أكبر
مع الكثير من التعليمات البرمجية بداخلها.
وVim أشبه
بأداة سطر أوامر، حيث
يجب أن تحفظوا
المزيد من اختصارات لوحة المفاتيح،
لكنه أيضًا قوي
للغاية مثل
نافذة طرفية أيضًا.
إذن أيًا كان ما
تعتادون عليه بشكل كبير فلا بأس به.
إذن لنفترض أنكم تريدون نشر
موقع ويب، على سبيل المثال صفحتكم الرئيسية
الخاصة، أو سيرتكم الذاتية، أو ملفكم
الفني، أو أي شيء
من أين تبدأون؟

English: 
has lots and lots of plug-ins.
This is like the tabbed
windows for writing code.
It does syntax, highlighting,
and so much more,
so that your code is easy to
edit, and it looks pretty wild
you're working on it, and
just makes life pretty easy.
Also super popular these days is
VS Code or Visual Studio Code.
They are functionally
pretty much equivalent.
You can ask your teaching fellows
or friends which you prefer,
or just try them both.
They are free, and there's
dozens of other options.
These two just currently have
a lot of momentum in industry.
Within the terminal window, though, is
what a lot of CS students would use,
something called Vim.
And there's alternatives there,
called [? Emax ?] and a few others.
But Vim is actually what I grew up
on, and still to this day tend to use.
I tend not to use a GUI.
I just use a bigger terminal window
with lots and lots of code inside of it.
And Vim is more of a
command line tool, where
you have to memorize
keyboard shortcuts more so,
but it's also more
powerful in the same way
a terminal window tends to be as well.
So whatever you are most
comfortable with is fine.
So suppose you want to post a
website, like your own personal home
page, your resume, an artistic
portfolio, or whatnot,
where do you even begin?

English: 
You can certainly make it on
your Mac or PC in an HTML file,
but no one in the world can access it.
You can put it in CS50
IDE, but that goes
to sleep eventually,
when you're not using it,
which makes it hard for people on
the internet to visited at any hour.
But fortunately, there's so
many free services out there,
at least if you have modest usage.
If you're trying to
build a business, odds
are you're going to pay someone
for the bandwidth, and the support,
and so forth.
But if you just have a home page, where
you're getting dozens, hundreds, maybe
low thousands of visits,
which is probably
likely the case for
personal sites, you can
use something called GitHub Pages, a
free service where you store your HTML
files, JavaScript,
and CSS on GitHub.com,
and they host it for you for free.
Netlify is another free
one too, and dot, dot, dot,
you can Google ad nauseam and find
any number of free such services.
These just tend to be two popular
ones with which I too am familiar.
Hosting a web app, so not a static
website, but something more dynamic,
we'll have instructions that we'll
circulate for this final project
as well, so that you can sort
of graduate from CS50 IDE
and run your final
project, or your website,

Arabic: 
يمكنكم إنشاؤها بالتأكيد على
جهاز Mac أو الكمبيوتر الشخصي في ملف HTML،
لكن لا يمكن لأي شخص في العالم الوصول إليها.
يمكنكم وضعها في CS50
IDE، ولكن هذه ستكون
ساكنة في نهاية المطاف،
عندما لا تستخدمونها،
مما يجعل زيارتها صعبة للأشخاص
على الإنترنت في أي ساعة.
لكن لحسن الحظ، يوجد
الكثير من الخدمات المجانية هناك،
على الأقل إذا كان استخدامكم بسيط.
إذا كنتم تحاولون
إنشاء عمل تجاري، فالاحتمالات
هي أنكم ستدفعون لشخص ما
مقابل عرض النطاق والدعم
وما إلى ذلك.
ولكن إذا كانت فقط لديكم صفحة رئيسية، حيث
تحصلون على عشرات، ومئات، ربما
بضعة آلاف من الزيارات،
وهذا على الأرجح
الحال بالنسبة
للمواقع الشخصية، يمكنكم
استخدام شيء يُسمى صفحات GitHub،
وهي خدمة مجانية حيث تقوم بتخزين ملفات HTML،
وJavaScript،
وCSS لديكم على GitHub.com،
وستقوم باستضافتها من أجلكم مجانًا.
Netlify هي خدمة مجانية
أخرى أيضًا
يمكنكم البحث في Google والعثور على
أي عدد من هذه الخدمات المجانية.
تميل هذه فقط إلى أن تكون الأكثر
شهرة وأنا أيضا على دراية بها.
تقوم باستضافة تطبيق ويب، لذا هي ليست موقع
إلكتروني ثابت، ولكنها شيء ديناميكي أكثر،
ستكون لدينا تعليمات سنقوم
بتعميمها لهذا المشروع النهائي
أيضًا، بحيث يمكنكم
التخرج من CS50 IDE
وتشغيل مشروعكم
النهائي، أو موقع الويب الخاص بكم،

English: 
or your student group's tool,
or your startup's website
on a third-party service.
Heroku tends to be very popular.
They too have a free tier of service.
So long as your website's not being
hammered by lots and lots of users,
you can use it for free.
You get free access to a database,
something called Post [? Gress, ?]
which we alluded to
earlier in the semester,
using the same data types we discussed.
Wix is another common one too, that very
recently launched support for code, not
just static web sites too.
So these are starting points.
But certainly use Google or the
like to find other options as well.
Then there's infrastructure,
as a service, so to speak.
There's some bigger fish out there,
Amazon, and Microsoft, and Google,
that have cloud-based services.
The learning curve tends to
be a little higher, frankly.
So I would encourage you to maybe
start with the previous examples, which
are businesses built
on top of these layers.
But if you're interested,
absolutely sign up
as a student for any
number of these services,
and they tend to give you
lots of financial credits,
so you can just try things
for free, for like a month,
or a year, or whatnot
to get your feet wet.
It's a wonderfully free
world when you're just
getting started in this space.
And then more general advice.
Read lots.
And I'm sure if you ask
the TFs and CAs, you'll
get an even longer list of sites.

Arabic: 
أو أداة مجموعة طلاب خاصة بكم، أو
أو موقع ويب لشركة ناشئة خاص بكم
عبر خدمة تابعة لجهة خارجية.
يميل Heroku إلى أن يكون شائعًا جدًا.
لديهم أيضًا طبقة خدمة مجانية.
طالما أن موقع الويب لديكم لا يتم تصفحه
عبر الكثير والكثير من المستخدمين،
يمكنكم استخدامه مجانًا.
يمكنكم الوصول بحرية إلى قاعدة بيانات،
شيء يُسمى Post Gress
الذي أشرنا إليه
في وقت سابق في الفصل الدراسي،
باستخدام أنواع البيانات نفسها التي ناقشناها.
Wix هي خدمة أخرى شائعة جدًا، وتم
إطلاقها مؤخرًا لدعم التعليمة البرمجية، وليست
فقط مواقع ويب ثابتة أيضًا.
إذن هذه هي نقاط الانطلاق.
ولكن بالتأكيد استخدموا Google أو
ما شابه للعثور على خيارات أخرى كذلك.
ثم هناك بنية تحتية،
كخدمة، إذا جاز التعبير.
توجد مواقع أكبر هناك،
Amazon، وMicrosoft، وGoogle،
التي تحتوي على خدمات قائمة على السحابة.
يبدو أن منحنى التعلم
أعلى قليلاً، بصراحة.
لذا أود أن أشجعكم ربما على البدء
بالأمثلة السابقة، والتي
تُعد أعمال تجارية تم إنشاؤها
أعلى هذه الطبقات.
ولكن إذا كنتم مهتمين،
قوموا بتسجيل الدخول بالتأكيد
كطالب لأي عدد
من هذه الخدمات،
وسيقومون بإعطائكم
الكثير من الاعتمادات المالية،
لذا يمكنكم تجربة الأشياء
مجانًا، لمدة شهر مثلاً،
أو سنة، أو أي شيء
لاكتساب الخبرة.
إنه عالم رائع ومجاني
عندما تكونون على وشك
البدء في هذا الفضاء.
ومن ثم المزيد من النصائح العامة.
يجب أن تقرأوا الكثير.
وأنا متأكد أنكم إذا طلبتم
من رفقاء التدريس ومساعدي الدورة التدريبية،
ستحصلون على قائمة أطول بالمواقع.

Arabic: 
ولكن هذه هي أنواع المواقع
التي قد أنتقل إليها إذا أردتُ
أن أبقى على علم بتلك الأشياء إلى حد ما.
يُعد الاشتراك في مختلف مواقع
Reddit الفرعية، إذا جاز التعبير،
مُقنع، حيث تحصلون فقط على المعلومات،
والأخبار، والمحادثات.
وبصراحة، عندما يسألونني
كيف أبقى إلى حد ما
على علم بأمور معينة،
وأسمع أشياء من الأصدقاء،
وأحصل على رسائل البريد الإلكتروني حول التقنيات،
أُصبح فضولي، ولذا أقوم بالتدقيق.
وهذه هي الأماكن التي
قد أنتقل إليها، وأيضًا عدد كبير من التقنيين،
للتحدُث عن الاتجاهات 
والتقنيات الجديدة.
أو إذا كنتم تحاولون معالجة شيء،
هل يجب أن أستخدم x أو y،
لا تستخدموا Google فقط.
تحقّقوا من مواقع الويب تلك أيضًا.
ومن ثم CS50، إذا أردتم
البقاء على علم.
إذن CS50، لا يوجد الكثير من هذه الدورات في الحرم الجامعي،
ولكن للطلاب في جميع أنحاء العالم،
تحافظ على عدد من المجتمعات
عبر الإنترنت، وجميعها
أنتم مرحب بكم للمشاركة فيها، عبر الإجابة على
أسئلة، أو طرحها،
أو ما شابه ذلك.
وليست هذه هي
بعض من الدورات الحالية الآن فقط.
أي أسئلة عن أي من تلك
الخطوات السابقة أو المستقبلية أو جميعها؟
أي شيء على الإطلاق؟
لا؟
حسنًا.

English: 
But these tend to be the kinds of
sites I go to if I just kind of want
to stay in the loop on things.
Subscribing to various
sub-Reddits, so to speak,
is compelling, where information, news,
conversations, just get pushed at you.
And honestly, whenever I'm
asked how I kind of stay
in touch with certain things,
I hear things from friends,
I get emails about technologies, I
get curious, and so I poke around.
And these tend to be the places that
I might go, and a lot of tech people
go, to talk about new
trends and technologies.
Or if you're trying to vet something,
should I use x or should I use y,
don't just use Google.
Check out those websites as well.
And then CS50, if you'd
like to stay in touch.
So CS50, not so much here on campus,
but for students around the world,
maintains a number of online
communities, all of which
you're welcome to partake in, answering
questions, or asking questions,
or the like.
And those are just the few
of the current ones now.
Any questions on any or all
of those past or future steps?
Anything at all?
No?
All right.

English: 
OK, so we'll adjourn
in just a little bit
time for our tradition of
cake downstairs in the pub.
But we also have one other
tradition, especially now
that you have some 10 weeks
of experience behind you.
For all intents and
purposes, you are all now
qualified as CS50 staff, because,
indeed, at the end of the day,
most of CS50 staff are recent
alumni of the course themselves,
sophomores, juniors, seniors, recent
graduates, students online who
have taken this class, maybe taken
another class in the spring or beyond,
and then joined us as staff.
So realize that even if you're
not feeling more comfortable yet,
or most comfortable, nor
are most of the staff,
and myself included, with
a lot of these things.
And so long as you stay one step ahead
and you know the kinds of resources
to turn to, this is what it really
is about when learning in this world.
And in fact, a very common
mindset, I do know, in the class,
in the problem sets, in
the quiz, is wait a minute,
you didn't teach us this.
And that, odds are, was
quite true quite often.
And I don't just mean
to be rationalizing it.
That was very much by design.

Arabic: 
حسنًا، إذن سننتقل
بعد وقت
قليل إلى تقليدنا
بتناول الكعك في الطابق السفلي في الحانة.
ولكن لدينا أيضًا تقليد
آخر، وبشكل خاص الآن
بما أن لديكم عشرة أسابيع
من الخبرة.
لجميع النوايا
والأغراض، أنتم الآن جميعكم
مؤهلون كطاقم عمل CS50، لأنه،
في الواقع، في نهاية المطاف،
معظم طاقم عمل CS50 هم حديثو
التخرج من الدورة نفسها،
في السنة الثانية، والثالثة، وسنة التخرج، وحديثو
التخرج، والطلاب عبر الإنترنت الذين
حصلوا على هذه الدورة، أو ربما
دورة أخرى في الربيع أو بعده،
ومن ثم انضموا إلينا كطاقم عمل.
إذن لابد أن تدركوا أنه حتى إذا كنتم
لا تشعرون بالاعتياد على الأمر بعد،
أو بأكبر قدر من الراحة، ولا حتى
معظم طاقم العمل،
وأنا واحد منهم، حول
الكثير من هذه الأشياء.
وطالما بقيتم مُتقدمين بخطوة
وتعرفون أنواع الموارد
التي عليكم اللجوء إليها، وهذه هي حقيقة
الأمر عندما تتعلمون في هذا العالم.
وفي الواقع، العقلية الشائعة 
جدًا، التي أعرفها، في المحاضرة،
في مجموعات المشاكل، في
الاختبار، هي مهلاً،
لم تقم بتعليمنا هذا.
والاحتمالات هي، ذلك كان
صحيحًا تمامًا في كثير من الأحيان.
ولا أعني فقط
تبريره.
كان ذلك إلى حد كبير عن عمد.

English: 
In the real world, that's exactly the
emotion you're hopefully going to feel,
or realistically going
to feel quite often.
And we truly do hope that
among the tools you've gotten,
training wheels and beyond, is to know
where to have the right instincts now
with how to bootstrap yourself, so to
speak, and solve problems, and learn
things on your own.
But we thought we would, in
conclusion put that to the test.
And I think for this, we need--
let's see, we have a bunch of chairs
up here, four student volunteers,
for about to be--
four about to be alumni volunteers.
OK, over here in the
front, yeah, come on down.
Over here, in the front, and three.
And let me try to see about
four, over here, come on down.
All right four, you have four?
Colton's going to join us.
Uh-oh, OK, we'll take five, that's
fine, but you gotta bring a chair.
We'll find a chair somewhere.
Come on down.
And now I need four staff
volunteers, if we could.
Who on the staff might--
Oh, yes, ma'am come on up.
Athena has volunteered.
Oh, Erin, would you like to--
oh, come up.

Arabic: 
في العالم الحقيقي، آمل أن يكون
ذلك بالضبط هو شعوركم،
أو في الواقع ستشعرون
بذلك في كثير من الأحيان.
ونأمل حقًا أن من
بين الأدوات التي حصلتم عليها،
عجلات التدريب وغيرها، هو معرفة
حيث يكون لديكم الحدس الصحيح الآن
مع كيفية تمهيد أنفسكم باستخدام Bootstrap، إذا
جاز التعبير، وحل المشاكل، وتعلُم
الأشياء بأنفسكم.
لكننا اعتقدنا أنه، في النهاية
علينا وضع ذلك قيد الاختبار.
وأعتقد لهذا، نحن بحاجة--
لنرى، لدينا مجموعة من الكراسي
هنا، أربعة طلاب متطوعين،
أربعة على وشك--
أربعة على وشك أن يكونوا خريجين متطوعين.
حسنًا، هنا في
الأمام، نعم، تعال.
هنا، في المقدمة، والثالث.
ودعوني أحاول أن أرى
الرابع، هنا، تعال.
حسنًا أربعة، لديكم أربعة؟
سينضم كولتون إلينا.
أه أوه، حسنًا، سنأخذ خمسة، لا بأس
بذلك، ولكن عليك إحضار كرسي.
سنجد كرسي في مكان ما.
تعال.
والآن أنا بحاجة أربعة
متطوعين من طاقم العمل، إذا أمكننا ذلك.
مَن من طاقم العمل يمكنه--
أوه، نعم، سيدتي تعالي.
تطوعت أثينا.
أوه، إيرين، هل تريدين أن--
أوه، تعالي.

Arabic: 
نعم، مَن؟
حسنًا، نعم، تعال، يا روبرت.
حسنًا، شكرًا جزيلاً على التطوع.
حسنًا، إذن-- لكن المغزى هو، أننا
بحاجة أن يكون طاقم العمل في فريقهم الخاص.
لذا دعونا نجعل الطلاب
هنا، لأنكم بحاجة--
لا بأس.
يا رفاق هل يمكنكم الانتقال إلى هنا؟
حسنًا، أنتم الخمسة-- لدينا
فريق الطلاب هنا.
وسنجد لك كرسي
في الحال.
طاقم العمل، امضوا قدمًا وخُذوا مقاعدكم هنا.
كل منكم لديه ورقة،
وقلم، وميكروفون.
ولمَ لا نمضي قدمًا،
بينما نستعد للانتقال إلى هنا--
هل يريد كل منكم أن يقول
مرحبًا ويُقدم نفسه؟
إيرين: مرحبًا.
المتحدث 1: حسنًا، يمكنك إخبارهم.
إيرين: مرحبًا، أنا إيرين،
إحدى معلمي الدورة.
إسحاق: أنا إسحاق، زميل تدريس.
روبرت: أنا روبرت، مساعد في الدورة التدريبية.
أثينا: وأنا أثينا، زميلة تدريس.
أندريا: مرحبًا، أنا أندريا،
أنا خريجة، قريبًا.
أفيفا: مرحبًا، أنا أفيفا، خريجة أيضًا.
جوناثان: أنا جوناثان.
أبريل: أنا أبريل.
إريك: أنا إريك.
كولتون: مرحبًا، أنا كولتون،
أنا تقنيّ.

English: 
Yeah, who?
OK, yeah, come on up, Robert.
OK, thank you so much for volunteering.
OK, so-- but the catch is, we
need the staff on their own team.
So let's put the students
here, because you need--
that's OK.
Could you guys go over here?
OK, all five of you-- we have
our student team over here.
And we'll find you one more
chair in just a moment.
Staff, go ahead and take a seat here.
You each have a piece of
paper, a pen, and a microphone.
And why don't we go ahead,
as we get ready to go here--
do you want to each just say
hello and introduce yourself?
ERIN: Hello.
SPEAKER 1: Well, you can tell them.
ERIN: Hello, I'm Erin, one
of the course preceptors.
ISAAC: I'm Isaac, I'm a TF.
ROBERT: I'm Robert, I'm a CA.
ATHENA: And I'm Athena, I'm a TF.
ANDREA: Hi, I'm Andrea,
I'm an alumni, soon.
AVIVA: Hi, I'm Aviva, me too.
JONATHAN: I'm Jonathan.
APRIL: April.
ERIC: I'm Eric.
COLTON: Hi, I Colton,
I'm a technologist.

English: 
SPEAKER 1: All right, so what are we
all doing up here, you might wonder.
Well, we have this tradition
of using all of those questions
that you offered for the quiz, recall
in problem set seven, just a couple
of weeks ago, as refreshers.
Now mind you, there is quite
the difference between, I think,
a lot of the questions you offered
up at suggestions for quiz questions.
Many of them were like,
what is two in binary,
or maybe what is three in binary.
And so, that was great.
But we were looking for a
little harder questions.
And we get some of those too.
And so Colton kindly went
through the thousands
of questions that were
submitted just a couple of weeks
ago, to pluck out some of the most
serious, some of the most playful ones.
And I have here them
clustered into categories,
because we have this tradition
of playing our own version, staff
versus students, of Jeopardy.
Now because you all wrote the
questions in the form of questions,
I'm going to read them in the
form of questions and not answers.
So it's more of a quiz show, if
we could, staff versus students.
The first person to raise their
hand, we'll call on first.

Arabic: 
المتحدث 1: حسنًا، إذن قد تتساءلون،
ما الذي نفعله جميعًا هنا.
حسنًا، لدينا هذا التقليد
في استخدام جميع تلك الأسئلة
التي قدمتموها للاختبار، تذكروا
في مجموعة المشاكل 7، منذ
أسبوعين، لأنشط ذاكرتكم.
الآن تذكرون، يوجد الاختلاف
إلى حد ما بين، أعتقد،
العديد من الأسئلة التي قدمتموها
في اقتراحات أسئلة الاختبار.
والعديد منهم على سبيل المثال،
ما هي اثنان في النظام الثنائي،
أو ربما ما هي ثلاثة في النظام الثنائي.
إذن، كان ذلك عظيمًا.
لكننا كنا نبحث عن
أسئلة أصعب قليلاً.
وحصلنا على بعض من تلك أيضًا.
إذن مضى كولتون
خلال آلاف
الأسئلة التي تم تقديمها
منذ أسبوعين
فقط، للعثور على بعض من
أصعب الأسئلة، وأسهلها.
وهي لديّ هنا
مُجمعة في فئات،
لأنه لدينا هذا التقليد
في تشغيل الإصدارات الخاصة بنا، طاقم العمل
مقابل الطلاب، في المحك.
الآن لأنكم جميعًا كتبتم الأسئلة
في شكل أسئلة،
سأقرأها في شكل أسئلة
وليس في شكل إجابات.
إذن هذا أشبه ببرنامج مسابقات، إذا
أمكننا القول، طاقم العمل مقابل الطلاب.
أول شخص يرفع
يده، سنستدعيه أولاً.

English: 
We don't have buzzer technology here.
Colton will be our judge, if
you don't mind being the judge.
And we'll do just a few
rounds of single and double,
and on Final Jeopardy, followed by cake.
So in a moment, we'll
show you the categories,
and begin asking the questions.
Do you have any questions of your own?
STUDENT: Are we
answering with questions?
SPEAKER 1: You will be
answering as an answer.
I'll ask the questions, you answer.
So it's not really Jeopardy, but
it just kind of sounds better
if we call it Jeopardy.
OK, so-- and also, also, look at what
we made in HTML to facilitate this.
Let's zoom in.
Here we go, Enhance, whoo-hoo, look
at those HTML tables and links.
OK, so without further ado,
I think before today began,
we decided that the students
had won the coin toss.
Would you like to pick a
category, and then I'll
ask you a question in that category.
STUDENT: Scratch for 1,000.
SPEAKER 1: Scratch-- for $100?
STUDENT: No, there's no $100.
STUDENT: $1,000.

Arabic: 
ليست لدينا تقنية الجرس الطنان هنا.
سيكون كولتون الحكم، إذا لم
تمانع أن تكون الحكم.
وسنقوم فقط بعدد قليل
من الجولات الأولي والثانية،
والأخيرة من المحك، يليها تناول الكعك.
إذن في غضون لحظات، سنعرض
لكم الفئات،
ونبدء بطرح الأسئلة.
هل لديكم أي أسئلة خاصة بكم؟
الطالب: هل سنجيب
في شكل أسئلة؟
المتحدث 1: ستجيبون
في شكل إجابة.
سأطرح الأسئلة، وستجيبون.
إذن هذا ليس على المحك في الواقع، ولكن
يبدو نوعًا ما أفضل
إذا أطلقنا عليه المحك.
حسنًا، إذن-- وأيضا، أيضًا، انظروا إلى ما
فعلناه في HTML لتسهيل هذا.
دعونا نقوم بالتكبير.
ها نحن ذا، تكبير، أوه أوه، انظروا
إلى جداول HTML وروابطها تلك.
حسنًا، لن أسترسل وأضجركم بكثرة الكلام،
أعتقد قبل بداية اليوم،
أننا قررنا أن الطلاب
الذين ربحوا في لعبة القرعة.
هل ترغبون في
اختيار فئة،
ومن ثم سأسألكم سؤالاً في هذه الفئة.
الطالب: سكراتش مقابل 1000.
المتحدث 1: سكراتش-- مقابل 100 دولار؟
الطالب: لا، لا توجد 100 دولار.
الطالب: 1000 دولار.

English: 
SPEAKER 1: Oh, I heard 1,000.
STUDENT: Yeah, 1,000.
SPEAKER 1: OK, so week--
week zero, week zero, the question
is what institution develop Scratch.
STUDENT: [INAUDIBLE]
SPEAKER 1: Colton?
STUDENT: [INAUDIBLE]
SPEAKER 1: Whoever
raises their hand first.
COLTON: [INAUDIBLE]
SPEAKER 1: OK, OK, students.
STUDENT: MIT.
SPEAKER 1: MIT is the correct
answer for 1,000 points.
Very nicely done.
OK, if no one's going to clap--
[APPLAUSE]
SPEAKER 1: There we go.
No it's OK.
We have an HTML button for that too.
All right, so students,
you have control.
What would you like?
STUDENT: Scratch for 800.
STUDENT: Yeah, I was--
SPEAKER 1: Scratch for what?
STUDENT: All the Scratch ones.
STUDENT: Scratch for 800.
SPEAKER 1: Scratch for 800, working
our way through the Scratch questions.
OK, what color is the cat?
Students--
STUDENT: Orange.

Arabic: 
المتحدث 1: أوه، لقد سمعتُ 1000.
الطالب: أجل، 1000.
المتحدث 1: حسنًا، إذن الأسبوع--
الأسبوع صفر، الأسبوع صفر، السؤال
هو ما هي المؤسسة التي طوّرت سكراتش.
الطالب: [INAUDIBLE]
المتحدث 1: كولتون؟
الطالب: [INAUDIBLE]
المتحدث 1: مَن رفع
يديه أولاً.
كولتون: [INAUDIBLE]
المتحدث 1: حسنًا، حسنًا، الطلاب.
الطالب: معهد ماساتشوستس للتكنولوجيا.
المتحدث 1: معهد ماساتشوستس للتكنولوجيا
هو الجواب الصحيح مقابل 1000 نقطة.
عمل رائع للغاية.
حسنًا، إذا لم يصفق أحد--
[APPLAUSE]
المتحدث 1: ها نحن ذا.
لا، لابأس.
لدينا زر HTML لذلك أيضًا.
حسنًا، إذن الطلاب،
يمكنكم التحكم.
ما الذي تفضلونه؟
الطالب: سكراتش مقابل 800.
الطالب: أجل، لقد كنتُ--
المتحدث 1: سكراتش مقابل ماذا؟
طالب: جميع أشياء سكراتش.
الطالب: سكراتش مقابل 800.
المتحدث 1: سكراتش مقابل 800، تعمل 
طريقتنا على أسئلة سكراتش.
حسنًا، ما هو لون القط؟
الطلاب--
طالب: برتقالي.

English: 
SPEAKER 1: Orange, OK, now funny
enough, two people asked this question
in P Set 7, and we got two answers--
yellow and orange.
Perhaps by a show of hands-- yellow--
orange.
OK, orange, students get the $800.
Very nicely done.
Students--
STUDENT: We should do something big.
STUDENT: Don't do C.
I'm terrible with C.
STUDENT: Arrays.
STUDENT: No.
STUDENT: Arrays are easy.
STUDENT: Fine.
STUDENT: Fine, arrays.
STUDENT: Arrays for 1,000.
SPEAKER 1: Arrays for 1,000.
So this is from week two for 1,000.
This is going to be--
what is the running time of merge sort?
Staff?
STAFF: End log in.
SPEAKER 1: End log in
is correct for a 1,000.

Arabic: 
المتحدث 1: برتقالي، حسنًا، الآن المضحك
بما فيه الكفاية، سألنا شخصين ذلك السؤال
في P Set 7، وحصلنا على إجابتين--
أصفر وبرتقالي.
ربما برفع الأيدي-- الأصفر--
البرتقالي.
حسنًا، البرتقالي، سيحصل الطلاب على 800 دولار.
عمل رائع للغاية.
الطلاب--
الطالب: يجب أن نقوم بشيء كبير.
الطالب: لا تختاروا C.
أنا سيئ للغاية في C.
الطالب: المصفوفات.
الطالب: لا.
الطالب: المصفوفات سهلة.
الطالب: حسنًا.
الطالب: حسنًا، المصفوفات.
الطالب: المصفوفات مقابل 1000.
المتحدث 1: المصفوفات مقابل 1000.
حسنًا هذا من الأسبوع 2 مقابل 1000.
هذا سيكون--
ما هو وقت تشغيل دمج التصنيف؟
طاقم العمل؟
طاقم العمل: إنهاء تسجيل الدخول.
المتحدث 1: إنهاء تسجيل الدخول
صحيح مقابل 1000.

Arabic: 
الطالب: [INAUDIBLE]
المتحدث 1: طاقم العمل، ماذا تفضلون.
طاقم العمل: الذاكرة.
طاقم العمل: الذاكرة.
المتحدث 1: ذاكرة مقابل--
طاقم العمل: 1000.
المتحدث 1: مقابل 1000؟
طاقم العمل: أجل.
المتحدث 1: حسنًا، مقابل 1000، ما هو
اسم الأداة التي يمكنكم تشغيلها
لمعرفة ما إذا كان برنامجك--
طاقم العمل؟
طاقم العمل: Valgrind.
المتحدث 1: إذا كان برنامجك به تسريب للذاكرة،
Valgrind صحيح، مقابل 1000.
طاقم العمل: [INAUDIBLE]
طاقم العمل: [INAUDIBLE]
طاقم العمل: كان ذلك لطيفًا.
المتحدث 1: طاقم العمل مقابل 1000،
ماذا تريدون بعد ذلك؟
طاقم العمل: أسبوع النجمة، ما هذا؟
المتحدث 1: أوه، أسبوع النجمة هو الفرصة المميزة،
حيث يمكنكم الحصول فيه على أي أسبوع.
طاقم العمل: أسبوع النجمة مقابل 1000.
المتحدث 1: أسبوع النجمة مقابل 1000.
لذا سأختار الفئة لكي--

English: 
STUDENT: [INAUDIBLE]
SPEAKER 1: Staff, what would you like.
STAFF: Memory.
STAFF: Memory.
SPEAKER 1: Memory for--
STAFF: 1,000.
SPEAKER 1: For a 1,000?
STAFF: Yeah.
SPEAKER 1: OK, for 1,000, what
is the name of the tool you
can run to see if your program--
staff?
STAFF: Valgrind.
SPEAKER 1: If your program has memory
leaks, Valgrind is correct, for 1,000.
STAFF: [INAUDIBLE]
STAFF: [INAUDIBLE]
STAFF: That was nice.
SPEAKER 1: Staff for 1,000,
what do you want next?
STAFF: Week Star, what is that?
SPEAKER 1: Oh, week star is the
wild card, so you can get any week.
STAFF: Week Star for 1,000.
SPEAKER 1: Week Star for 1,000.
So I shall choose the category to be--

Arabic: 
ما هو مصحح أخطاء البطة المطاطية؟
ما هو مصحح أخطاء البطة المطاطية؟
الطلاب؟
الطالب: سأجيب على ذلك.
إنه عندما تقرأ كل سطر فى التعليمة البرمجية
للبطة المطاطية
وتحاول العثور على خطأ.
المتحدث 1: أعتقد أن ذلك صحيح.
إجابة رائعة للغاية مقابل 1000.
[APPLAUSE]
حسنًا، أعتقد أن لدينا وقت لطرح سؤال واحد
آخر في محك واحد.
أيها الطلاب يمكنكم التحكم والقيادة.
الطالب: ننتقل إلى أدنى حد
ممكن [INAUDIBLE]..
الطالب: لا، لمَ لا نجرب أسبوع 
مقابل 800، أو C مقابل--
الطالب: على سبيل المثال مقابل 200، لأنهم
لن يتمكّنوا من اللحاق بنا بعد ذلك.
الطالب: إذن 200.
الطالب: أجل.
المتحدث 1: الطلاب؟
الطالب: C مقابل 200.
المتحدث 1: مقابل ماذا؟
الطالب: C مقابل 200.
المتحدث 1: C مقابل-- نعم، حسنًا.
C مقابل 200 في الأسبوع واحد.
الأسبوع 1-- سؤالكم سيكون--
هل لغة C هي الأسوأ؟
أيها الطلاب، مقابل 200؟

English: 
what is rubber duck debugging?
What is rubber duck debugging?
Students?
STUDENT: I'll answer it.
It's when you read every
line of code to a rubber
duck and to try and find a mistake.
SPEAKER 1: I think that's correct.
Very well done for 1,000.
[APPLAUSE]
All right, I think we have time for
one more question in single Jeopardy.
Students you have control and the lead.
STUDENT: Go for the lowest
possible [INAUDIBLE]..
STUDENT: No, why don't we
try Week for 800, or C for--
STUDENT: For like 200, because
then they can't catch up.
STUDENT: So 200.
STUDENT: Yeah.
SPEAKER 1: Students?
STUDENT: C for 200.
SPEAKER 1: For what?
STUDENT: C for 200.
SPEAKER 1: C for-- whoa, OK.
C for 200 in week one.
Week 1-- your question is going to be--
is C the absolute worst?
Students, for 200?

English: 
STUDENT: OK, I think it's not, because--
STUDENT: The person asking
that would say, yes,
so we just have to match their answer.
STUDENT: We have to match their answer?
SPEAKER 1: The correct
answers are right here.
STUDENT: Yes.
SPEAKER 1: No.
This is what I'm told.
STUDENT: Yes.
SPEAKER 1: I hear two yeses and one no.
STUDENT: I stick by my opinion.
STUDENT: Majority wins.
SPEAKER 1: The answer
is yes, it is the worst.
STUDENT: Yes.
SPEAKER 1: For 200.
OK, so we're now moving
on to Double Jeopardy,
where all the dollar values
are doubled and the categories
have changed two later weeks,
still with one wild card.
Students.
STUDENT: Oh, god.
SPEAKER 1: Python for 2,000.
SPEAKER 1: For 2,000.
STUDENT: I'm sorry, I
just made that decision.
STUDENT: Python, 2,000.
SPEAKER 1: What week?
STUDENT: Python, 2,000.
SPEAKER 1: Python for 2,000.
So that's week six.

Arabic: 
الطالب: حسنًا، أعتقد أنها ليست كذلك، لأن--
الطالب: الشخص الذي يطلب ذلك
سيقول، نعم،
لذلك يجب أن نتطابق مع إجابتهم فقط.
الطالب: يجب أن نتطابق مع إجابتهم؟
المتحدث 1: الإجابات الصحيحة
هنا.
الطالب: أجل.
المتحدث 1: لا.
هذا ما أخبرتُ به.
الطالب: أجل.
المتحدث 1: أسمع اثنتين نعم ولا واحدة.
الطالب: أنا متمسك برأيي.
الطالب: الأغلبية تفوز.
المتحدث 1: الجواب
هو نعم، إنها الأسوأ.
الطالب: أجل.
المتحدث 1: مقابل 200.
حسنًا، إذن نحن نسير الآن
إلى محك مزدوج،
حيث تتم مضاعفة جميع قيم الدولارات
والفئات تغيرت
للأسبوعين الماضيين،
ما يزال لدينا الأسبوع المميز.
الطلاب.
الطالب: أوه، يا إلهى.
المتحدث 1: Python مقابل 2000.
المتحدث 1: مقابل 2000.
الطالب: معذرة، لقد
اتخذتُ هذا القرار للتو.
الطالب: Python، 2000.
المتحدث 1: أي أسبوع؟
الطالب: Python، 2000.
المتحدث 1: Python مقابل 2000.
إذن هذا الأسبوع 6.

English: 
Python for 2,000, and a question
that a classmate asked was,
what is an animal that you don't want
to find under your pillow that shares
its name with a programming language?
Students.
STUDENT: Python snake.
A python snake.
SPEAKER 1: Python is
correct, yes, for $2,000.
Very nice.
Students, Python 6,000.
SPEAKER 1: Time for just a few
questions before we move on to final.
STUDENT: Oh, let's do, like Web--
do you guys want to do Web--
STUDENT: Sure, Web 2,000.
SPEAKER 1: Web for 2,000,
that was week seven.
And a question here
was, who is your friend?
STUDENT: What?
SPEAKER 1: Students for 2,000.
Oh, did you see Erin first?
Sorry, Colton's the judge.
STAFF: Developer tools?
SPEAKER 1: I'm sorry, that's incorrect.
Yes, students?
STUDENT: Inspect Elements?
STUDENT: Inspect Elements.

Arabic: 
Python مقابل 2000، والسؤال
الذي اختاره الطالب كان،
ما هو الحيوان الذي لا تريد
أن تجده تحت وسادتك
الذي يشارك اسمه مع لغة برمجة؟
الطلاب.
الطالب: ثعبان Python.
ثعبان Python.
المتحدث 1: Python صحيحة،
نعم، مقابل 2000 دولار.
لطيف جدًا.
الطلاب، Python 6000.
المتحدث 1: حان الوقت لطرح بضعة الأسئلة
قبل أن ننتقل إلى المرحلة النهائية.
الطالب: أوه، فلنختار، مثلا الويب--
هل تريدون أن تختاروا الويب--
الطالب: بالتأكيد، الويب 2000.
المتحدث 1: الويب مقابل 2000،
ذلك كان في الأسبوع 7.
والسؤال هنا
كان، مَن هو صديقك؟
الطالب: ماذا؟
المتحدث 1: الطلاب مقابل 2000.
أوه، هل رأيتَ إيرين أولاً؟
عذرًا، كولتون هو الحكم.
طاقم العمل: أدوات المُطوِّر؟
المتحدث 1: معذرة، إنها إجابة غير صحيحة.
نعم، أيها الطلاب؟
الطالب: عناصر الفحص؟
الطالب: عناصر الفحص.

Arabic: 
المتحدث 1: عناصر الفحص،
أخشى أنها أيضًا غير صحيحة.
أيها الطلاب، مرة أخرى؟
الطالب: البطة المطاطية.
المتحدث 1: البطة المطاطية غير صحيحة.
الطالب: Google.
المتحدث 1: Google، لا.
أعتقد أنكم أصبحتم سالب 8000 الآن.
لكن هذا جيد، لن نخصم.
لن نخصم، لا بأس.
أنا أعلم أن تلك ليست طريقة لعب المحك.
حسنًا.
طاقم العمل: W3 Schools؟
المتحدث 1: W3 Schools، غير صحيحة.
أيها الطلاب-- ماذا؟
الطالب: ديفيد [INAUDIBLE]؟
المتحدث 1: لا، ليس هو.
أجل؟
الطالب: تبادل المكدس؟
المتحدث 1: ماذا؟
الطالب: تبادل المكدس؟
المتحدث 1: ليس تبادل المكدس.
الإجابة هي Bootstrap.
حسنًا، لنمضي قدمًا.
إذن بعض الوقت لطرح سؤالين آخرين
في المحك المزدوج.
أعتقد أن الطلاب يمكنهم التحكم، أليس كذلك؟
الطالب: أجل.
الطالب: ما الذي تريدون اختياره؟
المتحدث 1: يحتاج طاقم العمل
للتقدم أكثر هنا.
الطالب: فقط كأي سؤال
في أسبوع مقابل 2000.
الطالب: الفرصة المميزة 2000؟
الطالب: أسبوع [INAUDIBLE] مقابل 2000.
الطالب: الفرصة المميزة، 2000.
الطالب: الفرصة المميزة مقابل 2000.
أيها الجمهور، ما هو الأسبوع الذي سنختاره لهم؟
واحد من سبعة، 0 من 7.
أربعة، لقد سمعتُ ذلك.

English: 
SPEAKER 1: Inspect Element,
also incorrect, I'm afraid.
Students, again?
STUDENT: A rubber duck.
SPEAKER 1: A rubber duck is incorrect.
STUDENT: Google.
SPEAKER 1: Google, no.
I think you're negative 8,000 now.
But that's OK, we won't deduct.
We won't deduct, it's fine.
I know that's not how Jeopardy's played.
OK.
STAFF: W3 Schools?
SPEAKER 1: W3 Schools, incorrect.
Students-- What?
STUDENT: David [INAUDIBLE]?
SPEAKER 1: No, not him.
Yeah?
STUDENT: Stack Exchange?
SPEAKER 1: What?
STUDENT: Stack Exchange?
SPEAKER 1: Not Stack Exchange.
The answer is Bootstrap.
OK, moving on.
So time for two more
questions in Double Jeopardy.
The students I think had control, right?
STUDENT: Yeah.
STUDENT: What do you guys want to do?
SPEAKER 1: Staff need
to pull ahead here.
STUDENT: Just like any
for week for 2,000.
STUDENT: Wild card 2,000?
STUDENT: Week [INAUDIBLE] for 2,000.
STUDENT: Wild card, 2,000.
STUDENT: Wild card for 2,000.
Audience, what week shall we give them?
One through seven, 0 through 7.
Four, I heard.

Arabic: 
الأسبوع الرابع.
الأسبوع الرابع-- ما هي التعليمة البرمجية لكلمة حسنًا؟
طاقم العمل؟
طاقم العمل: 200.
المتحدث 1: 200 مقابل 2000.
حسنًا، إذن يسيطر طاقم العمل على الأمر.
لدينا الوقت لطرح سؤال واحد آخر
قبل أن ننتقل للفئة النهائية في المحك.
طاقم العمل: [INAUDIBLE]
طاقم العمل: لا، نحن نريد أن نكون قادرين
على التواصل معهم، أليس كذلك؟
بنيات البيانات، 1200.
المتحدث 1: بنيات البيانات مقابل 1200.
بنيات البيانات مقابل 1200.
وكان ذلك، في أي أسبوع كان ذلك؟
الرابع، الأسبوع الرابع.
ماذا تطلقون علي الوضع
عندما تشير البنية
إلى نفسها في تعريفها؟
أيها الطلاب؟
الطالب: الإعادة.
المتحدث 1: الإعادة إجابة
صحيحة مقابل 1200 دولار، رائعٌ للغاية.
حسنًا، إذن لننتقل الآن إلى السؤال الأخير
من دورة CS50 لطاقم العمل مقابل الطلاب.
طاقم العمل لديهم 4000، والطلاب لديهم 6200.

English: 
Week four.
Week four-- what is the code for OK?
Staff?
STAFF: 200.
SPEAKER 1: 200 for 2,000.
All right, so staff have control.
We have time for one more question
before we move on to Final Jeopardy.
STAFF: [INAUDIBLE]
STAFF: No, we want to be able
to be in touch with it, right?
Data structures, 1,200.
SPEAKER 1: Data structures for 1,200.
Data structures for 1,200.
And that was, what week was that?
Four, that's week four.
What do you call the
situation when a structure
refers to itself in its definition?
Students?
STUDENT: Recursion.
SPEAKER 1: Recursion is
correct for $1,200, very nice.
OK, so we now go into our last question
of CS50 of staff versus students.
Staff have 4,000, students have 6,200.

English: 
You're about to be told the Final
Jeopardy category, at which point
each team needs to commit in writing,
on the sheet of paper in front of them,
with the CS50 pen in front
of them, to a dollar amount,
keeping in mind that you will
either gain or lose this amount.
All right, go ahead
and choose your-- oh,
here we go, the category for Final
Jeopardy is going to be Buggy.
Buggy will be your category.
Any dollar amount.
Any dollar amount.
OK, so, so, here we go.
The question is, they've all
committed to a dollar amount.
OK, I feel like you can
hedge your bets there.

Arabic: 
أنتم على وشك أن يتم إخباركم بشأن
الفئة النهائية في المحك، وعند هذه النقطة
يحتاج كل فريق أن يلتزم كتابيًا،
على قطعة من الورق أمامهم،
باستخدام قلم CS50 أمامهم،
إلى مبلغ الدولار،
مع الأخذ في الاعتبار أنكم قد تربحوا
أو تخسروا هذا المبلغ.
حسنًا، امضوا قدمًا
واختاروا-- أوه،
ها نحن ذا، ستكون الفئة 
النهائية في المحك هي خاطئ.
ستكون خاطئ فئتكم.
أي مبلغ من الدولارات.
أي مبلغ من الدولارات.
حسنًا، لذا، ها نحن ذا.
والسؤال هو، لقد التزموا
جميعًا بمبلغ الدولارات.
حسنًا، أشعر أنه بإمكانكم
تقييد رهاناتكم هناك.

English: 
All right, so here we go, Final
Jeopardy, Buggy is the category.
In which state, besides Massachusetts,
does Google sometimes think we reside?
In which state, besides Massachusetts,
does Google sometimes think we reside?
[MUSIC PLAYING - "JEOPARDY THEME SONG"]
All right.
So, I think staff were not in
the lead, or not in the lead,
so we start with you.

Arabic: 
حسنًا، إذن ها نحن ذا، الفئة النهائية
في المحك، خاطئ هي الفئة.
في أي ولاية، إلى جانب ماساشوستس،
يعتقد Google أحيانًا أننا نقيم؟
في أي ولاية، إلى جانب ماساشوستس،
يعتقد Google أحيانًا أننا نقيم؟
[MUSIC PLAYING - "JEOPARDY THEME SONG"]
حسنًا.
لذا، أعتقد أن طاقم العمل لن يكونوا في
الصدارة، أو ليسوا في الصدارة،
لذلك لنبدأ بكم.

English: 
Staff, first of all,
how much did you wager?
OK, depending, I think,
on how the question went,
they wagered either
$4,000 or $40, apparently.
STAFF: [INAUDIBLE]
SPEAKER 1: $40, will go with 4,000.
And what was your answer?
STAFF: We picked Kansas.
SPEAKER 1: Kansas, interesting.
Now, students, how much did you wager?
STUDENT: 2,000.
SPEAKER 1: 2,000.
and what was your answer?
STUDENT: Also Kansas.
SPEAKER 1: And also Kansas.
So 2,000 would bring you to 8,200.
4,000 would bring you to 8,000.
So if you're both right, students
you might have clinched it.
Does the audience remember
where Google thought
we were a few weeks ago,
despite the fact that I
misstated where Google thinks we were?
Oklahoma was my incorrect
answer, it turns out.
Wyoming, also incorrect.
But we can do sort of
binary search in that area.
Anyone at all?

Arabic: 
طاقم العمل، أولاً وقبل كل شيء،
ما هو مبلغ الرهان؟
حسنًا، على حسب، أعتقد،
فيما يتعلق بكيفية طرح السؤال،
لقد راهنوا على ما يبدو
بمبلغ 4000 دولار أو 40 دولار.
طاقم العمل: [INAUDIBLE]
المتحدث 1: 40 دولار، ستتماشى مع 4000.
وما هي إجابتكم؟
طاقم العمل: لقد اخترنا كانساس.
المتحدث 1: كانساس، هذا أمر مثير للاهتمام.
الآن، أيها الطلاب، كم كان مبلغ رهانكم؟
الطالب: 2000.
المتحدث 1: 2000.
وما هي إجابتكم؟
الطالب: كانساس أيضًا.
المتحدث 1: كانساس أيضًا.
إذن ستجلب لكم 2000 مبلغ 8200.
ستجلب لكم 4000 مبلغ 8000.
إذن إذا كان كلاكما صحيحًا، أيها الطلاب
فقد تكونوا حسمتم الفوز لصالحكم.
هل يتذكر الجمهور
أين تعتقد Google
أين كنّا منذ بضعة أسابيع،
على الرغم من حقيقة أنني
أخطأتُ في قول المكان الذي يعتقده Google؟
واتّضح أن أوكلاهوما كانت إجابتي
غير الصحيحة.
وايومنغ، غير صحيحة أيضًا.
ولكن يمكننا القيام ببحث ثنائي
إلى حد ما في هذا المجال.
أي شخص على الإطلاق؟

Arabic: 
الجمهور: [INAUDIBLE]
المتحدث 1: هي، في الواقع، كانساس.
لذلك تهانينا
لفريق الطلاب.
عاصفة من التصفيق،
رجاءً، لطلابنا.
شكرًا جزيلاً
لانضمامكم إلينا في CS50.
نحن فخورون جدًا بكم جميعًا، لا أطيق
الانتظار لرؤيتكم في المعرض.
يتم تقديم الكعك الآن في الطابق السفلي.
وأتوجه بالشكر مجددًا لطاقم العمل.

English: 
AUDIENCE: [INAUDIBLE]
SPEAKER 1: It is, in fact, Kansas.
So congratulations to
the students' team.
A round of applause, if we
could, for our students.
Thank you so much for
joining us in CS50.
We are so proud of you all, cannot
wait to see you at the fair.
Cake is now served downstairs.
And my thanks again to the staff.
