التخرج :)


Image

ساعاتُ فرحٍ 🙂 ، وأخرى حزُن 😦   كانت تُزاحمها ~
و همةٌ عالية [تمحو ] لحظات ضعفٍ كانتْ تعتريها !
حُلمٌ و هدف .. و طموحٌ ما زالَ يُعانق سابع سماء !
اجتمعا .. لـ نسجْ أجملُ الأيام والشهور ،،
و اربع [سنين ] من حياةِ أمل ^^
دقائقٌ تمشي بعجل ~
أصبحتْ [ الآن ] طيفٌ من ذكرياتٍ ماضية ~

بفضلِ الله ، أنهيتُ مرحلة من حياتي ،،
و بالطبعِ فإنَّ رحلةُ العلم لم تنتهي بعد 😉
فـ العلم ، كالبحرِ لا ساحل له .. !

متفاءل جداً بالقادمُ !
و لحظاتٌ سعيدة ،، ما زالتْ تحفُ قلب [ أمَـل ] 🙂
فـ شُكر كبير يا الله ،،
و ثناءً وحمداً لا ينتهيان أبداً ! 🙂

تخرجي من مراحله كنت اعتقد اني مقيد بهاا اعتقد اني مازل لدي هذا الشعور اني كنت مقيدا لاسباب كتيره لاننا في مصر طبعا فكل تفكير اهلنا اننا لازم ناخد شهاده مش مهم المهم فعلاا اني خرجت بحاجات كتيرره قوووي خبره حياه ومواقف , علي اصحاب كتيرره ,علي مواقف عمري ما هنساهاا طووووووووول حياتي وعلي ما اعتقد قابلت اجمل شخص في حياتي 🙂

اكيد اتعلمت ده اكيد حتي لو كان العلم ده مجرد كلمه زي الالجورزمات  (معلش هكتبها بالعربي) ديه مش مجرد كلمه ده عاالم بس اقولكم علي سر احنا اخدنها كده مجرد كلمه 🙂 اهااا شئ يحزن متقلقوش انا اتعلمت عنهاا اكترر مع نفسي تعرفوا كان نفسي اتكلم اكتر عن كل لحظه انا عشتهاا في المراحله ديه من ساعه اول يوم اما روحت مع اختي الكبيره وقابلت ناس انا اول مره اشوفهم في حياتي لغاااااايه يوم الحفله وهما بيرقصوا معايااا وكماان ايام مشروع التخرج ده بقي حكايه لوحده بس انا فرحان اني عملت حاجه من الحاجات الي كنت بحلم بيها في مشروع التخرج مكنش مجرد نجاح عادي وبشكرر قووي الجروب بتاعي وكل الي ساعدني في اني احقق ده قوي من جماال المراحله ديه وتعبهاا انا فرحااان انهاا عدت بسلام بشكرر ربنا شكرر كبيرر قوووي والحمدلله حمدا كثيرا انا متفأئل قوووي بالي جاي خططي ايه هتعرفوهاا بعد كده لكن خليني اقولكم علي سررر انا هعمل حاجه شريره في المستقبل القرررررريب قوووي هتكلم عن الدكتره العمالقه الي عندناا ههههههههههه بطريقه شريره شويه استنوني قرريب اتمني ليكم ولياا مستقبل باهر سلااام ^^

Advertisements

اتقن حرفتك بمعرفه شخصيتك


طبعاا في استغراب اني بكتب بالعربي بس ديه لغتي الام بحب افتخر بيها وحاجه كماان انا بحب ان العربي ينتشر علي الانترنت بس بطريقه صحيحه هنتكلم عن الموضوع ده في مقاله تانيه بس دلوقتي هتكلم عن رائ الشخص في ازاي اتقن حرفتي في البدايه اتبعتلي اميل من:-

Subscribe from “Greg Sidelnikov” the own of  jQuery tutorials Site and the E-mail address is  “Master your Craft by Knowing yourself”.

