Welcome! Log In Create A New Profile

Advanced

COS 311

Posted by Japster 
Announcements Last Post
Announcement SoC Curricula 09/30/2017 01:08PM
Announcement Demarcation or scoping of examinations and assessment 02/13/2017 07:59AM
Announcement School of Computing Short Learning Programmes 11/24/2014 08:37AM
Announcement Unisa contact information 07/28/2011 01:28PM
COS 311
November 11, 2008 05:04PM
I just want to know if you guys could tell me how much harder is COS311 than COS211. I have to decide how many modules to take next year. So I don't want to take COS311 and COS301 and then find I struggle to cope.
avatar Re: COS 311
November 11, 2008 05:22PM
it's this hard (from A to B )

A                                                 B
>-------------------------------------------------<
/|\                                             /|\
 |                                               |
 |                                               |
 |                                               |
Anonymous User
Re: COS 311
November 11, 2008 05:24PM
from what I recall there was absolutely sweet bugger all link between cos311 and cos211. back in those days when we still did c++ for cos211 and corba for cos311, cos311 was easier. but hey, it was an open book exam back in those days as well
avatar Re: COS 311
November 11, 2008 07:09PM
Cos311 isnt difficult (a lot less brainwork that 211), but it is a cr@pload of work. I actively tried to set up my dev environment for more than a month, trying various IDEs and versions of QT and combinations of environment variables. If you do decide to take it, my advice is to live with the lack of debugging and just do the standard setup!

Anyways. COS311 is an incredibly useful module for anyone doing OO development - it's well worth the investment in time. QT's framework also prepares you for working with MS's Web and Smart-Client software factories and I'm pretty sure that Sun has something similar out somewhere.
avatar Re: COS 311
November 11, 2008 07:43PM
I have to admit, cos311 was a breeze for me - at that point I'd already been using
gcc and make for about 10 years, so my "environment" was already set up to what I
considered to be perfection (rapid edit-compile-test cycle) using vi (gvim on windows).

Before I had registered for cos311, I had used Visual C, Watcom C++, Turbo C, C++ and
Pascal, Borland C-builder, the cosmic C compiler, a C compiler for motorola processors,
the default cc that came with sco's unix, sun's solaris and sgi's irix (this was certainly
a bitch!) and of course, the various linkers that went with them all. After using all of
those for work, my favourite method of development is still:

gcc + make + gvim + bash[1] + svn[2] + textutils + diff[3]

[1] Or any decent shell with ability to foreground/background tasks
[2] Or any decent source control
[3] Ordinarily part of textutils, but because it's so integral, I mention it
specifically.

So, when I did cos311 (corba), I was already more or less set up to start writing
code (compiled mico from scratch, as I was using slackware at the time).

I got a nasty shock, however, when I attempted to replicate that setup on Windows smile
So for 311 and 340 I did all development on slackware and only copied the files
over to my windows partition when I was done - ran 'make' once, and submitted the
resulting files smile

