Software engineering question!!! Please help!!

<p>Hi there
I'm a grade 12 student from Canada who would really hope to go to the US to study software engineering in one of the top schools eg. Berkeley.
The thing is I really messed up in my grade 11. I had just moved from a school in Nigeria to one in Ontario so it was a bit hard for me settling down. However this grade 12 I'm working a lot harder. </p>

<p>I'm not sure if my grades will get me in but here are my ec's:
. I founded my school's first newspaper in grade 11 and I'm currently chief editor and head of the technology section
. I'm the fundraising coordinator of DECA
. I'm a member if the swimming and tennis team
. I just recently published an android app that is available on google play
. I'm in the middle of creating my first computer game
. I'm a member of the the computer science club
. Later this year I'm hoping to start a 'because I'm a girl' club in my school. (I've heard waay to many stories of sexual abuse and I'm tired of it)
. I'm also almost done writing my first novel which I hope to publish through Amazon's create space. </p>

<p>For my essay I want to write about why I didn't do well in grade 11 and how I came to find my true passion. I also want to write about my live for European history. </p>

<p>Still, after all this I still don't think I'm doing enough. Can I please have some advice on how to improve?
Ps. I'm taking the SATS and sat subject tests later this year.</p>

<p>What exactly is your question? I think your only difficulties will be navigating America’s bureaucratic and stupid immigration system. I think you will have no trouble actually being accepted to a good school with your resume, unless your grades are lousy.</p>

<p>I agree, you should not have much trouble being accepted to a good school.</p>

<p>BUT…</p>

<p>Let’s work on your “path” to software engineering. As a software engineer for over 20+ years, I would look more into the traditional computer science degree (with 1 or 2 software engineering courses) than a software engineering degree.</p>

<p>

</p>

<p>Interesting, why is this?</p>

<p>Well…</p>

<p>Software engineering is basically a methodology that varies from employer to employer. It focuses on “lifecycle stages” for producing software:</p>

<p>1) Requirements Analysis
2) Design
3) Development
4) Testing & Verification
5) Deployment
6) Sustainment</p>

<p>What many “software engineering” degree programs (both undergraduate & graduate) do is have students first take an overall S.E. course then take a course per S.E. phase. You don’t need to take a course per stage. Only a knowledge of the stages is needed.</p>

<p>Why?</p>

<p>Because each employer will have THEIR OWN FLAVOR of software engineering. They will still use the above stages as a basis but customize each stage. Therfore Boeing’s way of requirements analysis will differ from Lockheed’s way of handling requirements which differ from General Dynamics way of handling requirements. The same with design, development, test, etc.</p>

<p>That means that a fresh really only needs to know the fundementals of software engineering which can be covered with the one (or two) courses at the undergrad level or grad level. Free up those credits to take other CS courses like A.I., cryptology, parallel processing, database systems, networks, compiler design, computational science/engineering, visualization, etc.</p>

<p>I have been a software engineer for 15 years and I agree with that 100%.</p>

<p>so you’re saying I should major in computer science instead?</p>

<p>

</p>

<p>Yes…and take the one software engineering course (usually junior/senior level). If you want even more detailed knowledge, go ahead and take the graduate course version of the course as another elective.</p>

<p>Those 1 or 2 courses will be plenty.</p>

<p>Yes, agree with the above posters that a CS degree with one overview software engineering course is generally a better choice, since you can take additional CS courses on various topics that will be relevant to industry software jobs and CS graduate school.</p>

<p>Only a few colleges offer a software engineering major anyway (Berkeley does not). However, in some of them, the software engineering major maybe easier to gain admission to than the CS major, so that may be an option if your record is not good enough to get into the CS major at that school.</p>

<p>Be aware that costs can be high and financial aid and scholarships minimal to nonexistent for international students attending US universities as undergraduates. If you are Canadian, you may want to check whether you can go to Canadian universities like Toronto, Waterloo, McGill, UBC, etc…</p>