الاميل ده الهمني اني اكتب المقال ده في الاول انا قلت حرفتي علشان الحرفه هي الي بتقدر تكون بارع فيهاا علشان ديه الحاجه الي انت بتحبها اما المهنه ديه ممكن تكون بتحبها او تكون مفروضه عليك ولو كانت الحاجه التانيه يبقي لازم تبدا بسؤال نفسك انت فعلاا بتحب الي انت بتعمله ؟ انت فعلاا بتتقن الي انت بتعمله وبتبدع فيه؟ (مش مهم رائ الناس المهم رائك انت) الناس هيشوفوك غلط مش الكل ومش دايما بس فكر بشخصيتك انت انت ايه وفين ؟ كل الاسئله ديه لو وصلت ل لا يبقي انت مش بتحب الي انت بتعمله ولازم تدور علي الي بتحبه افضل دور ودور لغايه ماتوصل للي انت انت بتحبه وصلت خلاص هقولك كلمه دلوقتي

“No matter how Talented you are, your talent will fail you, if you’re not skilled. skill is achieved through practice. work hard and Dedicate yourself to being better every single day.              -will smith

بالمعرفه والتعلم تقدر تكتسب المهاره التعلم شئ جميل والتعلم بالفعل شئ رائع بس خلي بالك مش تعلم لمجرد التعلم خليك بالك قوووي من الفخ ده انك تتعلم لمجرد انها معلومه هتفيدك ده اكتر الاخطاء الكبيره قووي الي ممكن تقع فيهاا في حياتك علشان التعلم الصحيح تعلم لاخراج قيمه مش تخزينها في العقل من غير انك تستخدمها

“Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking”
-Albert Einstein.

ديه الحاجه الي هتوصلك انك تنمي مهارتك بطريقه عاليه جدااا وفي حاجه تانيه احيانا ناس كتيره ممكن تعمل الحاجه ديه من قبل ما تخلص تعليمها كويس جدااا وده بردو غلط علشان بيخليك مش قادر تعلي مهارتك فعلاا علشان انت اتعلمت جزء من المعلومه مش كلهاا بس خد بالك في فرق بين انك تفكر وتوصل للمعلومه الكامله وتكون صح وفي فرق باينك تتعلم المعلومه باهماال الجزء الي فات ده ده كان اهمال في تعلم المعلومه اخر حاجه عايز اقولها هي الالهااام حاااجات كتيرررره قوووووووي ولو ناس كتيره اتفقت علي حاجه واحده هيفضل الالهام ده مميز عن كل شخص فيناا علشان كده لازم تدور وتبص حوليك وتسجل كل حاجه بتحصل انت شايفها انها ملهمه ليك ولحرفتك ممكن تعمل كتاب تحط فيه صور ترسم فيه مجرد رسومات خياليه حتي لو انت بس الي هتفهماا تحط فيهاا قصص حصلتلك قصص انت شوفتها قدامك الالهم جزء مهم جدااا ولازم تهتم بالجزئيه ديه اكتر علشان ديه هي الي بتخلي افكارك اكتر وابداعك في انك توصل مهارتك وطرقتك لدرجه عاليه جدااا

“شكراا لكل الالهمني والي ساعدني ده مجرد رائ من ارائ  وشكراا لقرائته”

“وللكلام بقيه في وقت اخر”

اسلام محمد-

Levels of Developer Expertise


