Tuesday, November 11, 2008

Starting Programming - The basics steps

let me tell you an easy way to learn programming.

is it C?

Search on Google "C tutorials"
http://www.google.com/search?q=c+tutorials

Download some..

Start your C editor program, if you are still on Turbo C, that is the best, the reason is very simple, it do not correct your mistakes automatically (many new compilers do that) and in turn you wont get to know your errors, which in turn will bug you later. However, if you are too annoyed with the blue screen, most of the new programmers are, you are not alone but if you really feel you can't do programming on that, try Dev-C++ compiler which is freely available on http://www.bloodshed.net

So here you are, remember one thing which I learned from my own experience, you cant achieve anything until you practice for it, the more you will practice the more experience you will gain.

There are 5 basic functionality steps of programming you need, and they are common, you will find them in nearly every language.

From here try each functionality step-by-step:
1- Variable types
They are really very necessary, how many bytes a character takes in the memory, how many bytes for integer, what does long character means, what are float numbers? You need to memorize all of them, without them, you cant take a single step, remember those will let you know that how a character is different from an integer down there under the compiler, got this? Bingo!

2- The Variable
If there wont be a variable, you wont be able to write a simple line of code. These are the boxes in which you carry your roast chicken pieces around and throw them away when you don't need them. These chicken roast pieces get compared with each other, loops (machines) work on them and at the last, you throw away the boxes which are not required or which are empty and store the useful roast chicken pieces in the fridge (memory) and start using the same boxes for other pieces of finest quality meat. mm Yum Yum!

3- Print or Echo
Try printing something on your screen, then add line breaks, special characters, see what is the difference. This is necessary as this is the beauty of working with software that you see the results on every step, by just hitting F9 (believe me in embedded systems, this alone is most annoying thing, you will need to go through 4 steps just to see that if LED is blinking or not and in many cases you wont have that LED too.)

4- if-else conditions
The most important structure of any programming language, with out them, you cant put any logic in there, try using all of them, if, else, else if, then when you go on Linux, its if-then statements there, use them all, try comparing characters, integers, hex numbers, see in the basics how they are getting compared.

5- Loop statements
Loops are basically programmer's life savors, don't get scared from them, if they wont exist, you may have to write hundreds and thousands of code lines just to compare a variable with its many possible variants, but here they save your lives. Learn them all, for, while, do while, they are indeed very simple. Just you need to take care of three basic things, a start point, an end point and a variable in between which will increment the value of start point and will increment it until the end point, got that point? You are star!

After them the most scary thing in C are pointers, believe me they are not scary at all, if you master the 5 basic functionality steps above, the pointers will prove piece of cake (they did, in my case and I am no better than you).

And at the last but not the least, the basic stone of programming is the programmer his/herself. For programming you must have To-do attitude, now whats that?

To-do attitude
You have been given a task, you even don't know the ABC of that task, you don't know about the pre-requisites which are necessary to carry out that task, but you have To-do attitude, alone that is enough. To-do attitude means, whatever comes in your way you will do that, you must have the hunger to learn, you must have the spark to do. There is nothing in this world, which you can't do! ;)

So, brovs, thats it for now, open your blue screens and smash that programming monster down, but in the mean time, always remember, the programmer of the programmers, Allah!

See you another time!

Thursday, June 05, 2008

Embedded Digital Systems in University of Sussex

Finally lot of people are asking me about How is it in MSc in Embedded Digital Systems from University of Sussex. As I have given my final exams and also got result of half of the courses, I think I am in position to evaluate it for you.

Below I go:

Courses
In first term I studied:
Real Time Embedded Systems
Mobile & Satellite Communication Systems
Advanced Network Technologies
Digital Signal Processing (Advanced)

2nd Term Courses:
Fibre Optic Communications
High Level IC Design
Advanced Microprocessor Systems
Advanced Digital Communication Systems

Instead of going into long details I will try to summarize weaknesses and strengths of university and courses being taught.

