Computer programming class question

I’m trying to schedule a computer science class to take in the fall, time permitting. The one I want to take, BASIC programming, is the prerequisite for lots of the more advanced programming courses and web development stuff, but it is only offered in one time slot and conflicts with a class I have to take as part of the nursing curriculum (also offered only one time slot). The next class in the sequence is Visual Basic programming. It would fit into my schedule, and I’ve had some exposure to Visual Basic in the past through work.

My question is: Could I skip the Basic for now and pick it up another semester, or is it vital to have a classroom understanding of basic first to master the visual basic?

If it’s not vital to have Basic first, I may push my advisor to let me schedule into the Visual Basic, since I’d planned to take it later anyway.

the difference between Basic and Visual Basic is that Visual Basic hides all the details of the Basic programming language and you just build applications by connecting pre-programmed modules.

So the Visual Basic class will teach you how to use a Windows program, the Basic class will teach you a programming language.

What xizor (what the hell would that be worth at Scrabble, I wonder?) said.

I don’t have a programming background at all (mmm, social sciences) but I took an intensive intermediate-level week-long course into practical Visual Basic programming without any problems. As mentioned, VB works at a more ‘visual’ interface level: designing the appearance of program interfaces and adding underlying code for the events triggered by controls and actions. You’ll probably need BASIC as a prerequisite before studying other languages, but not yet.

What mattk and xizor sez’d.

Think of it this way: Learning VB and learning BASIC is like learning how to repair a (random car) Ford Escort and learning how cars work and how to repair them.

Once you get out of the former’s course, you can fix a Ford Escort and maybe apply it to other cars, mostly Fords. Once you get out of the latter, you understand cars, how they are built, and how to fix them. You could fix a Ford Escort, once you learn it’s particular quirks, but you could also fix a Jaguar or a Kia in the same vein.

That being said, once I fully ‘understood’ programming, I realized that BASIC is a fairly awful way to teach programming (at least it was, I haven’t seen the newer incarnations) since it tends to reward bad habits and discourage good ones.

I have never taken a programming course until last week when I took Visual Basic
http://www.learningtree.com/us/ilt/courses/304.htm
and more detailed
http://www.learningtree.com/us/ilt/courses/304out.htm

Prior to that the only BASIC I knew is what was self-taught back in the early 80’s and haven’t used it since. I had no problems learning VB. One major difference is that VB is more of an ‘event driven’ language while BASIC is more ‘procedural’. You probably won’t have any trouble with VB but before you go on to procedural languages like COBOL or FORTRAN you would probably do well to take a BASIC class.

NP: Amorphis – Am Universum

What the others have said. While event-driven programming is definitely cool, it helps to have a good understanding of procedural programming beforehand.

That said, why the hell is anyone still teaching BASIC?

Ghod, are they still teaching BASIC as an intro to programming? I learned BASIC as my first language and it took me years to unlearn the bad habits it introduced. Admittedly, BASIC is much more sophisticated now than it was when I learned it (early '80s), and I know that VB is one of the more popular languages, but still…

I learned to program on the Sinclair ZX81.

I’m now developing bespoke apps for a small company using VB and VBA.

Basic is generally frowned upon by professional programmers because it allows (some would say promotes) poor program design, in particular it allows you to prematurely break out of looped structures, which is considered sloppy and it allows linear programs to grow to mammoth proportions (whereas the ‘preferred’ model is to create small, reusable subroutines and call them as required)

Visual Basic goes a long way toward correcting this, it preserves the simplicity of the BASIC language(mostly anyway) but encourages the development of reusable code.

You can’t learn VB without BASIC (I mean that in learning VB, you will have learnt a fair deal of BASIC - the Syntax and command set at least, if not the structure)

Jeez, Opengrave, I hope whoever you work for paid for that class. The tuition is unbelievable.

Thanks to everyone for the responses so far. Based on your input, and that of a friend in web development, I will try to get into the VB course this fall. We worked with BASIC a little in HS way back in the late 80s/ early 90s, so I have some vague idea how it works. Maybe that will be enough background to pull me through.

Would a book help? Anyone care to make a DIY BASIC refresher suggestion?

Jeez, Opengrave, I hope whoever you work for paid for that class. The tuition is unbelievable.

Thanks to everyone for the responses so far. Based on your input, and that of a friend in web development, I will try to get into the VB course this fall. We worked with BASIC a little in HS way back in the late 80s/ early 90s, so I have some vague idea how it works. Maybe that will be enough background to pull me through.

Would a book help? Anyone care to make a DIY BASIC refresher suggestion?

what bad habits are you referring to? i am planning on taking BASIC as a prerequisite in the fall, and i would like to know what to be careful about.

anything besides encouraging excessively large and unweildy program design?

Yeah, my employer paid for it. I get that in return for the salary I should be earning. Next I get to do UNIX http://www.learningtree.com/us/ilt/courses/336.htm. After that my training days will pretty much be over. Good luck with finding a nice BASIC refresher.

If you want to learn to program, then VB is one of the worst languages you could learn. Do you have the option to take some other language entirely, rather than BASIC? C, for instance, is somewhat harder to learn than BASIC, but one you’ve learned C, you can pick up any programming language in a few days or a week (well, you might still need to refer to the books, but you could get by). C is also a much more practical language than BASIC in its own right, and it’ll prepare you especially well for Java, if you decide to go that route (Java is heavily based on C).

I’m biased a little towards C here, but a course in Fortran, say, or even Pascal, would probably be almost as helpful.

I suppose you could use Visual Basic that way, xizor, but all of the applications I have written have HEAVY basic code behind them. You couldn’t do much with just the builtin stuff.

There’s about 3.3 million developers out there who would disagree with you about VB, Chronos.

Allow me to clarify: I don’t think that VB is a bad language to use, depending on what you’re using it for. For many purposes, it’s the best tool for the job. I just don’t think that it’s a very good language to learn on. It’s sort of like manual and automatic transmissions on cars: A person who learns to drive an automatic will have a hard time driving a stick, but a person who learned on a stick will pick up automatic in no time.

Learn on a non-visual language first, and then go on to the visual version, if you want.

Although Chronos has already clarified his position, let me jump in here briefly, too. VisualBasic is a great language to learn if you are interested in almost guarenteeing yourself a job in the next few years. I’m continually amazed at the number of jobs that seem to require only VB. At my last position (I’m unemployed until tomorrow :)), I had several developers who knew only VisualBasic working for me. They were able to contribute in quite significant and useful ways to a very complex project.