This is a light-hearted attempt to classify developers. Enjoy…

 1. Newbie

  • Knows the syntax of one language and thinks he’s a master.
  • He might also think the language is the best one in the whole wide world.
  • Full of passion and excitement about programming.
  • Writes code that ‘seems’ to work – it compiles after all – doesn’t necessarily knows why it works though.
  • Uses bad variable names.
  • Programs are likely to be be a single file.
  • Doesn’t know anything about testing.
  • Likely languages: PHP or Java.
  • Likely Reads: Learn Java in 21 days or something similar.

 2. Amateur

  • Learns another programming paradigm/language.
  • Uses better variable names – must have been hurt by evil names.
  • Has developed one or two relatively decent working systems.
  • Writes spaghetti code.
  • Re-invents the wheel.
  • Probably has a huge ego.
  • Only knows how to use IDEs.
  • Tests? They are just a waste of time and delay the release of his ‘one-of-a-kind’ software.
  • Still dives into code without proper planning.
  • Likely Reads: Advanced Java.

 3. Intermediate

  • Becomes language agnostic.
  • Knows multiple languages, tools and paradigms – their strengths, flaws and best uses.
  • Has worked on bigger projects – understands the importance of design and flexible code.
  • A bit of spaghetti code here and there but he tries to avoid this.
  • Understands algorithms and data structures.
  • Can use text editors.
  • Uses version control.
  • Designs code before starting and tries to avoid code duplication.
  • Probably has his own blog or contributes to open source projects.
  • Likely Reads: Pragmatic Programmer.

 4. Advanced Intermediate

  • Codes defensively – using asserts, unit tests and checks.
  • Really cares about his code; refactors aggressively until it is clean.
  • Toying with building his own language or at least understands how languages work.
  • Can ‘smell’ bad code.
  • Interested in reuse and sees patterns in software engineering.
  • Understands design patterns.
  • Knows about methodologies like Agile, Scrum, Kanban.
  • Likely Reads : The Mythical man-month, Clean Code, Code Complete, the Java language specifications.

I don’t know much about master programmers – am not one yet though I pray I do get there.

I am curious about what you think, let me know in the comments.

Just Play With it !!


AI(Artificial intelligence)Artificial intelligence that is What I type before but when I type it I don’t Know anything about AI and What we Can do With it so I Try to be more professional tonight and break it with XO game or like they say tic-tac-toe in the beginning thinking in games it’s efficient way to learn some thing and to be more comfortable with it to be creative in this thing so let’s start with XO I’ll make 1 to 9
square to make user select between it to the player 1 or player 2

That is the code for that:-


