Subj : Taking a community college CIS/C++ course
To   : Digital Man
From : Nightfox
Date : Tue Jan 16 2024 05:53 pm

 Re: Taking a community college CIS/C++ course
 By: Digital Man to All on Tue Jan 16 2024 04:51 pm

DM> 1. The recommended (not required) book is pretty outdated and, in my
DM> opinion, bad compared to all other C++ programming books I've owned
DM> (explains concepts in an odd order, gets things wrong). And it's *way*
DM> overpriced.
DM> https://www.amazon.com/crappy_book/dp/013454484 so I'm just using a
DM> pirated PDF copy of it. Bleh.

C++ was taught in the software engineering program I did in college (which I started into in 2001).  I had taken a couple of C++ classes from the CS department prior to the software engineering program, so I had a bit of a foundation already, and I still learned quite a bit.  Sometimes I wondered why they chose the books they chose. I remember the initial book for the C++ classes seeming a bit complicated, at least compared to the book used by the CS teachers.

DM> 2. The online labs/course work (in something called "Canvas") is
DM> hodge-podge, contradictory and just kind of a mess of video "labs" (more
DM> demos, with very low audio levels), bad copy/pasted UNICODE-translated
DM> (so, not compilable) source code

Interesting..  Canvas sort of rings a bell, though I'm not sure if I've used it.  My instructors in college just had us do our work in Visual Studio.

DM> 3. This professor seems to have internalized some incorrect idioms they
DM> repeat over and over (e.g. you #include a libarary in C++, "cout" stands
DM> for "console output", confuses declarations and definitions, etc.), has no
DM> concept of UNICODE, never bothers to explain *why* the preprocessor and
DM> C++ language are they way they are, depends on the IDE's editor to detect
DM> errors/warnings in the code (rather than the compiler), has no concept of
DM> the command-line, command-line options (e.g. for the builds tools), how to
DM> use Windows effectively (forget about MacOS, Linux, or ChromeOS). It's
DM> pretty frustrating watching/listening to them write code and explain
DM> concepts.

That definitely can be frustrating..
One time in college (before I took any CS or software engineering classes), I was thinking of going into CIS (Computer Information Systems) and was taking one of the required classes (around 2000), and one day the instructor said any animations on a web page are typically done with Java.  I remember him talking about it fairly generically, and I had a thought that a lot of the animations I saw on web pages at the time were just animated .gif images.

In one of my C++ classes for the software engineering program, for cin and cout, one of the students in the class would often read those as "carry in" and "carry out"..

DM> More than once, I've thought "aha! that's where these candidates that
DM> don't do well in our interview process got that wrong-concept from!".
DM> There's some fundamental stuff that's just not being taught correclty in
DM> some schools apparently.

One time in my career, I was surprised to learn of something I didn't know, which apparently was not mentioned in my classes in college: That it's unsafe to do GUI-related things from anything other than the main thread.  Either that wasn't mentioned in any of my classes, or somehow I missed it.  I did have a couple of classes in college pertaining to making a GUI (one in MFC with C++, and another with WinForms using C#).

Also, I had a software engineer job interview once with a company that asked me to provide a code sample.  I did (it was something I had written in C++).  They were asking me some questions about it, and mentioned something about some of the logic in one of the functions possibly being refactored, and they had mentioned some obscure math theorem that I had never heard of..

Nightfox

---
� Synchronet � Digital Distortion: digitaldistortionbbs.com