HOWEVER, and I think this is Chronos’ point, it is not a good language to start with if you have an ambition of being a career, professional programmer. Like a lot of Microsoft products, it tends to emphasize the pragmatic approach to accomplishing things, over the theoritical or “right” way.

There’s no question that VB is one of the technologies du jour for web development, and therefore, if that’s the limit of your goals, a worthwhile choice.

I’ll have to agree with Chronos and Cerowyn on this one.

My main objection to teaching VB as a first language is that a lot of features common to other languages simply don’t exist in VB. If for some reason you were to try to pick up an object-oriented language (say C++) later on, you would have a great deal to learn about things like inheritance, polymorphism, and dynamic memory allocation. But if you were to learn C++ (and all these things first), then other languages would seem much simpler by comparison.

The main problem I have with VB is that it allows variables to change type during the course of the program (e.g., what you thought was a number is now the word “peg”). This adds an undesired level of complexity to error-checking.

There is definitely some merit to learning VB. It’s great for kicking out GUI-based applications quickly. But like Cerowyn said, it’s not necessarily the best for serious programmers.

      • Most smaller colleges and high schools in my area (midwest US) require a course in MS Basic (QBasic 4.5 or 7.1(?)), and it is a prerequisite for all other CIS courses, as well as many other non-CIS-related degrees and certificates.
  • It does help to know qBASIC before trying Visual Basic. Either is fairly easy to understand, because at the beginner level the commands are usually the real-world words you’d use to describe what the command does anyway. In a starter QBasic course you only write little command-line DOS window programs, very simple and short stuff. Visual Basic includes buttons, forms, textboxes and all the other things you see in a typical office computer program; things that are too complex and time-consuming to write in QBasic. So taking Visual Basic and then taking Qbasic is taking a step backward, but if you pass the Visual Basic, the QBasic won’t be a problem.
  • Large bookstores usually carry a couple different books on QBasic programming, just because it is so commonly used as in intoductory language.
  • QBasic itself isn’t sold anymore. It used to be available for D/L on the MS website but no longer. Downloading it off the internet is illegal, but it’s out there. You want qBASIC 4.5 or qBASIC 7.1, not QuickBasic 1.1. All are small programs, when zipped IIRC all three will fit on a single floppy disk. You can download it off the net, buy your own book and in a couple weeks get enough of an idea to get by, just be sure to get a beginner’s instructional book, not a comprehensive reference. *A compehensive reference on qBASIC 7.1 is not a small book.
  • There are “other” basics, but they aren’t the same and they are rarely free. If you know nothing about it, you need the language the book refers to and that is usually Microsoft qBASIC 4.5 (most often) or 7.1. [the difference between 4.5 and 7.1 are advanced features that a beginner’s course likely won’t address] Find one of those, don’t bother with other versions. Due to board policy, nobody here can agree to mail it to you if you can’t otherwise find it. -But let us know, just the same. :wink: - MC

If you can, take PASCAL instead of either language. BASIC is somewhat antiquated, and many of the other posters are right that VB is probably not a good first language to learn because it’s prone to shortcuts & other quick-fixes, as well as not being particularly aimed at learning environments.

On the other hand, PASCAL was expressly created as a teaching language for procedural programming concepts. I believe most major university CS programs require PASCAL as the introductory programming language. I know mine did- I got a BS in computer science and never saw a line of BASIC or VB code.