void main() {
char cSquare1('1');
char cSquare2('2');
char cSquare3('3');
char cSquare4('4');
char cSquare5('5');
char cSquare6('6');
char cSquare7('7');
char cSquare8('8');
char cSquare9('9');
int iPlayerTurn(1);
bool bGameOver(true);

and thinking in XO 3 Condition to Win the first When square1 not equal 1 equal X or O in that if his row or his column is equal and the second one When square5 not equal 5 equal X or O in that 4 paths path to 5 well make the end of the game with win someone the last Condition in Wining the game When square9 not equal 9 equal X or O in that if his row or his column is equal the player is win in the 3 condition

Fail Condition thinking When all the square is not equal to it’s number and the game is still running so that is fail condition when no one is when

that is it in the all of the game you must of course initializing the game board and do the loop for all condition Until the game is still running and to the code the all code is here take a look :-


#include "iostream"

void main() {
char cSquare1('1');
char cSquare2('2');
char cSquare3('3');
char cSquare4('4');
char cSquare5('5');
char cSquare6('6');
char cSquare7('7');
char cSquare8('8');
char cSquare9('9');
int iPlayerTurn(1);
bool bGameOver(true);

// Main game loop
do {
// Print board
std::cout << cSquare1 << "|" << cSquare2 << "|" << cSquare3 << std::endl;
std::cout << "-+-+-"<< std::endl;
std::cout << cSquare4 << "|" << cSquare5 << "|" << cSquare6 << std::endl;
std::cout << "-+-+-"<< std::endl;
std::cout << cSquare7 << "|" << cSquare8 << "|" << cSquare9 << std::endl;

// Set player marker: Player 1 uses X and Player 2 uses O
char cPlayerMark;
if (iPlayerTurn == 1) {
cPlayerMark = 'X';
} else {
cPlayerMark = 'O';
}

// Prompt the player for a move
std::cout << "Player" << iPlayerTurn << "'s move:" <> cNextMove;
bValidMove = true;

// Check for a valid move
if (cNextMove == '1' && cSquare1 == '1') {
cSquare1 = cPlayerMark;
} else if (cNextMove == '2' && cSquare2 == '2') {
cSquare2 = cPlayerMark;
} else if (cNextMove == '3' && cSquare3 == '3') {
cSquare3 = cPlayerMark;
} else if (cNextMove == '4' && cSquare4 == '4') {
cSquare4 = cPlayerMark;
} else if (cNextMove == '5' && cSquare5 == '5') {
cSquare5 = cPlayerMark;
} else if (cNextMove == '6' && cSquare6 == '6') {
cSquare6 = cPlayerMark;
} else if (cNextMove == '7' && cSquare7 == '7') {
cSquare7 = cPlayerMark;
} else if (cNextMove == '8' && cSquare8 == '8') {
cSquare8 = cPlayerMark;
} else if (cNextMove == '9' && cSquare9 == '9') {
cSquare9 = cPlayerMark;
} else {
std::cout << "Invalid Move. Try again." << std::endl;
bValidMove = false;
}
} while (!bValidMove);

bGameOver = false;
bool bWinGame = true;
// Check for end of game conditions
if (cSquare1 != '1') {
if (cSquare2 == cSquare1 && cSquare3 == cSquare1) {
bGameOver = true;
}
if (cSquare4 == cSquare1 && cSquare7 == cSquare1) {
bGameOver = true;
}
}
if (cSquare5 != '5') {
if (cSquare1 == cSquare5 && cSquare9 == cSquare5) {
bGameOver = true;
}
if (cSquare2 == cSquare5 && cSquare8 == cSquare5) {
bGameOver = true;
}
if (cSquare4 == cSquare5 && cSquare6 == cSquare5) {
bGameOver = true;
}
if (cSquare3 == cSquare5 && cSquare7 == cSquare5) {
bGameOver = true;
}
}
if (cSquare9 != '9') {
if (cSquare3 == cSquare9 && cSquare6 == cSquare9) {
bGameOver = true;
}
if (cSquare7 == cSquare9 && cSquare8 == cSquare9) {
bGameOver = true;
}
}
// Need to check the board full (no-win condition)
if (cSquare1 != '1' && cSquare2 != '2' && cSquare3 != '3' &&
cSquare4 != '4' && cSquare5 != '5' && cSquare6 != '6' &&
cSquare7 != '7' && cSquare8 != '8' && cSquare9 != '9' && !bGameOver)
{
bGameOver = true;
bWinGame = false;
}

if (bGameOver) {
if (bWinGame) {
std::cout << "Player" << iPlayerTurn << " wins!" << std::endl;
}
// Print ending board
std::cout << cSquare1 << "|" << cSquare2 << "|" << cSquare3 << std::endl;
std::cout << "-+-+-"<< std::endl;
std::cout << cSquare4 << "|" << cSquare5 << "|" << cSquare6 << std::endl;
std::cout << "-+-+-"<< std::endl;
std::cout << cSquare7 << "|" << cSquare8 << "|" << cSquare9 << std::endl;

std::cout << "Game Over!" << std::endl;
std::cout << "Play again (y/n)?" <> cPlayAgain;

if (cPlayAgain == 'y') {
bGameOver = false;
// Clear the board
cSquare1 = '1';
cSquare2 = '2';
cSquare3 = '3';
cSquare4 = '4';
cSquare5 = '5';
cSquare6 = '6';
cSquare7 = '7';
cSquare8 = '8';
cSquare9 = '9';
}
iPlayerTurn = 1;
} else {
// Alternate player turns
if (iPlayerTurn == 1) {
iPlayerTurn = 2;
} else {
iPlayerTurn = 1;
}
}
} while (!bGameOver);
}

Any question I’m ready to answer it in any time.

SOLVING PROBLEMS


In the Previous TOpic become a better programmer by not programming Jeff Atwood is type about programming by not programming ; I search about solving problems his right the problem here is about ideas and problems not tools or IDES or computer language it easy to learn any language it’s will take few weeks to learn it But

let’s talk about serious problems it’s

SOLVING PROBLEMS

