|
Ask
yourself: Why program?
What
do I need to get started?
What
is the difference between Visual Studio.NET
and Visual Basic.NET?
Study
advice
Exam
advice
Ask
yourself: Why program?
Why do I want to be a programmer? Fame? Who
programmed your favourite game? Money? Apart from the infamous
William Windows, name a programmer that has a fat bank balance. It's a fad among my friends?
I.T is the way forward? If these are your reasons rather
pursue an acting career or start a rock band. Programming is for the
individual who doesn't mind spending hours in solitude with nothing but a
computer and a cup of coffee for company.
How patient am I really? Do you have the patience
to sit and untangle a ball of wool that your gran messed up and now wants to
knit you that awful green jersey with? Programming can sometimes be
exactly like that when you get stuck...and you will get stuck.
How much time am I prepared to commit to learning this?
You should realize that programming is not a TV dinner. It's a five course
gourmet meal that requires a skilled chef. There are no shortcuts and
there's no way in hell you can learn it "in 21 days". Sorry!
How creative am I? When you are given a bucket
full of Lego building blocks, do you build what is featured on the packaging, or
do you create your own masterpiece?
How good am I at giving instructions? If someone
asks you for directions to your home or office, are you able to give them clear
step-by-step instructions? Programming is simply a set of instructions you
give the computer.
How good am I at solving problems? What do you do
when you lock your keys in your car? Break a window? Call a
locksmith? Or do you walk around the car first to see if any of the other
doors are open?
How organized am I? Are you constantly looking
for misplaced personal items? Great programs start and end with planning
and documenting every step in the coding process. Whether
or not you passed the questions with flying colours is irrelevant.
Whatever your reasons for wanting to program may be, the most important thing to
remember is - have fun! Back to Top
What
do I need to get started?
Software
You will require a computer running Windows 2000/XP as well as
Microsoft Visual Studio.NET or Microsoft Visual Basic.NET or Microsoft Visual
Basic 2005 Express.
You can purchase your software at:
Keeley
Software
P.O.
Box 2341, Fourways 2055
Tel: 011- 469-1227
Fax: 011- 469-1682
Cell: 083-415-8909
e-mail: marilynk@iafrica.com
If you know of any other South African distributors of
Microsoft Visual Studio products, please inform the Webmaster.
If you are strapped for cash, you might want to consider SharpDeveloper,
a free open source "clone" of Visual Studio.Net. (Please note
that I have never used the free software and can therefore not vouch for it.)
Or you can download a free copy of Microsoft
Visual Basic 2005 Express.
At a later stage you will require Microsoft Access, but for a
beginner you need not worry about it anytime soon.
You could gain from having Microsoft Visio. It's a great
way to create flowcharts during the planning of your programs. Again,
don't worry if you don't have it.
Textbook and free tutorials
A decent textbook is always a good investment. With so
many books on the market to choose from it can be quite confusing in selecting a
book that is right for you. On a personal note I can strongly recommend
any textbook written by Diane Zak. Her books are well written in plain
English and offer numerous examples, exercises and test questions.
She doesn't just teach you, she explains it to you. A true
educator!
Order your copy from your nearest supplier, or online at Amazon
or Kalahari.
|
Me |
|
 |
 |
