Resources for ACM Competition

Standard

I was asked a lot of questions about how one can start learning how to prepare himself  to be able to participate in competitions like ACM. In fact I had the same question so I asked Ahmed Mohamed Kamel. as he was the student coach of the Egyptian team in IOI this year.

He said: “There are a lot of problems varying in difficulty from the very beginning (language newbies) to very advanced in algorithms and techniques.

1- To read articles I recommend wikipedia and TopCoder editorials, also Competitive Programming book (this book has everything about what you need). You can also benefit from our training site https://sites.google.com/site/acmaast/

2- To enter online contests and be ranked over the world, join TopCoder.com, Codeforces.com, uva.onlinejudge.org and spoj.pl and practice on their problems. There are thousands of problems there.

I asked him do I need to master data structure before start solving the problems but he answered saying”I think there is no need for advanced data structures at the moment.. Just learn the basics and solve!”

I hope all of you can benefit from this post. Thanks 🙂

Ahmed Kamal

ACM Competition

Standard

في البداية لو حبينا نسأل نفسنا يا تري ايه الفرق بين جوجل من 5 سنين و النهاردة ؟ فكر كدا شوية .. هل الفرق في الشكل او في لغة البرمجة اللي بيستخدموها ؟

طيب ايه اللي خلي جوجل سيرش يتطور بالطريقة اللي وصلها النهاردة دي و ايه اللي يمنع اي حد انه يقدر بسهولة يعمل محرك بحث اقوي منه.

السر في حاجة زي كدا هي الالجورزم اللي بيشتغل بيه البحث , كل فترة الناس اللي شغالة هناك بتحاول تطور الالجورزم دا لانه هو اقوي حاجة عندهم.

عشان كدا لما بندور علي الوظائف في شركات زي جوجل , مايكروسوفت , اي بي ام او غيرها بنلاقي انهم دايما بيدوروا علي مبرمج قوي في Algorithms لان الفرق ما بين الكود اللي بيكتبه حد محترف و الكود اللي بيبكتبه حد عادي بيعتمد علي النقطة دي تحديدا و الا تخيل كدا لو البحث بيتم بكفاءة بس بتستني اربع دقايق عشان النتيجة تطلع 🙂 .

طيب احنا بقا اخبارنا ايه في الموضوع دا 🙂 .. عموما هو مش احنا بس اللي كدا تقدر تقول ان كتير من المبرمجين للاسف معندهمش مهارة عالية في الالجوريزمز والرياضيات و عشان كدا مش سهل تلاقي عندنا محرك بحث او موقع زي فيس يوك او كدا لان الحاجات دي شغالة بالجوريزمات قوية جدا و محتاجة النوعية دي من المبرمجين.

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

Google Code Jam

ACM ICPC

IEEE Extreme

في الحقيقة المسابقات دي مشهورة جدا و في فرق من جامعات مصرية بتشترك فيها باستمرار و بتوصل للمراحل النهائية فيها كمان.

http://www.ahramdigital.org.eg/Community.aspx?Serial=751491

كمان في منها مسابقات بتبقي عن طريق الانترنت من خلال مواقع زي

TopCoder.com

و اللي حتلاحظه من المسابقات دي ان الاوائل فيها من مصر بيبقوا شغالين في شركات كبيرة زي جوجل و مايكروسوفت و غيرها و منهم احمد علي (الاول علي مصر) اللي شغال حاليا في جوجل .

في الملف دا احمد علي و بيشرح برضه شوية عن احد المسابقات دي

e.com/document/d/1aRF7tF7ihwM0I_uJX59zEiksYTfWb5HuuQwRlLHxw5g/edit?pli=1

احنا بقالنا فترة بنحاول ندخل الموضوع دا عندنا هنا في الكلية بس الدنيا حلوة طبعا 🙂 بس الحمد لله لقينا طريقة كويسة نقدر نشترك من خلالها بحيث نبدأ نجهز فرق تشارك في المسابقة و تاخد تدريبات و تطور مهاراتها عشان تنافس و كدا

احنا محتاجين من كل حد مهتم بالموضوع دا انه يشارك في المسابقة المحلية اللي بتبقي في مصر ان شاء الله

بس لازم علي الاقل يكون عارف برمجة بس مش شرط يكون متميز في الالجوريزمات

لو عايز تعرف اكتر عن المسابقة من خلال اللنك دا

http://www.acmacpc.org/

و عشان تعرف القواعد بتاعتها من خلال

http://www.acmacpc.org/rules.html

و لو عايز تشارك في المسابقة

https://a7medkamal.wordpress.com/2012/10/18/how-to-register-in-acm/