it’s a lot and a lot of algorithms out there you can found what is comfortable and very effective with your problem actually i think every problem it’s like puzzle let’s take n-queens puzzle if we solve it by EXHAUSTIVE SEARCH it will take long long time to solve it I think two algorithms can solve it it’s BACKTRACKING with some exceptions or base case and number two is TRANSFORM-AND-CONQUER backtracking technique we will found all solution and graph it reach to the solution with some exception like the stranded one like never put the queens in the way of each other it will eat each other , we will lose and will take along and along to solved if we didn’t put that exceptions

If we take the second one the transform and conquer it will solved by two stages first transform the input to representation we will take the role of the queen move and link the position together it’s the second stage it will solve really may be with some exceptions but it will solved faster than any other algorithms so we have to find our algorithm to solve by it our problems we can graph it or divide and than conquer or decrease and conquer greedy , dynamic programming all of these stuffs it’s help us to get effective solution of many and many problems
by eslam mahgoub

Become a Better Programmer by Not Programming


Form Codighorror by Jeff Atwood is amazing guy
I bring this

Last year in Programmers as Human Beings, I mentioned that I was reading Programmers At Work. It's a great collection of interviews with famous programmers circa 1986. All the interviews are worth reading, but the interview with Bill Gates has one particular answer that cuts to the bone:

Does accumulating experience through the years necessarily make programming easier?

Bill Gates: No. I think after the first three or four years, it's pretty cast in concrete whether you're a good programmer or not. After a few more years, you may know more about managing large projects and personalities, but after three or four years, it's clear what you're going to be. There's no one at Microsoft who was just kind of mediocre for a couple of years, and then just out of the blue started optimizing everything in sight. I can talk to somebody about a program that he's written and know right away whether he's really a good programmer.

We already know there's a vast divide between those who can program and those who cannot.

But the dirty little secret of the software development industry is that this is also true even for people who can program: there's a vast divide between good developers and mediocre developers. A mediocre developer can program his or her heart out for four years, but that won't magically transform them into a good developer. And the good developers always seem to have a natural knack for the stuff from the very beginning.

I agree with Bill. From what I've seen, there's just no crossing the skill chasm as a software developer. You've either got it, or you don't. No amount of putting your nose to the grindstone will change that. But if you accept that premise, it also presents us with a paradox: if experience doesn't make you a better programmer, what does? Are our skill levels written in stone? Is it impossible to become a better programmer?

To answer that question, you have to consider the obsessive nature of programming itself. Good developers are good at programming. Really good at programming. You might even say fanatically good. If they're anything like me, they've spent nearly every waking moment in front of a computer for most of their lives. And naturally, they get better at it over time. Competent software developers have already mastered the skill of programming, which puts them in a very select club. But if you're already in the 97th percentile for programming aptitude, what difference does a few more percentile points really make in the big scheme of things?

The older I get, the more I believe that the only way to become a better programmer is by not programming. You have to come up for air, put down the compiler for a moment, and take stock of what you're really doing. Code is important, but it's a small part of the overall process.

This piece in Design Observer offers a nice bit of related advice:

Over the years, I came to realize that my best work has always involved subjects that interested me, or — even better — subjects about which I've become interested, and even passionate about, through the very process of doing design work. I believe I'm still passionate about graphic design. But the great thing about graphic design is that it is almost always about something else. Corporate law. Professional football. Art. Politics. Robert Wilson. And if I can't get excited about whatever that something else is, I really have trouble doing a good work as a designer. To me, the conclusion is inexcapable: the more things you're interested in, the better your work will be.

Passion for coding is a wonderful thing. But it's all too easy to mindlessly, reflexively entrench yourself deeper and deeper into a skill that you've already proven yourself more than capable at many times over. To truly become a better programmer, you have to to cultivate passion for everything else that goes on around the programming.

Bill Gates, in a 2005 interview, follows up in spirit to his 1986 remarks:

The nature of these jobs is not just closing your door and doing coding, and it's easy to get that fact out. The greatest missing skill is somebody who's both good at understanding the engineering and who has good relationships with the hard-core engineers, and bridges that to working with the customers and the marketing and things like that. And so that sort of engineering management career track, even amongst all the people we have, we still fall short of finding people who want to do that, and so we often have to push people into it.

I'd love to have people who come to these jobs wanting to think of it as an exercise in people management and people dynamics, as well as the basic engineering skills. That would be absolutely amazing.

And we can promise those people within two years of starting that career most of what they're doing won't be coding, because there are many career paths, say, within that Microsoft Office group where you're part of creating this amazing product, you get to see how people use it, you get to then spend two years, build another version, and really change the productivity in this very deep way, take some big bets on what you're doing and do some things that are just responsive to what that customer wants.

You won't– you cannot— become a better programmer through sheer force of programming alone. You can only complement and enhance your existing programming skills by branching out. Learn about your users. Learn about the industry. Learn about your business.

The more things you are interested in, the better your work will be.

Posted by Jeff Atwood

How Young Is Too Young to Learn to Code?


Scratch, Jr. is aimed at children who have yet to learn their ABC.

When the American Academy of Pediatrics recommends that children under 2 spend exactly zero time in front of screens, what its members are concerned about is substitution — all the time those children aren’t spending acquiring new skills and language through one-on-one interaction.

Yet a new effort by researchers at MIT’s Lifelong Kindergarten group will attempt to create a programming environment suitable for toddlers. It’s hard to imagine that any but the most precocious children would be able to interact with Scratch Jr. before the age of two, but as Heather Chaplin reports for KQED, the new software will be aimed squarely at children who have barely learned their colors, much less how to read.

“What’s most important to me is that young children start to develop a relationship with the computer where they feel they’re in control,” [says Mitch Resnick, director of the Lifelong Kindergarten group.]

The advent of touch interfaces means that children are spending more time with computers than ever. More than two hours of screen time a day has been linked to psychological problems, but short of that, wouldn’t children’s screen time be better spent mastering new skills?

Programming, in particular, is the new literacy. If children are exposed to the alphabet from the time they can sit up, why wouldn’t we introduce programming as early as possible?

Scratch, Jr. is a re-designed version of Scratch, which has been used to teach programming principles to elementary school-age children. Gone from Scratch Jr. is are the reliance on text and colors that young children have trouble distinguishing. The entire interface is to be simplified, even gamified. Chaplin reports:

The group has also been studying tutorials in videogames, which teach kids how to play without realizing they’re being taught. “We want to add something like that to Scratch Jr,” [says Marina Bers, a graduate student at MIT’s Media Lab.]

To the extent that adult education in programming — via sites like CodeAcademy — is currently in vogue, it’s only logical that we should be trying even harder to make an education in programming as essential to a child’s education as all of the other areas of study that we consider essential.

AI(Artificial intelligence)


Begining When we Talk about AI , we remember the human brain and smart of the human and question That said in the first lecture the expert system must know what it knows , I think there is here another question is How it knows what it knows That is it when we think about intelligence we found alot alot of staff like fear , Agility , fund answer not found for questions like describe street you don’t know the name of it , back to my question I asked (how) if we think in our information we don’t know it if some one asked about it we don’t know , so what about someone tell them that information ok but how we remember That by organized them Yaaa that is the answer of the two question it’s all about organize the information and Know the information , what , how ; the first I don’t get it but after the deep thinking I remember someone in my last group asked me before about how I found the time to do something , that is not about found time the day still the day it meaning is 24 hours in the day for all people in the planet , but it’s about the organization of the time it’s different between the people someone do that because he organize his time and another don’t because he doesn’t care that is the point is If we found powerfull way to put the information in the computer to allowed to it to remember and learn form organize and store the complex way to understand the information of the user want , to complete my words I think too about focus , analysis and fund something similar for picture , memory , event or even equation in human brain How we arrange all of that and make it by complete way to make computer can learn from itself and from the others.

note I don’t learn alot in AI but I love to give some Point in it.