In addition to a great textbook, you can make use
of free online tutorials. See also Information
for beginners at Microsoft's website.
Back to Top
What
is the difference between Visual Studio.NET and Visual Basic.NET?
This can be confusing for people who are new to programming;
it certainly was for me.
Visual Studio.NET is a platform that consists of programming
languages such as Visual
Basic.NET, Visual C#.NET, etc. Let me
explain it this way. Think of the utensils in the kitchen. You have
dinner plates, glasses, cutlery, and so forth. You can use a dinner plate
without using a glass and you can use the cutlery without a plate.
Together they form a dinner set. Individually these items can still be
used for their intended purpose and together they form a collective.
Visual Studio therefore is a dinner set..? Ha-ha-ha, I
must be hungry.
Back to Top
Seven
habits of highly effective programmers*
Definition
An
effective programmer is one who has the ability
to complete projects in a timely manner with the expected quality.
1.
Understand your requirements
2.
Keep it real
3.
Understand your code
4.
Optimal programming
5.
Manage thyself
6.
Continuous education
7.
R-E-S-P-E-C-T
| 1. |
Understand
your requirements |
| . |
|
| 1.1 |
Build early:
Get a demonstrable system working as early as possible. This means
establishing the interface first, |
| 1.2 |
Deliver often:
Let people play with [your software], see their reactions, and let this
guide and prioritize your development. There is no substitute for
watching how people use your software. |
| . |
|
| 2. |
Keep it
real |
| . |
|
| 2.1 |
Use real data:
If you just test with sample data, that big iceberg of real data out
there is going to sink your program. |
| 2.2 |
Use real builds:
Remember the development build on your machine is not the real build. |
| 2.3 |
Merge often:
Keeping your code out of the official build means that programmers
cannot evaluate your code and testers cannot spot bugs early. |
| . |
|
| 3. |
Understand
your code |
| . |
|
| 3.1 |
Code with style:
Both prose and code are textual, have grammar, syntax, spelling and
semantics and spelling. |
| 3.2 |
Cut-and-paste:
The opposite of stylish programming is cut-and-paste. I've even
had trouble diagnosing my own code that was cut-and-pasted from sample
code. If you can't explain how your own code is supposed to work,
how can you expect anyone to help you with it? |
| 3.3 |
Keep it clean:
You should periodically inspect your code, sweep up accumulated
hard-coded numbers, outdated comments, misleading function names, or
you'll inevitably end up with uninhabitable code that's embarrassing to
show anyone else. |
| 3.4 |
Questions?
Comments?: Document your code as if someone else might have to
take it over at any moment and know what to do with it. Annotate
your code as you write it, instead of waiting for a convenient cleanup
phase in "post" - annotating as you code can even clarify your
thoughts while you're programming. |
| 3.5 |
Full warning:
Ignore compiler and runtime warnings at your own peril. |
| . |
|
| 4. |
Optimal
programming |
| . |
|
| 4.1 |
Code with purpose:
While it's laudable to have a programming esthetic, it's a waste of time
(and a useless risk) to change code just so it looks better to you. |
| 4.2 |
Do no harm:
The trick is in reorganizing code for the better without breaking
anything. |
| 4.3 |
Find the bottleneck:
If you do need to optimize for speed or space in your application,
attacking anything other than the bottleneck is a waste of time. |
| . |
|
| 5. |
Manage
thyself |
| . |
|
| 5.1 |
Are we there yet?:
Awareness of the schedule is critical to actually getting the project
done on time. Give a realistic prediction. Any concessions should
be based on pragmatic tradeoffs between features and resources. Be clear
about the assumptions, dependencies and resources on which the schedule
is based |
| 5.2 |
Plan your progress:
Before you sit down at our computer, you should know what you want to
accomplish that day and have some idea how. |
| . |
|
| 6. |
Continuous
education |
| . |
|
| 6.1 |
It's Science:
You don't have to know everything under the sun, but you should have at
least a cursory familiarity with many areas and be prepared to do some
additional research as necessary. |
| 6.2 |
Free beer, free
speech, free software: Just about everything you need is on
the Internet - tutorials, discussion lists, and free software. |
| . |
|
| 7. |
R-E-S-P-E-C-T |
| . |
|
| 7.1 |
There is such a thing
as a stupid question: A good question that exposes unresolved
issues tells people that you know your stuff and you're sharp enough to
catch all the implications. Asking for clarification about a
specification shows you know how to find and read the spec and your
ability to detect ambiguities. |
| 7.2 |
There is such a thing
as a stupid answer: If you're going to act like you know what
you're talking about, you really better know what you're talking about. |
*
This is a summary of the essay written by Phil Chu. Click
here for the complete essay.
Back to Top
Study advice
| a] |
When deciding on a course, don't fool yourself into
thinking that you can learn to program in a couple of weeks, days or hours. |
| . |
|
| b] |
Choose a textbook that has plenty of pictures (yes, you may
laugh) and choose a book that is filled to the brim with
exercises. |
| . |
|
| c] |
Draw up a timetable that covers the entire textbook.
Now, take that same timetable and double the time that you have just
allocated. Why? It is easy to give up when you can't keep up
with the goals you have set yourself. |
| . |
|
| d] |
Most textbooks will start with a chapter on the
history of
programming languages. If this bores you, skip it until later.
All new students are rearing to go and don't want to be bored to tears with
background information. Go back to read up on the progress of
programming at your leisure. |
| . |
|
| e] |
Understand that programming is not a matter of learning how
to use a program, like PhotoShop, which is relatively easy to learn.
You are about to learn a new language. A computer doesn't
understand English, so you will have to learn to "speak" machine
language. This is difficult and will take time to master. (This
will most likely be explained to you as part of the history of programming
languages in the beginning of your book, please read it at some point.) |
| . |
|
| f] |
Before writing a single line of code, familiarize yourself
with the programming software environment first. You wouldn't storm
into a new shopping mall and spend your money right away, no, you first look
around to see what the mall has on offer. |
| . |
|
| g] |
Pencil notes in your textbook as you read through a
chapter. This is not an option. The amount of work you will
cover is simply just too much to remember off the top of your head.
Your pencil notes will serve as a quick reference in days to come. |
| . |
|
| h] |
If you read something that doesn't make sense or you have a
question about it, write down that question in the margin. You will
find that you will probably be able to answer that question once you are
done with the lesson. The next time you refer to that paragraph, you
don't have to repeat the process of wondering what the textbook is trying to
teach you. |
| . |
|
| i] |
Use a notepad to build up your own
dictionary and use your own words to explain a concept in as much
detail as possible. You
will encounter an abundance of new terminology that you simply have to add
to your vocabulary to enable yourself to program. |
|
|
| j] |
If you purchase MicroSoft Visual Studio.NET, make sure that
you install the MSDN library as well. Your textbook, no matter how
good, will not cover everything. Refer to MSDN while you study
for additional information on a given topic. |
| . |
|
| k] |
Scoure the internet for proper
tutorials. You will find that no two tutorials are the same or
approach a topic in the same manner. It is best to consult multiple
tutorials as this will broaden your appreciation of the diversity of
programming. See myTutorials
for links to great free online tutorials. |
| . |
|
| l] |
Do as many
exercises as possible. You will soon
realize that there are numerous ways in which you can apply your knowledge
and this you will see only once you attempt to write programs. See myExercises
for a wide selection of exercises to try. |
| . |
|
| m] |
Join online forums,
newsgroups and messageboards. These tools are invaluable to any
new programmer since experienced programmers will answer your
questions. Being part of a programming community will keep you
motivated. |
| . |
|
| n] |
If possible, try to befriend
other new programmers and experienced programmers in your city. We
learn by sharing knowledge. |
| . |
|
| o] |
Don't attempt to write programs that will "put
MicroSoft out of business", this will only frustrate you. Start
with small and simple programs and work your way up. |
| . |
|
| p] |
The internet is littered with sample code. Use it
only to analyze how another programmer applied his knowledge.
Do not copy and paste it into your programs as a quick way to create
programs. Write your own code. Why? Creating a program is
like having a baby - you can't just give birth to it and then abandon
it. You have to do maintenance on your software, so if you've copied
someone else's knowledge, how do you plan on updating it? |
| . |
|
| q] |
Stay up to date - visit Microsoft's
website often to stay on top of new developments, changes and
resources with regard to your programming language of choice. See myMicrosoft
for useful links to get you started until you learn your way around
Microsoft's website. I had a hard time navigating their website when
I started out due to the sheer size of it. |
| . |
|
| r] |
Take regular breaks.
Sitting for prolonged periods of time staring at your screen or textbook
is unhealthy. It can lead to blurred vision and dizziness. Get
up once an hour to stretch your legs for 10 minutes or so. |
| . |
|
| s] |
Learn to type properly.
Proper typing skills will ensure that you code faster and make fewer
mistakes. A computer is the dumbest thing ever and will not tolerate
spelling errors. Look for free typing tutors at http://www.download.com. |
|
|
| t] |
If you battle to concentrate, take
a supplement that will help you to focus. Ask your chemist for
products that contain Choline (maximises brain function), Gingko biloba
(improved oxygen and nutrient supply to the brain) and Rhodiola rosea
(fights mental fatigue and stress). Also, get some vitamin B
supplements. Check with your GP to ensure that you can take these
supplements, especially if you are on chronic medication. |
|
|
|
|
|
|
Back to Top
Exam
Advice
| a] |
No matter where you live, you will have to
take a Microsoft exam in order to get a qualification. Be wary of
educational institutions offering diploma's as these really mean
nothing. You need to become Microsoft certified. |
| .. |
|
| b] |
Microsoft exams are hosted by two approved
testing centers, namely VUE and Thomson Prometric. |
| . |
|
| c] |
Visit the testing centers' websites to learn
more about them. Use their search facility to locate your nearest
testing center. |
| . |
|
| c] |
We all hate taking an exam. Therefore
it is best to prepare yourself in advance by visiting the testing
center of your choice. Ask them for a tour and let them explain
the procedures involved. Visiting the center will also ensure that
you don't get lost in trying to locate it on the day of your exam. |
| . |
|
| d] |
Once you are nearing the end of your course, schedule
an appointment to take your exam. Normally you have to schedule
your exam 7 days in advance. Do the booking 30 days in
advance. This will ensure that you have ample time to do revision or
to re-schedule if something comes up. If you have special needs,
e.g. you're in a wheelchair, inform them of such. Try to get an
early appointment because your body and mind will be fresh. |
| . |
|
| e] |
In the run-up to your exam, do as many dummy
exam papers as you can find, and don't forget the practical
exercises. |
| . |
|
| f] |
Be crystal clear on what you need to take
with you to the testing center, and contact them a day before the exam to confirm
your appointment. |
| . |
|
| g] |
The day before the exam - put your books
aside, rest, relax and do something that will keep your mind off
the exam. |
| . |
|
| h] |
Breathe! |
| . |
|
| i] |
Pick out your outfit, something
comfortable. Wear something cool, but take a jacket or sweater with
you. Draw up a schedule of what you need to do and when. Put
all the things you need to take with you in a carry bag. Make sure
you know where your house and car keys are. Charge the cell phone
battery and ensure that the car has enough fuel. Set more than one
alarm clock. Take sleeping tablets and go to bed early. |
| . |
|
| j] |
Have breakfast, even if your stomach
is churning with nerves. Your body will require the fuel to feed
your adrenalin glands. |
| . |
|
| k] |
Arrive at the testing center 30
minutes earlier than your appointment. It will ensure that
you don't get caught up in traffic. Arriving early will give you
time to soak up the environment and focus your mind on the task at hand. |
| . |
|
| l] |
If you start to freak out, tell yourself "I
have worked hard, I know this stuff", "If I fail I can just
take the exam again and next time it will be better". If you
are alone, call your mom, lover, friend, tutor - anyone who will be able
to calm you down. |
| . |
|
| m] |
Stretch your arms to relieve tension
in your body. If your body is tensed, your adrenalin will pay
attention to the muscles instead of your brain. |
| . |
|
| n] |
Empty your bladder before commencing
the exam. |
| . |
|
| o] |
If you have been using a supplement,
like Ultima Brain Fuel, during your studies, take them when you arrive at
the testing center. If you have not been using a supplement up to
this point, don't take them. Your body is not used to the
supplement and could react unexpectedly, e.g. shaky hands. This
could ruin your exam. |
| . |
|
| p] |
Chew gum as it relieves tension in the
jaw and prevents that dry throat feeling of anxiety. |
Back to Top
|