الناس لازم تسجل علي الاقصي قبل يوم السبت و الاسبقية للي يسجل الاول طبعا

  • محدش يقلق من معاد التسجيل المكتوب او معاد المسابقة لانه اتعدل برضه
  • يا ريت كل البيانات تكون كاملة  و كمان تبعت اميل بعد ما تسجل باسماء التيم علي a.abdelfatah@live.com
  • كل فريق بيبقي حوالي 3 من الطلبة و بيبقي فيه كوتش سواء واحد من التلاتة دول او حد من برا
  •  Coach دا ممكن يكون طالب عادي جدا فياريت اي حد من الفريق يبقي  Coach
  • هو ملوش مميزات الا انه بينظم موضوع الاتصالات و كدا Coach
  • الفرق اللي حتسجل في المرحلة دي هي اللي حنشتغل معاها في الفترة الجاية ان شاء الله

الاسئلة :

انا حضيف الاسئلة اللي حتوصلني و ححاول اجاوب عليها هنا

1- انا اللي حختار الفريق بتاعي و لا هما اللي حيختارونا ؟

لا في البداية بس احنا بنختار بعض بس بعد كدا الموضوع حيبقي فيه مسابقة و كدا و نختار الافضل فقط

2- ايه اللي حيحصل بعد ما نسجل ؟

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

3- ازاي ممكن اسجل ؟

البوست دا حيشرحلك كل حاجة بالتفصيل  https://a7medkamal.wordpress.com/2012/10/18/how-to-register-in-acm/

4- ايه لغات البرمجة اللي ممكن نستخدمها ؟

انت قدامك 3 اختيارات سي بلس بلس او جافا او سي

5- هي المسابقة دي تبع مين ؟

هو عامة الموضوع مش متعلق بمسابقة معينة ان شاء الله بس دي اقوي واحدة موجودة

ACM is like IEEE .. it is an worldwide organization
competition sponsered by IBM

6- هل ينفع يكون اي اعضاء الفريق (3 اعضاء) من خارج جامعة طنطا ؟

لا للاسف بالنسية لينا مش ينفع بس هو ممكن يشوف ايه النظام في جامعته

7- انا عايز اشوف اسئلة شبه الاسئلة اللي بتبقي في المسابقة اعمل ايه ؟

اسئلة ACM مشهورة و موجود علي الانترنت الاسئلة الخاصة بالسنين اللي فاتت كمان تجرب تشوف موقع زي TopCoder او UVA

لو عندك اي استفسارات ممكن تبعتها علي a.abdelfatah@live.com

 

Razor Syntax

Standard

Hi , these days I’m trying to improve my skills in ASP.Net as I have a project that needs some server side language coding. I want to share some information with you about “Razor Syntax”. I didn’t write the next paragraph but I only collected it from ASP.NET official site. By the way it is very nice and will help you a lot if you want to learn ASP.Net. 

The Razor Syntax, Server Code, and ASP.NET

Razor syntax is a simple programming syntax for embedding server-based code in a web page. In a web page that uses the Razor syntax, there are two kinds of content: client content and server code. Client content is the stuff you’re used to in web pages: HTML markup (elements), style information such as CSS, maybe some client script such as JavaScript, and plain text.

Razor syntax lets you add server code to this client content. If there’s server code in the page, the server runs that code first, before it sends the page to the browser. By running on the server, the code can perform tasks that can be a lot more complex to do using client content alone, like accessing server-based databases. Most importantly, server code can dynamically create client content — it can generate HTML markup or other content on the fly and then send it to the browser along with any static HTML that the page might contain. From the browser’s perspective, client content that’s generated by your server code is no different than any other client content. As you’ve already seen, the server code that’s required is quite simple.

ASP.NET web pages that include the Razor syntax have a special file extension (.cshtml or .vbhtml). The server recognizes these extensions, runs the code that’s marked with Razor syntax, and then sends the page to the browser.

Where does ASP.NET fit in?

Razor syntax is based on a technology from Microsoft called ASP.NET, which in turn is based on the Microsoft .NET Framework. The.NET Framework is a big, comprehensive programming framework from Microsoft for developing virtually any type of computer application. ASP.NET is the part of the .NET Framework that’s specifically designed for creating web applications. Developers have used ASP.NET to create many of the largest and highest-traffic websites in the world. (Any time you see the file-name extension .aspx as part of the URL in a site, you’ll know that the site was written using ASP.NET.)

The Razor syntax gives you all the power of ASP.NET, but using a simplified syntax that’s easier to learn if you’re a beginner and that makes you more productive if you’re an expert. Even though this syntax is simple to use, its family relationship to ASP.NET and the .NET Framework means that as your websites become more sophisticated, you have the power of the larger frameworks available to you.

Razor-Img8

Thanks for Reading  🙂

Ahmed Kamal

How to prepare your business model

Standard

When you come up with a new idea , you may think that it can be easily converted into a successful business , but in fact you can’t say that until you manage to create your business model.

In this post I will try to talk about how you can create your business model. I prepared  this topic through “The business Model Canvas ” book. It is a small book but really you should read it.

