COMP 306 is a class about C++ and definitely required some previous experience programming in C, C# or some other object oriented language or variant of C. I finished the class a few months ago and have been very busy at work implemnting business intelligence and creating data quality checks and balanaces. (Only makes sense since I work for a knowledge based company!)
Thinking in C++, 2nd Edition by Bruce Eckel is the primary resource for the class. Thinking in C++ is a fantastic book, but I really feel that it suffers quite a bit by not including the answers to the questions in the book and requiring you to purchase a digital book if you want the answer key to the book. The handbook for the course is pretty well written and covered most of what I felt was important related to C++ and object oriented programming: the last few chapters of the book could have used some additional explanation though.
The exam is based off of the four individual assignments and is pretty fair: my only complaint regarding the exam is that sometimes programming on paper can be challenging. I did very well in the course, not really a surprise considering I programmed for about five years before taking the class. Over all, I can say I would take the class again and found that it wasn’t too difficult and that the marking was pretty fair and that Richard Huntrods was definitely very available and helpful in both email and the class forums.
I have been taking distance education classes through Athabasca University for the last year and am working on my Bachelor’s of Science. I chose Athabasca because I have a family, full time employment, and often moonlight as a software developer for smaller businesses. As you can imagine, I have a very tight restraint on my time and don’t have the time to attend classes during only the day and travel to another city.
I found a few of the courses so far to be really challenging, because I didn’t really dedicate enough time to the one course. Make sure that you really have the dedication, and make the time to work on the courses because they are real courses and will take a lot of time. I can say without a doubt that I averaged two to three hours of studying each day for one or two courses along with several more hours each work for lab work.
I found the student handbooks to be more than sufficient for my needs, along with a lot of the suggested readings and links on the internet. I did find a few invalid links on the library site, but those were quickly resolved when reported. The handbooks are very well written, some of the questions in a few of the courses could have been written better.
Staff appear to be very well educated, many that I have dealt with have a MSc or PhD and are generally very available. One tutor was fairly slow to respond to emails, so I made sure to instead use the toll free number and call him. If you can’t work out those situations and resolve things on your own, probably you shouldn’t be attending university in the 1st place, and certainly you should not be looking at distance education.
Athabasca University is expensive for distance education, books and most materials are generally included with each of the courses although the exam proctoring will cost you more additional money. The courses are reputable and transferable to pretty much any school in Canada if you decide to finish your degree elsewhere or use it for graduate studies.
I’ll be finishing my degree at AU in the near future and plan to pursue my graduate degree also from them.
Operating System Concepts, 7th Edition is written by Abraham Silberschatz, Peter Baer Galvin, Greg Gagne isn’t a book about how to use a computer or how to use a particular operating system. Operating System Concepts is a book about the basic low level and some high level concepts of how the different operating systems actually work, some of the major problems faced, and some of the different solutions used by operating system programmers. The intended audience is senior undergraduate students. Readers of the edition I used are expected to understand C programming and have a very good understanding of techniques, hardware, and different technologies. Conveniently, I was required to read the book for COMP314 at Athabasca University.
The book isn’t always an easy read, often it felt dry and sometimes very slow moving, and I can admit there were many times I had to read and reread sections because I didn’t quite understand the concept being discussed. I’ve found a few errors in some of the diagrams, sample pseudo code, and a have of the example programs. Many of the practice problems are very good although I did find it very frustrating that the solutions are not in the back of the book and must be given by the professor/teacher edition of the book.
Overall, using just this book and some course notes from Athabasca I felt that I really learned a lot about the underlying operating systems that I use day to day and can appreciate even more why sometimes things aren’t always as smooth as I liked. I was a little disappointed that virtual machines and virtualization weren’t covered more in the book.