Go Down

Topic: Programming class (Read 10 times) previous topic - next topic

Schmidtn

OK, I know State schools don't have the best funding, but I'm in a college programming class (that the catalog described as C++) where we are learning to program... in VBA in Excel.  It seems very weird to me.  

Any idea why they'd be teaching people to write code in Excel?

westfw

Quote
Any idea why they'd be teaching people to write code in Excel?

Immediately useful results in a familiar environment?
Desire to focus on the mathematics?
Ability to check results against built-in functions?
Real Visual Basic software too expensive?

A lot of schools have "weird" ideas about introductory programming languages.  See what happens...

liudr

>:( :(I think shit happens. If it's called C++ the teacher teaches C++, end of the story. Maybe the teacher finds VBA easier for himself but VBA is not object-oriented programming. I also hate teaching propriatary programs as well although I use Excel for intro classes (well I can opt for openoffice calc, everything works the same except for the looks)

I am in an opposite situation where I need to teach some students C/C++ for arduino projects in my electronics class. The class description on the book is so old that it makes the catalog smell old. Can't do nothing about it since state colleges are not having their wonderful days now and changing any course related thing will be a huge headache.

marklar

Quote
If it's called C++ the teacher teaches C++, end of the story.


That is correct - teaching Visual Basic in a class that should teach C++ - is "a bit" off the mark.  

If this is an intro level class, they may have had issues attempting to teach programming basics and C++ specifics like pointers at the same time.  Hopefully they will get to C++ since that is most likely what you signed up to learn.  If early enough to drop the class, you may ask if they are teaching C++ during the course and if not - maybe the same course by another instructor will teach what you desire.  Paying for a course to learn C++ and learning VBA is like signing up for bungee jumping class only to find out you will really only be playing with rubber bands at your desk :).


Schmidtn

westfw:  Yeah, I can see that it's cheap and easy to get started with Visual Basic by using the macro in Excel.  It was the VB instead of C++ that I thought was odd.

It's a mandatory intro to programming class I have to take (and no programming classes after it unless I choose one for a tech elect) but I was kind of excited to get some real training since the only code I know is what I've learned playing with Arduino and on these boards.  So far, VB doesn't seem to be anything like Arduino.

I'll stick with it and ask around the department for a C++ class I can get into for a tech elect spot, I'm just really deflated that it's watered down coding in Excel instead something I can transfer to the hobby.

Imahilus

4th (final) year software engineering student here (college level).
As far as I know, I haven't even seen visual basic code, nevermind being taught it.
Though from what I've heard, it is one of the worst languages to start with.
For easy languages you could use to learn coding, PHP and python would probably be the best choices. Though if you want to get straight to the juicy coding parts, C++, C# and/or java make fine choices. These are programming languages (php and python are scripting languages... you can check wiki for specific details on the differences between the two, in short.. PHP/python allow a lot of mucking about with variables, C++/C#/java are a lot more strict).

jeckson

Quote
Any idea why they'd be teaching people to write code in Excel


The excel code with C++ is sometime hardy than VBA.
VBA with excel seems good choice.

Jeckson

liudr

VBA for Excel is for elites, excuse me, elite business men and women. That is the best they can ever do. I did VBA programming in the past, odd jobs like automate my final letter grades, communicating with my arduino in my very first arduino project (odd!), and teaching optics. It's rather nice that you can use some codes to interact with objects in MS visio or any objects in MS office product. I can draw a ray trace diagram, assign different things to different layers, then use buttons to hide and show them. Very nice indeed but there's no place where I didn't first hit the record macro and then hack the recorded macro. Writing it from ground up is not possible. The language is not, simply not for beginner programming. It's for someone to get some job done. There's little instructional value in teaching it.

graymalkin

While I can see the use of learning VBA in Excel it is very important to note, VBA isn't programming, it is scripting,  VB.NET or plain VB is programming

I would argue, also that VB sets the worst precedent for programming, it can easily be messy and unless you tabulate things neatly and comment a lot quite unmanageable.

If you have an arduino play with some of the more crazy things like setting the bits in various registers and similar bitwise operations.  Languages aren't hard to learn, it's the complexities of the libraries built on them, like .NET and the bits you get shown in VBA.

graymalkin

Also, as to WHY they would teach you to program in excel, it's because they don't have to put any new software on the machines, as it comes with Office (Alt-F11 I believe)

Yell at your IT dept, if you're lucky you'll have a programmer in there who will possibly (if you're enthusiastic and have a good attitude etc) help you out, and maybe even go over some things regarding C (in some form).

theepdinker

Perhaps whichever accreditation service audits that university would be interested in knowing about this
Occasional activity,
sporadic progress

Valalvax

Not to mention, I believe the VBasic studio is free... >.>

Though seriously if the class is called Intro to C, or whatever, it should be teaching C

graymalkin

There are plenty of free IDEs for use, the .Net express ones are nice (with dreamspark you should get the full version for free) but it still leaves the IT dept to auth and run the installs on potentially hundreds of PCs.

You're in a good place here for learning C, mind.  Because of hardware limitations you quickly learn how to maximise speed and minimise RAM and Flash usage.

liudr

Quote
Because of hardware limitations you quickly learn how to maximise speed and minimise RAM and Flash usage.

;D Good one!

graymalkin

Mm, perhaps not for blink, but when projects get very large you have no choice.

Go Up