A business model describes the rationale of how an organization creates , delivers and captures value.

The business model is like a blueprint for a strategy to be implemented through organizational structures, processes, and systems.

Our business model will be consisted from 9 blocks so I will try to give you short note about each block.

1- Customer Segment : it defines the type of customers that your business or product try to target.

2- Value Proposition : What is the value that your product or service  gives to customer ?

3- Channel : How would your product reach the target customer and how he would know about it ?

4- Customer Relationship : The relationship between you (Company) and the customers.

5- Revenue Streams : How would you get (not earn) the money  ? For what value are your customers willing to pay ?

Note : To calculate the earnings , simply subtract the costs from the revenue .

6- Key Resources : What is the main source of power in your business ? Does your business (ex : Hotel )  depends on owning a very fascinating location that will help you in attracting customers.

7- Key Activities : What are the activities that your company should do to make the business model work perfectly?

8- Key Partnership : Are you looking for a partner that would provide you with a something that will help you in making your business model work ?

9-  Cost Structure : It describes all costs incurred to operate the business model.

Note : When you calculate the cost structure , don’t forget the salaries of you and other team members.

– If you would know more about the each block you can check them in the book as I said before.

draft

This picture represents Apple iPod/iTunes Business model.

Although Apple wasn’t the first company to bring a portable media player to the market. But what enables Apple to dominate the market is that they mixed between their portable device and their Software (iTunes) in addition the perfect design of the device. So we can say that Apple entered the war with a stronger business plan therefore it win at the final.

The day when I knew the meaning of true learning

Standard

                 Last week , I had a lecture to attend in AUC “American University in Cairo”. The lecture was given by Sean Griffin, Kristen Bergman, Darren Fuqua. In fact it wasn’t a usual lecture like those who one attends every day in the college or like lectures and sessions organized inside events or trainings.

It was the first time for me to attend a lecture given by three persons in the same time !! Really it was very useful to gain from the knowledge of three persons and they really tried to share their experiences with us.

Inside my college , I really preferred the way that Dr. Ahmed Refat Azmy used while giving his lectures. He used to listen to our questions and inquiries what ever they were. I don’t think that he tried to mock anyone tried to ask him and I was proud of being his student. His teaching methods tried actively to involve us in learning. It was a different experience and I really loved that. At the end of the term I got excellent in that subject.

Back to AUC lecture , If I said that Dr. Ahmed tried to involve us inside his lecture , Mr. Sean Griffin –The main lecturer- created his lecture from students contributions.

At first , he asked about the problems any entrepreneur face before launching their project and  he involved us in a discussion about how we can overcome these problems.

The thing that amaze me is that he didn’t ignore any contribution , he write them all and tried to make them more related to the topic. I will try try to share the obstacles and the suggested solutions with you.  

282985_439392079426818_1223429391_n

What holds us back :

1- Laziness                                                                      2- Lack of money   

3- Lack of Knowledge                                                      4- Fears of loss and failure

5- Corruption                                                                   6- Strong Competition

7- Cost of opportunity                                                     8- Stereotype

9- Bad management                                                       10- Legal Issues

11- Beaurocracy                                                              12- Social Boundaries

                                             13- Bounding Team

487337_439392412760118_1016875839_n

How to overcome :

1- Create a stable market.

2- Learning communication skills

3- Talk less , listen more.

4- Trust in yourself. Just do it.

5- Choose your team members carefully.

6- Try to benefit from experience of others.

During the session , I really was pleased to see a lecturer who can successfully gain from all the ideas and contributions of the attendees. It was a nice experience and I hope to repeat it soon. Thanks Mr. Griffin , you showed me a unique technique that made learning fun.

 

Best Wishes

Ahmed Kamal

WHAT IS A PROJECT ?

Standard

A project is a unique thing that has a specific goal and a beginning and an end in addition to a budget.

Let’s try to break down this definition into small pieces.

Unique 

Every project is different. This is a rule.  Even If you do something more than one time , you should know that you won’t face the same difficulties and problems.

For Example : Say you have an office that offer designs for houses. Each construction project is just a unique project. Weather can change your design. Also may be you should change the concrete used depending on where it is built  or you may need to change the roof structure to handle snow.

Specific Goal

Each project should has a specific goal to accomplish. May be the project is needed to solve a problem in your company like reducing the costs or marketing your products in different way to increase sales.

Beginning and End

If  the project doesn’t has an end , this is because the goal isn’t clear enough. The goal of project is crucial to identify when it is needed to be done.

Budget

Most of  the time we are thinking of budget as money but in fact it can be the resources needed for your projects and time.

Note : You should note that there is difference between a project and normal operations

Example : If you are a student , your default work is to study every day , attend lectures , do assignments and reports but if the professor asked you to do a research about a new topic. This can be called a project in that case.

By : Ahmed Kamal