Most of the posts I encountered (wrt dev environment, anyway) were because students
could not find out how to do $FOO within the fancy IDE provided (bloodshed, wasn't it?).
The good thing about learning to use make, and other tools, is that your knowledge
is not made obsolete a mere 20 years later - it's still useful and it still beats the
pants off of the 'hand-holders', which you have to relearn all the time anyway.

The major difference between a GUI and command-line is simply that GUI's let you choose
what you want to do next from the options provided, while command-lines expect a
command. Non-expert users benefit greatly from a GUI, but expert users benefit more
from issuing commands. Non-expert users need to be presented with options, from which
they will pick one; expert users know what to type next.

Ideally, we should be trying to turn non-experts into experts; for example a GUI that
allows one to enter commands as well (say, shortcut keys as is popular with almost
all GUI software these days) - unfortunately issuing a command like <ctrl-x-ctrl-5f>
is actually harder to remember than simply <find-file>. The sequence
<click-file->edit->find/replace ... type-text-to-find ... type-replacement ... Click-ok>
is actually slower and more irksome than simply typing <esc-:%s/text-to-find/replacement/g>.

Especially as your fingers never leave home row (to work the rodent) the substitution
functionality in something like vi could take me maybe 4 seconds to complete, thereby
not derailing my train of thought. Having to move hands from home row and then click
all over, then type again, then click again, is a process that is bound to result in
me not even remembering why I wanted the substitution in the first place. Emacs
has similar quick functionality, not to save time, but to ensure that the editor does
not get in the way of the developer.

However, more and more often I run into developers who see no value in concentrating
purely on the problem to solve - they *like* cumbersome shortcut keys that differ from
package to package, or the clumsy <click-click-click-click-click-click-click-click->
method of coding. Doing something like <v%d> to move an entire block of code or, even
an entire function, does not occur to them - they complain that it makes no sense smile
They'd rather select it with a mouse and move it around that way - a much slower and
error-prone method (see fitts law).

I would very much like to see universities offering a short course in development, where
they can concentrate on showing students how to make the best of the tools instead of
expecting that 'something' will show up in the menus to click. I also volunteer
myself to teach this course smile
Anonymous User
Re: COS 311
November 12, 2008 08:41AM
@goose
I believe the cos311 syllabus has changed significantly since you did the subject
avatar Re: COS 311
November 12, 2008 08:48AM
It has, it is now QT(With a focus on "design patterns"winking smiley from what I have seen.
It does not look hard either though, and in general I can't see QT being harder then CORBA with its string_dup crap tongue sticking out smiley

--
"Knowledge has much better uses than self-pity and superiority"
avatar Re: COS 311
November 12, 2008 09:01AM
Setting up the QT environment is the most crappiest thing to do!
avatar Re: COS 311
November 12, 2008 09:05AM
COS 311 was really worth while. I've gained so much from it. It is not difficult, just a lot of work like all other 3rd level modules.
Anonymous User
Re: COS 311
November 12, 2008 09:08AM
yes, cos311 was my fav of all the modules. I finally got a chance to do some real programming. I like the way Qt makes c++ easier.

Kudos to malcolm for giving excellent advice and help with Qt thumbs up
avatar Re: COS 311
November 12, 2008 09:11AM
Must agree: QT definately has some nice "additional" functionalities. Hope to be in an environment one day where I can use the design patterns - where I'm now, they won't even know what I'm talking about.
avatar Re: COS 311
November 12, 2008 09:30AM
There is far too much hype about "design patterns" they are the new silver bullet that everyone seems to think are amazing.
In reality they are just exactly what everyone has been doing all along anyway.

Quote

Setting up the QT environment is the most crappiest thing to do!
On linux it is one command "emerge qt" - Replace emerge with the package manager of whatever distro you use(Assuming you already don't have it which is unlikely tongue sticking out smiley )

I must admit I have not developed in qt on windows yet, but I can't imagine it being much worse then following a set of simple instructions(In the worst case)

--
"Knowledge has much better uses than self-pity and superiority"
Anonymous User
Re: COS 311
November 12, 2008 09:32AM
I'd recommend a linux environment for all unisa dev work! Everything is integrated with heaps of online support.

I was blind, but now I see winking smiley
avatar Re: COS 311
November 12, 2008 09:42AM
Actually agree with Malcolm - I recognised some of the design patterns which myself or other people have applied to systems that I've worked on previously - without putting a "label" to it. Most of them are very logic and (creating chance anti-INF flame) can be linked to some of the stuff learnt in the INF subjects.
avatar Re: COS 311
November 12, 2008 10:14AM
I really never had a very difficult time when it came to setting up the QT environment on Windows. I also really enjoy using the QT framework since it hide away a lot of the difficult parts of C++.

As for the design patterns, they are pretty logical and have many practical uses imho.
avatar Re: COS 311
November 12, 2008 12:15PM
I only struggled because I tried to get decent debugging, IE get QT working with Eclipse and then with Visual Studio. Every time that I rebuild the libs, it would take approx 4 hrs upon which I could test and find faults and... rebuild... it really works beautifully with Visual Studio, the debugger is EXCELLENT and QIde cant compare. Unfortunately my external drive (with the virtual pc installation of VS with QT) crashed and I ended up just using the sucky QIDE.
Anonymous User
Re: COS 311
November 12, 2008 12:17PM
why on earth did one need a debugger for those teeny weeny programs?
Re: COS 311
November 12, 2008 12:20PM
I enjoyed COS311. The exam was easier than the assignments smile

QT was a bit of a pain to setup but once it was done it didn't give any problems down the line. Just get it setup ASAP and don't leave it till the last minute because it will take some time to get it working 100% ...
avatar Re: COS 311
November 12, 2008 01:00PM
Rick Wrote:
-------------------------------------------------------
> why on earth did one need a debugger for those
> teeny weeny programs?


After writing the first hello world I entered the debugging rabbit-hole by trying to inspect qstring (if i remember correctly) and got caught in setting up a proper debugger, really just a nice to have, not a need at all.
Which is why I recommend the default out-of-the-cd UNISA install smiling smiley
avatar Re: COS 311
November 12, 2008 01:25PM
malcolm Wrote:
-------------------------------------------------------
> There is far too much hype about "design patterns"
> they are the new silver bullet that everyone seems
> to think are amazing.
> In reality they are just exactly what everyone has
> been doing all along anyway.
>

I'd actually qualify that with "in actuality, it's mostly people working around
the deficiencies of their language".

>
>> Setting up the QT environment is the most
>> crappiest thing to do!
>
> On linux it is one command "emerge qt" - Replace
> emerge with the package manager of whatever distro
> you use(Assuming you already don't have it which
> is unlikely tongue sticking out smiley )
>

Probably qt-dev (you need the headers to compile against, and unstripped binaries to
debug).

> I must admit I have not developed in qt on windows
> yet, but I can't imagine it being much worse then
> following a set of simple instructions(In the
> worst case)

*Anything* on windows tends to be a pain if you do not use the most popular tool.
Homogenous computing FTW.
avatar Re: COS 311
November 12, 2008 01:26PM
goose

I understand your point about IDEs, but one thing is sure; for me they have made refactoring much easier. Once again, an IDE is just another tool, and it helps if you put some time in to learn Eclipse than to just dive in and click.

Especially with regards to C++ development Eclipse have improved. On Europa you still had to fiddle to get the compilations to work. With Ganymede it is just a download and away you go. I would like to see how Qt integration into Eclipse have improved. And also, I just switch workspaces to go to my Java projects and have the Java and JavaEE perspectives available.

Unfortunately I still have to do COS211 next year. How boring. I will use the spare time to get my Qt tools working in Eclipse in the meantime so that I am ready for COS311 the year after.
Anonymous User
Re: COS 311
November 12, 2008 01:38PM
311 is a race against time: The book by Ezust is amazing where he gets you coding to learn what's happening. And one is constantly referring to the excellent online documentation (QtAssistant) to learn the API.

I'm actually going to code the sax and dom examples this weekend (I kinda left them out this year) because I'm starting to get stuck into xml at work (java). I figure one weekend with Qt sax/dom should sort me out smiling smiley
Sorry, only registered users may post in this forum.

Click here to login