Strengths
  • Excellent Management
  • Excellent Examination System
  • Excellent Atmosphere
  • Excellent Town to live in whole UK i.e Brighton (no.1 on people's happiness scale)

Weaknesses

  • Course contents are not advanced, strip out "Advanced" from courses names, as they will not be advanced. We studied more advanced content in our undergrad back in a poor 3rd world country Pakistan.
  • Every one awarded admission, the course should be for Engineering background students, but you will be amazed by the diversity of background disciplines in the class.
  • Because of students with non-engineering backgrounds in the class, they will teach very straight away simple things so that every one can study and pass the course (simple reason: student has paid 11,500 pounds)
  • And the main reason behind all these mess-up is 11,500 pounds itself. I think there should be more focus on quality also. I think you people got my point.

Overall UK Education System

I have already written a post about UK education system, it has its own weaknesses and strengths, the weaknesses and strengths I listed above were specific to University of Sussex, but they can be applied to all corners of UK education system itself. Following are the points, which I now learnd, can become very handy sometimes.

  • They will only teach you 15% of course contents, but the exam will not be conceptual as such, that will be a memory test, you will not have to solve any thing, because they will give you hints in tutorial class that whats coming in the exam and you will have past 3 years papers to see the patterns.
  • They will not teach you any books, will give you hand-outs, each course will have 3-5 notes in total, exam papers include them all, if you just prepare exam papers, you will be covering infact 70-80% of the course.
  • In exam you will be in strict pressure, 2 hours time, have to solve everything out, total 4 questions, choice of 3, but still you will not be able to think anything, exam papers are masterly designed, if you stop to think about anything, you will be losing a question at the end. So you should have a sharp memory power, you should memorize everything before coming to exam and during the exam just pour that all out on the paper.

Now from here, I got the trick that from where "Ratta" or "Rote" system is gone in sub-continent because our education systems were based on british system. What we did, we stripped out all the benefits from this system, forgot the basics, never give any notes and still make people to remember all those formulas and relax them a bit during the exams.

But institutes like from where I have studied, they are following American System, semester one (you will see annual system in work here), and there we study loads and loads of knowledge and actually when we go to interviews, we are able to solve very complex questions of Laplace, but very few of us know why Laplace is used in DSP at first hand, well here they will only teach you why Laplace is used, from where it has drived and very simple questions to pass the exam paper, infact thats they only thing employers wanted to know from you. Here they will teach you very basics, but you will have to remember them, this makes you efficient for the interviews.

But still, if there is a masters degree in MSc Embedded Digitals System, only computer/electrical engineers should be given admission and a bit advanced courses should be taught, like they already must have known that how a micro-controller works in RTES, there should be real time systems high end system which they should have to implement during labs rather than just interfacing serial and CAN buses.

Next are exams, you want to know my experience, read my past posts, I am very average students, never exceeded 65% overall average in my whole life. I studied 6 to 7 hours before the exam of each course, on the night before. Uptil now my average is around 60%. And I am hoping I will remain on 60%. Its a B-grade over here and 70% is A-grade. A person with a B-grade is known here as Passed with Merit and still I hardly attended classes during 2nd term (attended several in the 1st).

Job Situation

I know you are interested in Job situation because ultimate goal of 95% people coming here is to earn. Take my simple advise, you will get severe problem over here because even a Cleaner job will ask you the reference (and you will have to find it, use your contacts over here to get one). Once you got the job, it will work during the study. After the study, its my believe, its up to your own attitude + aptitude that what you think about yourself. If you have any skill, you can cash it in very good good money. Let me give you my own example, when I came here I got a job at a local dominos shop with the reference of my landlord over here, I worked 6 months there, it given me bread to eat while I was studying but when I was going on my exams vacation, I decided I am not coming back here InshAllah, and on the 3rd day after the exams I have got a extremely good Programming job in London. Thats because I knew I can do it. If I would have sticked to dominos, I would never have got it.

And I think you have got all my points. Do ask if you have any other questions!

(Notice: This blog post is for those who want to get admission in my University and it can only be used for individual information. I hold no liability as they are my personal views and I think I am doing better use of freedom of speech. )

Tuesday, February 12, 2008

Study in UK!

I have posted before in my blog about the situation after I graduated from COMSATS Institute of Information Technology, Lahore.

Well for a quick update, I am now in University of Sussex doing Masters in Embedded Systems.

Purpose of this blog
This blog will again be very long, I should have written that long before for the information who are younger than me or looking forward for foreign education but you can say I am a bit lazy in that. However, I will try to give a brief account of education system over here in UK.

As the first, I will try to tell you about the study system for the postgrad stuents overhere in UK. Later on I will tell you obviously why I choosed to study over here. I will try to remain honest as much as possible unlike others because I know it is a matter of the future who is reading this blog!

Study system of UK
As a Pakistani student, without any offence to any british, I would say its pathetic! I dont know what they are up to. But the reality is either they think that rest of the world is still living in the dark or whatsoever, or they are just after money.

The curriculum I studied in a B-grade institute of Pakistan i.e CIIT was more updated at the undergrad level what I am studying here in MSc. We had studied almost 98% of course contents back there in Pakistan in our undergrads and someone told me while in Pakistan, that for us south asians its very easy to score a distinction in UK. They have four levels of grades in Masters in here, i.e Fail, Pass, Pass with Merit and Pass with Disctinction. Pass with distinction is at 70%. University of Sussex is amongst top 121 universities of the world, but the education level can be good at undergrad level but not postgrads. They took 11,500 pounds of money from us and teaching us same old basics.

The reason behind that is very obvious, they have given admission to all students whoever have applied to just to grab the money, as they accept by theirselves that International Students are the main source of funding for their universities and most of the International students come in at Postgrad level. There is not even a single british student in our MSc class of 50+. Most are Pakistani or Indians, some greeks and some are from Africa and Turkey etc. One of my MSc classfellow has medical background (he has done a CCNA course) to score admission in MSc in Communications with Business Management, another one did BCS(2 years) from Petroman Lahore, 7 years ago and he is in MSC in Space and Satellite Communications. You can see by yourself! He never studied Signals and Systems, how can he know about Z-transforms or the difference of Laplace and Time domains? He never studied Communication systems before, how he can suddenly take it all of MPSK and modulation techniques in general? But they have given admission to all of them. We studied about RAM and ROM in our 1st semester at CIIT, and in here, in 2nd term of MSc they are teaching the same basic things in the course Microprocessors and their interfacing, I just took the first class of that course and left going in the lecture, because now I am contended that I have given that much money for just a piece of paper which is recognized worldwide and nothing else. I cant go to a lecture where the teacher tells me that processor is of that shape and it sits in the CPU or what is L1 and L2 cache.

It some time seems that even they dont know by theirselves that what they should teach. They try to keep all the students together after giving them all the admission from different backgrounds and then all of the sudden they start talking about too heavy things, which one can't understand before understanding pre-requisite topics.

The situation is same all around UK, one of my friend was in University of Northampton, he has done BIT from CIIT and was in my parallel batch, after studying one term he has changed the course to some business one, as he just dont want to learn same old things of PHP and databases again and again, when their is no assignments, no projects altogether. In here at US, they do give assignments and projects but the level at which we studied in Pakistan, thats just kids work for a student who has done Bacheolers before in those subjects. There should be some advance courses, the courses which are more related. So, that one a can say that yes I have studied uptil the Masters Level.

My Opinion
In my opinion, the post graduate courses they are running all across UK are tailor-made to attract foreign students and to grab money from them and also to get more brains from all of those poor countries who in turn make some better change for their country.

Why I choosed UK?
I was trying to score good in GRE to go to USA. Why I choosed UK instead? The answer is not that much ambigues, every one who is here, is just of the same reason, there is a war going on our northern frontiers in which USA is a party. They could easily refuse my visa application or they could suspect me as a terrorist out of no reason while I am in USA trying to earn some bread and study at my own. Education is the biggest industry of UK and while they know University of Sussex is very credible (I dont know why) they given me easy visa in just 8 days and I was here while the classes of 2 weeks were already passed.

The conversion rate of GBP pound against Pak rupee is 122 rupee=1 pound. That was the main reason. In Pakistan you can earn money to live a life, but you cant spare anything until you do include some type of black business in it. The job market here is not that competetive if we see from the point of view of Programmers, there is a immense need of it. Taxes are high but the income is still very good if we convert and send money back home.

I came here to earn some good money and then get back to start some type of business as my own. If you want to earn and want a quick visa, UK is a good choice. But if you want to learn something, go in sweden or USA in first place. Don't come to UK for study, dont expect from them that they can teach you better then you already have studied in Pakistan, yet the choice is yours. My age was already 24 and the life is quick to pass-by, I couldnt afford to see somewhere else, If you are 22, 23 it will be a good idea to see somewhere around and if you are indeed a techie, east-asia is not a bad option altogether.