views:

109

answers:

2

My brother wants to study the same thing I did, Systems Engineer (what its called in South America).

I'm scared that he might fail and feel really discouraged and dropout, feel crappy. How can I evaluate him a bit to see if he would like it. He just sees my applications and says he can do the same thing. I'm not saying I'm a prodigy but you not everyone can program and even less can program using well written code.

I want to help my brother out.

I also have a dilemma of which school to suggest him to go to. The one I went to basically taught me a bit about algorithms and then it was mostly C#/.NET with a dash of Java/EE/ME at the very end.

There is also another school that teaches more low-level stuff, they program mainly in C++.

Which one should I recommend him to go to?

Thanks a bunch.

+1  A: 

Evaluation: give him SICP and a Scheme, and see if he can go through it.

  1. It is a very nice intro to high-level programming.
  2. It is in English. You can't be a very good programmer if you can't read a technical book in English, since most of the docs for pretty much everything is in English (disclaimer: I am not an English native, it's not my Anglocentrism speaking)
  3. Once you can understand Scheme, you can understand most things in programming rather easily.
  4. Scheme syntax is dead easy; while it takes an age to learn C++ syntax (and even then most people aren't completely sure), Scheme syntax can be taught to an experienced programmer in 15 minutes.

On low-level vs. high-level: You will probably find that SO as a whole has a rather negative view of C++. C is fine, but C++ is a mess. However, a lot of industry wants it, so you have good chances for a job if you can do it semi-fluently.

That said, the language is not really important (unless you want to avoid a lot of pain and frustration :) ) - the important thing is that they teach basics of algorithm design. Anyone can learn a language once they know how to program. (With a possible exception of Haskell and Brainfuck, and maybe C++).

Amadan
Scheme as a first language? That's a new one...
reemrevnivek
@reemrevnivek: I'm not advocating Scheme; I'm advocating SICP. (I myself am most comfortable in Ruby, except when it's too slow.) But I do believe Scheme is a good first language. I am not sure if I understand your comment - if you think it's a no-brainer, the OP wouldn't have asked if he couldn't use an answer; and if you disagree, the comment would have been more useful with more content.
Amadan
@reemrevnivek: MIT used Scheme and SICP for their introductory computing course for ages, although they recently switched to Python. As Amadan points out, Scheme has a very simple syntax that can be grasped in a short period of time, allowing the teacher to focus the majority of his time on algorithmic construction rather than language intricacies.
Robert Harvey
@reemrevnivek: You might find this interesting : http://www.teach-scheme.org/Notes/scheme-faq.html
Peter Tillemans
+2  A: 

Why does he want to do this? Is it because he's interested in engineering, or because he looks up to you? As an older sibling, I have also faced this problem. Cases in point: Little sister wanted to do cross-country running like me, was terrible, tried swimming instead, became three-time All-American. Little brother wanted to be good at math like me, didn't get it, and now plays piano, guitar, drums, and sings at church instead. Still needs help trying to get Audacity to do what he needs. They wanted to be like me, but had different talents. My girlfriend's little brother, on the other hand, truly wanted to be an engineer, He imitates me and seeks me for help, but his dream is his own.

I'm also going through school for computer/electrical engineering, and I see others dropping out all the time. This is the nature of technical schools. Your desire to prepare him is a good thing, but you both have to accept the possibility that he may not make it.

If he wants to go to the school you went to, I'd actually suggest starting him out with C. If he can have an understanding of what happens behind the object-oriented scenes, he'll have a big leg up on his peers. More importantly, his ability to learn a language and to understand programming and computing concepts is what you need to evaluate. These skills will end up being much more valuable for him than knowing the syntax of Java or C#.

While your school may have prepared you to program in C#, is that his goal? If he is likely to get a further degree, to go into electrical or computer engineering, or to use a language not taught at either school, I think that the other school might be better suited to his career path. His choice of schools may also help you determine whether he's just imitating you, or whether he really wants to become a programmer.

If he's not mature enough to realize that (1) his dream may not be his own-he's just following you, and (2) failure is a possibility, then I don't think he's ready for either school. Give him a year to prepare and make some money to pay for school, so he can learn one or two languages and getting any math skills he may be lacking, and then he can enroll and be successful.

reemrevnivek
I'll take your suggestion with a grain of salt. You don't need to go into a programming-related field knowing about programming, sure it helps; but take me for instance, when I enrolled I had ZERO knowledge of programming at all. LITERALLY zero, but I didn't suck at it.
Serg
@Sergio - I agree that you don't need it, however, your stated goal was to help him out. A little knowledge about programming concepts will definitely help him out.
reemrevnivek